Buscar..


Elementos

Los elementos que vienen con corchetes angulares son el bloque de construcción más prominente de XML.

Los elementos pueden estar vacíos, en cuyo caso están hechos de una etiqueta vacía (observe la barra diagonal final):

<an-empty-element/>

O pueden tener contenido, en cuyo caso tienen una etiqueta de apertura (sin barra diagonal) y una etiqueta de cierre (barra de inicio):

<a-non-empty-element>Content</a-non-empty-element>

Los elementos pueden anidar (pero solo entre las etiquetas de apertura y cierre):

<parent-element>
  <child-element/>
  <another-child-element>
    Some more content.
  </another-child-element>
</parent-element>

Los nombres de los elementos se llaman QNames (nombres calificados). Todos los elementos anteriores no están en ningún espacio de nombres, pero los nombres de los elementos también se pueden definir en espacios de nombres usando prefijos como los siguientes:

<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
  <my-namespace:child-element/>
  <my-namespace:another-child-element>
    Some more content.
  </my-namespace:another-child-element>
</my-namespace:parent-element>

Los espacios de nombres y los nombres de elementos se describen con mayor detalle en esta sección de la documentación .

Atributos

Los atributos son pares nombre-valor asociados con un elemento.

Están representados por valores en comillas simples o dobles dentro de la etiqueta del elemento de apertura, o la etiqueta del elemento vacío si es un elemento vacío.

<document>
  <anElement foo="bar" abc='xyz'><!-- some content --></anElement>
  <anotherElement a="1"/>
</document>

Los atributos no están ordenados (a diferencia de los elementos). Los siguientes dos elementos tienen los mismos conjuntos de atributos:

<foo alpha="1" beta="2"/>

<foo beta="2" alpha="1"/>

Los atributos no se pueden repetir en el mismo elemento (a diferencia de los elementos). El siguiente documento no está bien formado: <foo a="x" a="y"/> porque el atributo a aparece dos veces en el mismo elemento.

El siguiente documento está bien formado. Los valores pueden ser idénticos, es el nombre del atributo que no se puede repetir.

<foo a="x" b="x"/> 

Los atributos no se pueden anidar (a diferencia de los elementos).

Texto

El texto está formado por todos los caracteres fuera de cualquier marca (etiquetas de elementos de apertura, etiquetas de elementos de cierre, etc.).

<?xml version="1.0"?>
<document>
  This is some text and <b>this is some more text</b>.
</document>

La terminología XML precisa para texto es datos de caracteres . La especificación XML en realidad usa la palabra texto para todo el documento XML, o una entidad analizada, porque define XML en el nivel sintáctico. Sin embargo, algunos modelos de datos como el XDM (XQuery y XPath Data Model), que representan documentos XML como árboles, se refieren a los datos de caracteres como nodos de texto , de modo que el texto a menudo se entiende como un sinónimo de datos de caracteres en la práctica.

Los datos de caracteres pueden no contener un carácter < esto se interpretaría como el primer carácter de una etiqueta de elemento de apertura, ni tampoco puede contener la secuencia de caracteres ]]> . Los caracteres apropiados deben escaparse con una referencia de entidad en su lugar.

<?xml version="1.0"?>
<document>
  It is fine to escape the &lt; character, as well as ]]&gt;.
</document>

Por conveniencia, también se puede escapar una gran parte del texto con una sección CDATA (pero la secuencia ]]> todavía no está permitida por razones obvias):

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; are not resolved.
  ]]>
</document>

Comentarios

Los comentarios en XML se ven así:

<!-- This is a comment -->

Pueden aparecer en el contenido del elemento o de nivel superior:

<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
  <!-- a comment inside the document -->
</document>

Los comentarios no pueden aparecer dentro de las etiquetas o dentro de los atributos:

<element <!-- comment with -- inside --> />

o

<element attr="<!-- comment with -- inside -->"/>

No están bien formados.

La secuencia de caracteres -- no puede aparecer en medio de un comentario. Esto no es XML bien formado:

<!-- comment with -- inside -->

Los comentarios en XML, a diferencia de otros lenguajes como C ++, son parte del modelo de datos : se analizan, reenvían y son visibles para la aplicación consumidora.

Instrucciones de procesamiento

Una instrucción de procesamiento se utiliza para transmitir directamente cierta información o instrucciones a la aplicación a través del analizador.

<?my-application some instructions ?>

El token después del signo de interrogación inicial (aquí my-application ) se denomina destino e identifica la aplicación a la que se dirige la instrucción. Lo que sigue no se especifica más y depende de la aplicación interpretarla. Las referencias de entidades y personajes no son reconocidas.

Puede aparecer en el nivel superior o en el contenido del elemento.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow