Pregunta

¿Hay alguna formales recomendaciones sobre la carcasa elemento en XML?

Sé XHTML utiliza nombres de los elementos en minúsculas (a diferencia de HTML, que canónicamente utiliza mayúsculas, pero es sensible a las mayúsculas.)

Pero estoy hablando de XML para el contenido genérico.

minúsculas:

<customer> 
   <accountnumber>619</accountnumber>
   <name>Shelby Lake</name>
</customer>

camelCase:

<customer> 
   <accountNumber>619</accountNumber>
   <name>Shelby Lake</name>
</customer>

PascalCase:

<Customer> 
   <AccountNumber>619</AccountNumber>
   <Name>Shelby Lake</Name>
</Customer>

MAYÚSCULAS:

<CUSTOMER> 
   <ACCOUNTNUMBER>619</ACCOUNTNUMBER>
   <NAME>Shelby Lake</NAME>
</CUSTOMER>

Nota: Busco directrices citadas en vez de opiniones. Pero la opinión con la información más votos se puede considerar una guía.

¿Fue útil?

Solución

La mayoría de las normas XML procedentes de la W3C tienden a usar minúsculas con guiones.

Hay una distinción filosófica entre ver XML como formato para documentos de plataforma neutral, que los estándares del W3C tratan de estimular y lenguajes como XAML que ven como una serialización XML de un gráfico de objeto específico de la plataforma.

Si usted no está utilizando XML como un formato de documento independiente de la plataforma, sino como una serialización específico de la aplicación, a continuación, que también podría ahorrar un poco de molestia y tienen una correspondencia 1: 1 entre los nombres XML y los nombres específicos de la plataforma. Pero casi cualquier otro formato gráfico de objetos es mejor que el XML para ese propósito.

Si es así, entonces es posible que desee encajar con XHTML, XSLT, SVG, XProc, RelaxNG y el resto.

Otros consejos

No es que importe, pero siempre he sido parcial a PascalCase para elementos y atributos para camelCase:

<Root>
  <ParentElement attributeId="1">
    <ChildElement attributeName="foo" />
  </ParentElement>
</Root>

No hay ninguna recomendación formal.

Como XML fue diseñado con el doble propósito de en posesión de documentos y el intercambio de información entre sistemas dispares , que fue diseñado con el fin de ser capaz de partido las aplicaciones de usarlo.

Así .Net XML tiende a utilizar ProperCasing (testigo XAML), mientras que otra XML utilizará camelCasing, python_conventions, dot.naming, e incluso COBOL-convenciones. El W3C parece como minúscula-con-guiones-bastante-a-bit (por ejemplo XSLT) o justlowercasewordssmashedtogether (por ejemplo MathML).

Me gusta todo en minúsculas y no hay guiones bajos, puesto que significa un menor uso de la tecla [Shift], y mis dedos son un poco perezoso. :)

Para añadir a la respuesta de Metro Pitufo.

El Modelo Nacional de Intercambio de Información: dice (NIEM http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) de usar:

  • Alta CamelCase (PascalCase) para los elementos.
  • (inferior) camelCase para los atributos.

El NIEM lo convierte en una buena opción cuando usted está mirando para cumplir con alguna norma.

Vea la rel="nofollow de nombres XML / CEFACT Diseño y normas Técnicas Specification Version 3.0 la página 23 para algunas reglas de ejemplo utilizados en varias normas.

Específicos (de la página 23 de la versión 3.0 de fecha 17 de diciembre de 2009):

  • LowerCamelCase (LCC) DEBE ser utilizado para nombrar atributos.
  • UpperCamelCase (UCC) DEBE ser utilizado para los elementos y tipos de nomenclatura.
  • nombres
  • elementos, atributos y tipo debe ser en forma singular a menos que el concepto en sí es plural.

( otro enlace, sitio sueco )

Para ampliar mi comentario anterior : el uso de 'minúsculas con guiones' tiene algunos problemas en XSLT. Específicamente, es fácil confundir a un nodo llamado, por ejemplo, 'años-de-edad' con una fórmula 'años - edad'. (Por ejemplo restar edad de años)

Como @KarlKieninger señala, esto es sólo un problema a nivel humano y no para el analizador XSLT. Sin embargo, ya que esto a menudo no produce un error , el uso de 'minúsculas con guiones' como estándar es buscar problemas, en mi humilde opinión.

Algunos ejemplos pertinentes:

<a>1</a><b>1</b>
<xsl:value-of select="a+b"/>
outputs 2, as expected

<a>1</a><b>1</b>
<xsl:value-of select="a-b"/>
DOES NOT ERROR, BUT OUTPUTS NOTHING AT ALL

En el código anterior, se debe poner al menos un espacio antes de que un operador de resta, pero no hay tal requisito para un operador de suma.

<a-b>1</a-b><c>1</c>
<xsl:value-of select="a-b -c"/>
outputs 0, as expected

Sin embargo, tenga en cuenta lo confuso de lo anterior es leer!

<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a-b"/>
outputs 3

<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a -b"/>
outputs -1

La presencia de un único espacio cambia la salida anterior, pero tampoco variante es un error.

de Google recomienda guía de estilo (tal vez incluso mandatos) camelCase para todos los nombres de los elementos, como así como los nombres de atributos.

La intención original para la cubierta XML fue minúsculas con guiones. Es sensible a mayúsculas y no requiere que usted sigue la convención de que - para que pueda hacer lo que quiera. No tengo citas, lo siento.

No diría HTML "canónicamente" utiliza mayúsculas. Creo que originalmente se utilizó para mayúsculas HTML visual independiente del contenido más fácilmente. Con resaltado de sintaxis hoy en día, eso no es necesario.

Me virar hacia minúsculas, con guiones si es necesario (para escribir más rápido, también). Mezcla caso en XML sólo se siente mal a mí.

Camel caso mi voto.

En cuanto a los ejemplos citados quizá esta pregunta puede venir el enlace de la gente cita.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top