<!-- here is some comment --
^
|
what can be here apart from '>'?
XML scheint '-' in Kommentaren nicht zu mögen. Ich habe irgendwo gelesen, dass '-' einige Modi innerhalb der <! ... >
Sache umschaltet , aber <!-- -- -- -->
(gerade Anzahl von --
s) scheinen auch ungültig zu sein. Wenn es sich um ein historisches Merkmal handelt, was ist "pro" Teil davon? ("Contra" Teil ist Unfähigkeit, --
in Kommentaren zu haben ).
Was ist der Grund für die Komplikation der Kommentarverarbeitung, indem nicht nur '->' das Ende des Kommentars festgelegt und '-' im Inneren zugelassen wird?
Vielleicht kann es für jemanden hilfreich sein. Ich hatte ein Problem, dass ich einen Befehlszeilenparameter in XML auskommentieren wollte, der mit - beginnt:
<arg line="-v --line-break 0" />
so natürlich normal so
<!-- <arg line="-v --line-break 0" /> -->
hat nicht funktioniert, aber ich habe herausgefunden, dass wenn das
-
durch das UTF-8-Äquivalent ersetzt wird-
oder-
es funktioniert und in Kommentaren toleriert werden kann.Also in meinem Fall die Saite
<arg line="-v --line-break 0" />
wird korrekt analysiert und kann Teil von Kommentaren sein.
Natürlich sieht es ein bisschen hässlich aus, aber wenn jemand einen String behalten möchte - als Kommentar in seinem XML - denke ich, dass es immer noch besser als nichts ist.
quelle
-
die die ASCII-Escape-Version ist und etwas kürzer als die Unicode-Version ist.Es ist eine dieser dummen Regeln in XML, weil es in SGML war und die Leute die Kompatibilität nicht brechen wollten. Warum es in SGML ist, ist unklar: Wahrscheinlich, weil es drei Codezeilen im ursprünglichen Parser gespeichert hat.
quelle
--
ist aus Kompatibilitätsgründen mit SGML nicht zulässig. Von On SGML und HTML :Also in SGML
<!
und>
öffnen und schließen Sie "Markup-Deklarationen" und öffnen und schließen Sie--
Kommentare.quelle
Dieses Problem betrifft früher oder später alle, die Kommentare in XML verwenden möchten, um den nicht benötigten Inhalt zu deaktivieren. Ich hatte mehrere Tage lang große Probleme mit Spring-Kontextkonfigurationen, die nicht geladen werden konnten, ohne eine detaillierte Erklärung dafür zu haben. Das Problem war die Gewohnheit, Inhaltsblöcke wie diesen zu kommentieren:
auskommentiert muss es geändert werden:
<!-- <value>ABC1</value> !-- <value>ABC2</value> -- <value>ABC3</value> -->
Die Bindestriche im auskommentierten Block haben das Parsen der gesamten Datei durcheinander gebracht, unabhängig davon, wo sie sich befinden, anstatt ignoriert zu werden.
quelle