"--" in Kommentaren
Meise2000
- xml
Hallo Leute,
habe eine XML Datei, die sich auch einwandfrei validieren lässt.
Das Problem, wenn ich ein Item auskommentiere, dann stürzt der Parser ab, weil innerhalb des Kommentars (also im auskommentieren Item) die Zeichenkette "--" steht. Ist das denn verboten? Ich mein, der Inhalt des Items ist #PCDATA.
Hier mal der Quellcode mit DummyInhalt:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE anzeigen SYSTEM "anzeigen.dtd">
<anzeigen xmlns="http://www.irgendwas.de/" name="wohnen">
<part name="Angebote">
<eintrag nr="4" date="26.06.2001">
<headline>Hausmeisterwohnung in Remscheid</headline>
<text>Zum 1. Oktober 2001... -- und noch was</text>
</eintrag>
<eintrag nr="3" date="11.06.2001">
<headline>Ein Einfamilienhaus günstig zu vermieten</headline>
<text>Eine echte Herausforderung ...</text>
</eintrag>
</part>
<part name="Gesuche">
<eintrag nr="2" date="10.05.2001">
<headline>Einfamilienhaus in Bern gesucht</headline>
<text>Ich suche ...</text>
</eintrag>
<eintrag nr="1" date="30.04.2001">
<headline>Suche günstige 1-2 Zimmerwohnung in Köln</headline>
<text>blablabla</text>
</eintrag>
</part>
</anzeigen>
Für die Administration über ein CGI-Tool mache ich es aus sicherheitstechnischen Gründen so, dass gelöschte Kommentare aus der XML-Datei auskommentiert werden. Wenn ich nun die Anzeige nr. 4 lösche (also auskommentiere), haut mir der Parser die Datei um die Ohren.
Wer weiss warum?
Meise
Aloha!
habe eine XML Datei, die sich auch einwandfrei validieren lässt.
Das Problem, wenn ich ein Item auskommentiere, dann stürzt der Parser ab, weil innerhalb des Kommentars (also im auskommentieren Item) die Zeichenkette "--" steht. Ist das denn verboten? Ich mein, der Inhalt des Items ist #PCDATA.
Ja, ist verboten. Innerhalb eines Kommentars kennzeichnet "--" und nicht "-->" das Ende des Kommentars.
Genauer gesagt ist "--" das Anfangs- und Endekennzeichen eines Kommentars. Wenn du solch einen Kommentar hast:
<!-- ---- -->, dann wird der Kommentarmodus <!ein ausein aus> geschaltet.
Du musst also anscheinend eine bessere Lösung finden - beispielsweise doppelte Minuszeichen maskieren.
- Sven Rautenberg
Moin,
Aloha!
Ja, ist verboten. Innerhalb eines Kommentars kennzeichnet "--" und nicht "-->" das Ende des Kommentars.
Genauer gesagt ist "--" das Anfangs- und Endekennzeichen eines Kommentars. Wenn du solch einen Kommentar hast:
<!-- ---- -->, dann wird der Kommentarmodus <!ein ausein aus> geschaltet.
Du musst also anscheinend eine bessere Lösung finden - beispielsweise doppelte Minuszeichen maskieren.
ja, das muss ich dann wohl :-(
- Sven Rautenberg
Meise
habe eine XML Datei, die sich auch einwandfrei validieren lässt.
Das Problem, wenn ich ein Item auskommentiere, dann stürzt der Parser ab, weil innerhalb des Kommentars (also im auskommentieren Item) die Zeichenkette "--" steht. Ist das denn verboten? Ich mein, der Inhalt des Items ist #PCDATA.
Ja, ist verboten. Innerhalb eines Kommentars kennzeichnet "--" und nicht "-->" das Ende des Kommentars.
Genauer gesagt ist "--" das Anfangs- und Endekennzeichen eines Kommentars. Wenn du solch einen Kommentar hast:
<!-- ---- -->, dann wird der Kommentarmodus <!ein ausein aus> geschaltet.
Das ist falsch, das war in SGML so, in XML ist <!-- Anfang und --> Ende eines Kommentars, um dabei kompatibel zu SGML zu bleiben, wurde -- innerhalb eines Kommentars verboten.