2009-07-28 13 views
25

Czy można wstawiać komentarze przed deklaracją XML w pliku XML?OK, aby umieścić komentarze przed deklaracją XML?

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

Kiedy próbowałeś, co się stało? –

+1

Hej! Nie wzywaj mnie w moim złym nawyku zadawania pytań i eksperymentowania później ...^_^ –

+4

Eksperymentowanie pozwoliłoby ci tylko powiedzieć "dobrze, działa na * moim * komputerze", co nie jest pomocne. Niektóre procesory XML mogą na to pozwolić, inne nie. Jeśli jednak zastosujesz specyfikację, istnieje większa szansa, że ​​wszystkie procesory XML (obecne i przyszłe) będą w stanie przetworzyć twoje pliki. –

Odpowiedz

41

Nie, to nie jest w porządku.

Appendix F of the XML spec mówi:

Ponieważ każda jednostka XML nie towarzyszy zewnętrznego kodowania informacji, a nie w UTF-8 lub UTF-16 Kodowanie musi zaczynać się od deklaracji kodowania XML , w którym pierwsze znaki muszą być "<? xml", każdy zgodny procesor może wykryć, po , od dwóch do czterech oktetów sygnału wejściowego, które z mają zastosowanie w następujących przypadkach.

Ah, ale, sekcja F jest nienormatywna, mówisz.

No section 2.1 daje produkcję dla dobrze uformowane dokumentu XML, a więc:

[1]  document  ::=  prolog element Misc* 

... iw section 2.8 mamy produkcję dla "Prologu":

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

Tak , możesz pominąć deklarację? xml , ale nie można jej poprzedzać niczym.

(Nawiasem mówiąc, "Misc" to kategoria, do której należą komentarze).

+1

+ 1 dla najbardziej dokładnej i oficjalnej odpowiedzi. – rmeador

+1

Piękna odpowiedź, świetne badania dokładnie to, czego potrzebowałem. +1. – Josh

8

zgodnie z this page, jest to nielegalne.

+10

Czy możesz zostać aresztowany? –

+10

Zostałem pobity i umieszczona w celi w Singapurze! – Chap

5

Deklaracja XML określa kodowanie dokumentu, które jest równie ważne dla komentarzy, jak dla strukturalnego XML. Dlatego deklaracja powinna iść w pierwszej kolejności. Nie zdziwiłbym się, gdyby wielu czytelników XML mogło sobie z tym poradzić, ale to zły pomysł.

+1

cóż, zgadzam się z tobą. w rzeczywistości parser musi mieć pomysł na odczytanie dokumentu, ponieważ nie będzie on w stanie odczytać kodowania. w związku z tym tylko umieszczanie wielobajtowych znaków w tym komentarzu powinno być zabronione ... – Atmocreations

1

Nie, to nie jest zgodne ze standardami XML, ale komentarze są dobre.

Powiązane problemy