2009-07-01 11 views
8

Me gustaría saber si hay algún estándar de codificación xml.¿Existen estándares de codificación para archivos XML?

<?xml version="1.0"?> 
<overlay id="tutorboy-toolbar-Overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
    <toolbox id="navigator-toolbox"> 
     <toolbar id="tutorboy-toolbar-Toolbar" 
        toolbarname="TutorBoy Toolbar" 
        accesskey="T" 
        class="chromeclass-toolbar" 
        context="toolbar-context-menu" 
        hidden="false" 
        persist="hidden"> 
       <toolbarbutton label="TutorBoy" 
           id="tutorboy-toolbar-button-home" 
           accesskey="d" 
           image="chrome://tutorboy-toolbar/skin/logo.png" 
           oncommand="loadURL('http://tutorboy.com');" 
           tooltiptext="Click here to go to the Tutorboy.com homepage." /> 

¿esta forma de arreglo está permitida?

+0

¿Está interesado en "standerds" o "standers"? –

+0

Pregunta vaga, por favor, elabore. – VolkerK

+1

xml no es un lenguaje de programación;) –

Respuesta

13

El W3C define una recomendación de especificación XML: http://www.w3.org/TR/REC-xml/

Puesto que haya reducido su pregunta a formato XML, no hay una respuesta "universal" de cómo el código XML debe tener el formato. Más allá de ajustarse a cualquier DTD o esquema con el que se encuentre, la importancia del espaciado/indentación particular de sus etiquetas recae en las personas que tratarán con sus datos.

Si está creando datos XML para enviar a través de una red como parte de un servicio web o algo así, entonces generalmente querrá eliminar cualquier espacio en blanco innecesario antes de la transferencia para optimizar su velocidad de transferencia de datos . Esto significa que no hay saltos de línea, ni sangrado, ni comentarios.

Si está creando un documento XML que otros leerán/modificarán de forma regular, entonces, obviamente, querrá considerar el hecho de que el documento sea legible. Lo que constituye "legible" lo determinan todos los involucrados en ese equipo o proyecto en particular.

+1

Precisamente. El espacio en blanco debe ser completamente sin sentido para la semántica, y su presencia o ausencia es una cuestión de gusto. Y dado que XML está principalmente * no * destinado a la legibilidad humana, el formateo no es una preocupación particular. – GalacticCowboy

+2

@Jeff L Estoy seguro de que, cuando se concibió por primera vez, no se esperaba que XML fuera consumido por humanos. Pero soy un programador por contrato para .Net/WPF y Android. En ambos entornos estoy hasta los codos todos los días en XML profundo porque ese es su lenguaje de formato de interfaz de usuario. Microsoft tiene una herramienta llamada Expression Blend para permitir el diseño WYSIWYG de XAML, pero es una herramienta muy costosa, así que nunca la he visto en uso en ninguna tienda en la que haya trabajado. El propio diseñador visual de Visual Studio requiere un ajuste exhaustivo del XAML resultante. Android/Eclipse requiere una codificación manual. – user316117

+1

@GalacticCowboy "Los documentos XML deben ser legibles por los humanos y razonablemente claros". desde http://www.w3.org/TR/REC-xml/#sec-origin-goals - punto 6. –

2

http://en.wikipedia.org/wiki/XML

busque en "buena formación"

no hay muchas normas, ya que está destinado a ser muy flexible.

+0

Específicamente, el XML publicado no está bien formado. Los que le interesarán son: solo puede haber un elemento de raíz y cada etiqueta que no se cierra automáticamente (no termina con />) debe tener una etiqueta de cierre. – GalacticCowboy

4

Bueno, sugeriría mirar

http://www.xfront.com/BestPracticesHomepage.html o los resultados de cualquier búsqueda en Google bajo las mejores prácticas XML.

Diría que los estándares incluyen el enlace a un archivo XSD, los caracteres de escape adecuados; etc, etc

3

Hay un formato de referencia, XML Canonical, que se implementa en herramientas como xmllint (opción --c14n). Por lo tanto, estas herramientas pueden usarse como lindas impresoras.

Pero, por supuesto, no está obligado a usarlo. Como cualquier regla de formato, es una cuestión de gusto. Solo sé consistente.

+0

En realidad, este es un tipo de estándar de formateo. En mi humilde opinión esto responde la pregunta. – Boldewyn

+1

Sin embargo, esto no estandarizará la sangría. xml-c14n es independiente del esquema y, por lo tanto, conserva la mayoría de los espacios en blanco (como la sangría) al convertir un documento a su forma canónica. Sin conocer el esquema, no es posible saber qué espacios en blanco son semánticamente importantes. Lo que parece un espacio en blanco de sangría podría ser un contenido semánticamente importante en los elementos [contenido mixto] (http://www.w3.org/TR/REC-xml/#sec-mixed-content). –

0

Sugiero que eche un vistazo a XMLPatterns. No encontrará sugerencias de "estilo de codificación", pero encontrará patrones de diseño interesantes (a la GangOfFour) para la estructura de documentos XML.

Para "estilo de codificación", verificaría ejemplos e intentaría imitarlos. En caso de duda, pruebe diferentes estrategias y encuentre la que sea clara y atractiva. Mi opinión sobre tu ejemplo es positiva. Sin embargo, los nombres de etiqueta/atributo pueden ser un problema: minúsculas sin espaciado, minúsculas con guiones bajos espaciados, estuche de camello, mayúsculas con camello.

1

como regla general: Ponga los datos en elementos separados y metadatos en los atributos.

Cuestiones relacionadas