Welche PHP-Version hast Du? Ich habe:
PHP 5.2.6RC1-pl1-gentoo with Suhosin-Patch 0.9.6.2 (cli) (built: Mar 22 2008 17:21:59)
Außerdem verwendet mein PHP (siehe phpinfo) die libxml-Version 2.6.30.
Danke für Deine Antwort. Wird dann wahrscheinlich an der Version liegen. Ich tümple noch mit 5.0.irgendwas rum. Ob ich ein Update durchführen kann, weiß ich noch nicht. Daher wären mir weitere Tipps lieb!
Z.B. funzt es bei mir auch, wenn ich für $xml folgendes verwende:
------------------------------------------
$xml = new DOMDocument('1.0', 'UTF-8');
$xml->preserveWhiteSpace = false;
$xml->loadXML('
<!DOCTYPE xml [
<!ELEMENT xml (locale)*>
<!ELEMENT locale (str)*>
<!ATTLIST str
id ID #IMPLIED>
]>
<xml></xml>
');
------------------------------------------
Dann allerdings, darf das ID-Attribut nur id="" lauten und nicht xml:id="".
Warum noch weitere Tipps?
Wenn ich nun noch eine Datei (selber Aufbau) hinzufüge, mit ...
------------------------------------------
$xml->documentElement->appendChild(
$xml->importNode($lf2->documentElement->firstChild, true));
------------------------------------------
... dann klappt's wieder nicht :(
In dem Fall sieht die XML-Datei folgend aus:
------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE xml [
<!ELEMENT xml (locale)*>
<!ELEMENT locale (str)*>
<!ATTLIST str id ID #IMPLIED>
]>
<xml>
<locale lang="de">
<str id="myID1">aaa</str>
<str id="myID2">bbb</str>
</locale>
<locale lang="de">
<str id="myID3">ccc</str>
<str id="myID4">ddd</str>
</locale>
</xml>
------------------------------------------
lg lixx