Buscar..


Observaciones

XML es un lenguaje de marcado utilizado para almacenar datos jerárquicos en archivos de texto. También se conoce como datos semiestructurados, como JSON. XML es legible por máquina, pero también puede ser leído y producido por personas.

XML está formado por elementos, a veces denominados casualmente como una sopa de etiquetas , que pueden contener otros elementos y / o texto. Los elementos también pueden contener atributos.

XML se utiliza a menudo para el intercambio de datos entre plataformas, especialmente a través de Internet. También se usa cada vez más para almacenar datos semiestructurados en almacenes de datos NoSQL (bases de datos XML / almacenes de documentos). Además, tiene la flexibilidad de manejar datos orientados a documentos (texto con marcado), lo que lo hace muy popular en la industria editorial. XML también es ampliamente utilizado para archivos de configuración.

Una de las razones principales por las que XML se usa tanto es que está estandarizado, con muchos analizadores disponibles, incluido el código abierto. Esto hace que el costo de usar XML sea más bajo que la invención de la propia sintaxis nueva.

Puede encontrar más información sobre el origen y los objetivos de XML en la Recomendación oficial del W3C .

Hay dos versiones de XML, que se muestran en la siguiente tabla. Las ediciones de cada versión son solo revisiones de los documentos originales y no cambios de los estándares.

La primera versión de XML es 1.0 . XML 1.1 se cambió principalmente debido al cambio de versión de Unicode de 2.0 a 3.1 y especifica un conjunto de nuevas reglas para el uso e interpretación de los nuevos caracteres de Unicode.

Versiones

Versión Fecha de lanzamiento
1.0 1998-02-10
1.1 2001-12-13

Instalación o configuración

XML es una sintaxis, lo que significa que un simple editor de texto es suficiente para comenzar.

Sin embargo, tener un editor específico de XML que le muestre cuándo y dónde su documento no está bien formado es casi indispensable para la productividad. Dichos editores también pueden permitirle validar documentos XML contra un esquema XML, o incluso generar esquemas XML a partir de documentos XML (y viceversa).

Algunos ejemplos de editores son oXygen, Atom, Eclipse y Altova XMLSpy. Una solución alternativa es utilizar un analizador XML de línea de comandos como Apache Xerces.

Los bloques de construcción básicos.

XML está hecho de bloques de construcción básicos, que son:

  • elemento
  • texto
  • atributos
  • comentarios
  • instrucciones de procesamiento

Un elemento tiene corchetes angulares:

<element/>

<element>some content</element>

Un atributo aparece en una etiqueta de elemento de apertura:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>

El texto puede aparecer en cualquier lugar dentro o entre los elementos:

<element>some more <b>bold</b> text</element>

Los comentarios usan la siguiente sintaxis. Es importante saber que los comentarios XML, a diferencia de los lenguajes de programación, son parte del modelo y serán visibles para la aplicación sobre el analizador.

<!-- this is a comment -->

Las instrucciones de procesamiento permiten pasar mensajes a la aplicación consumidora (por ejemplo, cómo mostrar o una hoja de estilo, etc.). XML no restringe el formato de las instrucciones de procesamiento.

<?target-application these are some instructions?>

Más detalles sobre los bloques de construcción se pueden encontrar en este tema

Bien formado

Un documento XML es un archivo de texto que cumple con las reglas de buena formación de la especificación XML. Se dice que tal documento conforme está bien formado (no debe confundirse con válido ). XML es muy estricto con una buena formación en comparación con otros lenguajes como HTML. Un archivo de texto que no está bien formado no se considera XML y no se puede usar al consumir aplicaciones.

Aquí hay algunas reglas que se aplican a los documentos XML:

  1. XML utiliza una sintaxis muy autodescriptiva. Un prólogo define la versión XML y la codificación de caracteres:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. Debe haber exactamente un elemento de nivel superior.

    Sin embargo, los comentarios, las instrucciones de procesamiento, así como la declaración XML inicial, también se permiten en el nivel superior. El texto y los atributos no lo son.

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
    
  3. Los elementos pueden anidar, pero deben estar "correctamente anidados":

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
    

    Las etiquetas de inicio y fin de un elemento incrustado deben estar dentro de las etiquetas de inicio y fin de su elemento contenedor. Una superposición de elementos es ilegal. En particular, este no es un XML bien formado: <foo><bar></foo></bar>

  4. Los atributos solo pueden aparecer en las etiquetas de elementos de apertura o en las etiquetas de elementos vacíos, no en las etiquetas de elementos de cierre. Si la sintaxis de atributo aparece entre los elementos, no tiene ningún significado y se analiza como texto.

    <person first-name="John" last-name="Doe"/>
    

    Esto no está bien formado: <person></person first-name="John"/>

  5. Los comentarios, las instrucciones de procesamiento, el texto y otros elementos pueden aparecer en cualquier lugar dentro de un elemento (es decir, entre su etiqueta de apertura y de cierre) pero no dentro de las etiquetas.

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
    

    Este ejemplo no está bien formado: <element <-- comment --> />

  6. El carácter < puede no aparecer en el texto o en los valores de los atributos.

  7. El " carácter puede no aparecer en los valores de atributo que se citan con " . El ' carácter puede no aparecer en los valores de atributo que se citan con ' .

  8. La secuencia de caracteres -- no puede aparecer en un comentario.

  9. Los caracteres < y & literales deben ser escapados por sus respectivas entidades &lt; y &amp; .

Hola Mundo

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>

Espacios de nombres

Los nombres de elementos y atributos viven en los espacios de nombres que son URI. Los espacios de nombres están vinculados a los prefijos que se usan en los nombres reales de elementos y atributos, que se denominan QNames.

Este documento vincula un espacio de nombres al prefijo de prefix y define un espacio de nombres predeterminado, enlazado con la ausencia de prefijo.

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>

Más detalles sobre los espacios de nombres se pueden encontrar en este tema



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