2009-07-28 4 views
25

Ist es OK, Kommentare vor der XML-Deklaration in eine XML-Datei zu schreiben?OK, um Kommentare vor der XML-Deklaration zu setzen?

<!-- 
Is this bad to do? 
--> 
<?xml version="1.0" encoding="utf-8"?> 
<someElement /> 
+2

Wenn Sie es versucht haben, was ist passiert? –

+1

Hey! Rufen Sie mich nicht wegen meiner schlechten Angewohnheit an, erst zu fragen und später zu experimentieren ...^_^ –

+4

Das Experiment würde Ihnen nur erlauben zu sagen: "Nun, es funktioniert auf * meinem * Computer", was nicht sehr hilfreich ist. Einige XML-Prozessoren können dies zulassen, andere nicht. Wenn Sie jedoch der Spezifikation folgen, besteht eine größere Chance, dass ALLE XML-Prozessoren (gegenwärtig und zukünftig) in der Lage sind, Ihre Dateien zu verarbeiten. –

Antwort

41

Nein, es ist nicht OK.

Appendix F of the XML spec sagt:

Da jeder XML-Entity nicht durch externe Codierung Informationen begleitet und nicht in UTF-8 oder UTF-16 Codierung mit einer XML- Codierungsdeklaration beginnen muß, in denen die Die ersten Zeichen müssen "<? xml" sein, jeder konforme Prozessor kann nach zwei bis vier Oktetts der Eingabe erkennen, welche der folgenden Fälle zutreffen.

Ah, aber, Abschnitt F ist nicht normativ, sagst du.

Nun, gibt section 2.1 die Produktion für ein wohlgeformtes XML-Dokument, also:

[1]  document  ::=  prolog element Misc* 

... und in section 2.8 wir die Produktion für "Prolog" erhalten:

[22] prolog  ::=  XMLDecl? Misc* (doctypedecl Misc*)? 
[23] XMLDecl ::=  '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' 

So Sie können die <? XML-Deklaration auslassen, aber Sie können es mit nichts voranstellen.

(Übrigens, "Misc" ist die Kategorie, in die Kommentare fallen).

+1

+ 1 für die gründliche und offizielle Antwort – rmeador

+1

Schöne Antwort, große Forschung genau das, was ich brauchte. +1. – Josh

8

nach this page ist dies illegal.

+10

Können Sie verhaftet werden? –

+10

Ich wurde dafür geschlagen und in eine Gefängniszelle von Singapur gesteckt! – Chap

5

Die XML-Deklaration gibt die Dokumentcodierung an, die für Kommentare genauso wichtig ist wie für strukturelles XML. Daher sollte die Erklärung zuerst gehen. Ich wäre nicht überrascht, wenn viele XML-Leser damit umgehen könnten, aber es ist eine schlechte Idee.

+1

gut, ich stimme dir zu. in der Tat muss der Parser eine Idee haben, wie er das Dokument liest, da er die Kodierung auch nicht lesen könnte. Daher sollten nur Multi-Byte-Zeichen in diesen Kommentar eingefügt werden. – Atmocreations

1

Nein, dies entspricht nicht den XML-Standards, aber Kommentare sind gut.

Verwandte Themen