Un documento XML contiene elementos XML.
¿Qué es un elemento XML?
Un elemento XML es todo, desde (including) inicio la etiqueta del elemento a (including) etiqueta final del elemento.
<price>29.99</price>
Un elemento puede contener:
- texto
- atributos
- otros elementos
- o una mezcla de los anteriores
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
En el ejemplo anterior:
<title>, <author>, <year> y <price> tener text content , ya que contienen texto (like 29.99) .
<bookstore> y <book> tienen element contents , ya que contienen elementos.
<book> tiene un attribute (category="children") .
Elementos XML vacíos
Un elemento sin contenido se dice que es vacío.
En XML, puede indicar un elemento vacío de esta manera:
<element></element>
También puede utilizar un denominado etiqueta de cierre automático:
<element />
Las dos formas producen resultados idénticos en el software XML (lectores, analizadores, navegadores).
Los elementos vacíos pueden tener atributos.
Normas de denominación XML
elementos XML deben seguir estas reglas de nomenclatura:
- Los nombres de elementos entre mayúsculas y minúsculas
- Los nombres de elementos deben comenzar con una letra o un guión bajo
- Los nombres de elementos no pueden comenzar con el xml cartas (or XML, or Xml, etc)
- Los nombres de elementos pueden contener letras, dígitos, guiones, subrayados y puntos
- Los nombres de elementos no pueden contener espacios
Cualquier nombre se puede utilizar, no hay palabras están reservados (except xml) .
Las mejores prácticas de nomenclatura
Crear nombres descriptivos, como esto: <person>, <firstname> , <lastname> .
Crear nombres cortos y simples, como esta: <book_title> no es como esto: <the_title_of_the_book> .
Evitar "-" . Si nombra algo "first-name" , algunos programas pueden pensar que desea restar "name" de la "first" .
Evitar "." . Si nombra algo "first.name" , algunos programas pueden pensar que "name" es una propiedad del objeto "first" .
Evitar ":" . Los dos puntos están reservados para los espacios de nombres (more later) .
cartas no están en inglés como EOA son perfectamente legales en XML, pero cuidado con los problemas si su software no es compatible con ellos.
Estilos de denominación
No hay estilos de denominación establecidas para los elementos XML. Pero aquí son algunas de uso común:
Estilo | Ejemplo | Descripción |
---|---|---|
Lower case | <firstname> | Todas las letras minúsculas |
Upper case | <FIRSTNAME> | Todas las letras mayúsculas |
Underscore | <first_name> | Subrayado separa las palabras |
Pascal case | <FirstName> | Mayúscula la primera letra de cada palabra |
Camel case | <firstName> | Mayúscula la primera letra de cada palabra, excepto el primero |
Si elige un estilo de nomenclatura, es bueno para ser coherente!
Los documentos XML a menudo tienen una base de datos correspondiente. Una práctica común es utilizar las reglas de denominación de la base de datos de los elementos XML.
caso del camello es una regla de denominación común en JavaScript.
Elementos XML son extensibles
elementos XML pueden extenderse a transportar más información.
Mira el siguiente ejemplo XML:
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>
Imaginemos que hemos creado una aplicación que extrae el <a>, <desde> y <body> elementos del documento XML para producir este resultado:
MESSAGE To: Tove No me olvides este fin de semana! |
Imagine que el autor del documento XML añade alguna información adicional a ella:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
En caso de que la aplicación romperse o fallar?
No. La aplicación debe todavía ser capaz de encontrar el <to>, <from> y <body> elementos del documento XML y producir la misma salida.
Esta es una de las bellezas de XML. Se puede extender sin romper aplicaciones.