Hallo,
Verwechsel bitte XHTML im Browser nicht mit XML.
Wo liegt denn da der Unterschied? Beide können einen Syntax-Error liefern.
Das schon. Nur dass die Browser bei XHTML sich doch anders verhalten als bei XML.
Du meinst, weil aktuelle Firefoxes XML-Dateien erst komplett laden müssen, bevor sie sie anzeigen? Sonst kann ich jedenfalls keine nennenswerten Unterschiede erkennen. Selbst der Mime-Type kann der Selbe sein.
wenn du die Dateien entsprechen vom Server auslieferst
Klar. XHTML muss man schon mit einem XML-Mime-Type ausliefern, was ich ja auch gemacht habe.
Darber hinausst ist das nicht nur ungültiges XHTML
Warum?
Hast du die Seite validiert? Die Fehlermeldung ist eindeutig.
<http://validator.de.selfhtml.org/validate/?uri=http://danielrichter.drition.net/ST/Site-Tes
ter.php?Site=XML_und_CDATA>
OK, ich habe den Fehler jetzt behoben. Es lag schlichtweg daran, dass der <body> in XHTML-Strict nur Blockelemente enthalten darf.
[…] auch noch inkorrektes XML.
Nö, das würde er mit einem Parse-Error quittieren.
Würde er nicht. *
Doch! Sonst hat er den Namen „XML-Fehler“ nicht verdient.
»CDATA sections begin with the string "<![CDATA[" and end with the string "]]>"«
Ja - und das habe ich auch beachtet.
Wie gesagt: wenn das Leerzeichen zwischen ]] und > beabsichtigt war: OK.
Das habe ich ja auch so angedeutet.
Ansonsten *): das erste ]]> beedent das CDATA, das was danach kommt ist für den Parser nur "Text" und in diesem ist > durchaus ohne Maskierung erlaubt. **
Wobei gute Parser das zweite ]]> durchaus anmekern!
<?xml version="1.0" encoding="UTF-8"?>
<root>
<knotenmitchilds>
<child1>new1</child1>
</knotenmitchilds>
<![CDATA[<knotenmitchilds>
<child1>new1</child1>
<child2>new2</child2>
<child3>new3</child3>
<child4>new4</child4>
</knotenmitchilds>text text text
]]>
<knotenmitchilds>
<child1>new1</child1>
<child2>new2</child2>
</knotenmitchilds>
text text text
]]>
</root>Meldung:
SystemID: D:\test\Unbenannt1.xml
Position: 22:2
Beschreibung: The character sequence "]]>" must not appear in content unless used to mark the end of a CDATA section.
Die Seite verursacht auch einen Parse-Error in meinem Firefox.
Wogegen ein:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<knotenmitchilds>
<child1>new1</child1>
</knotenmitchilds>
<![CDATA[<knotenmitchilds>
<child1>new1</child1>
<child2>new2</child2>
<child3>new3</child3>
<child4>new4</child4>
</knotenmitchilds>text text text
]]>
<knotenmitchilds>
<child1>new1</child1>
<child2>new2</child2>
</knotenmitchilds>
text text text
]]>
</root>Korrekt und wohlgeformt ist.
Dafür sieht man bei der Clientseitigen Verarbeitung aber auch die Zeichenfolge „]]>“ in der Ausgabe, was nicht gewünscht ist.
mfg. Daniel