2009-07-28 17 views
25

¿Está bien poner comentarios antes de la declaración XML en un archivo XML?¿Está bien para poner comentarios antes de la declaración XML?

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

Cuando lo probaste, ¿qué pasó? –

+1

¡Oye! No me desanime por mi mala costumbre de preguntar primero y experimentar más tarde ...^_^ –

+4

Experimentar solo le permitirá decir "bueno, funciona en * mi * computadora", lo cual no es tan útil. Algunos procesadores XML pueden permitirlo, otros no. Pero si sigue las especificaciones, entonces hay una mayor posibilidad de que TODOS los procesadores XML (presentes y futuros) puedan procesar sus archivos. –

Respuesta

41

No, no está bien.

Appendix F of the XML spec dice:

Debido a que cada entidad XML no acompañada de información externa codificación y no en UTF-8 o UTF-16 codificación debe comenzar con un XML declaración de codificación, en la que el los primeros caracteres deben ser '<? xml', cualquier procesador conforme puede detectar, después de dos a cuatro octetos de entrada, que de se aplican los siguientes casos.

Ah, pero, la sección F no es normativa, usted dice.

Bueno, section 2.1 da la producción de un documento XML bien formado, por lo tanto:

[1]  document  ::=  prolog element Misc* 

... y en section 2.8 obtenemos la producción de "prólogo":

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

Así , puede omitir la declaración <? xml, pero no puede prefijar nada.

(Por cierto, "Misc" es la categoría a la que pertenecen los comentarios).

+1

+ 1 para la respuesta más completa y oficial – rmeador

+1

Hermosa respuesta, gran investigación exactamente lo que necesitaba. +1. – Josh

8

según this page, esto es ilegal.

+10

¿Puedes ser arrestado? –

+10

¡Me golpearon y me metieron en una celda de la cárcel de Singapur por esto! – Chap

5

La declaración XML especifica la codificación del documento, que es tan importante para los comentarios como para el XML estructural. Por lo tanto, la declaración debe ir primero. No me sorprendería que muchos lectores de XML pudieran lidiar con esto, pero es una mala idea.

+1

bueno, estoy de acuerdo contigo. de hecho, el analizador debe tener una idea de cómo leer el documento, ya que tampoco podría leer la codificación. por lo tanto, solo se deben prohibir los caracteres multibyte en este comentario ... – Atmocreations

1

No, esto no cumple con los estándares XML, pero los comentarios son buenos.

Cuestiones relacionadas