XML - Guía rápida
XML significa Eextensible MArkup Language. Es un lenguaje de marcado basado en texto derivado del lenguaje de marcado estándar generalizado (SGML).
Las etiquetas XML identifican los datos y se utilizan para almacenar y organizar los datos, en lugar de especificar cómo mostrarlos como etiquetas HTML, que se utilizan para mostrar los datos. XML no reemplazará al HTML en un futuro cercano, pero presenta nuevas posibilidades al adoptar muchas características exitosas de HTML.
Hay tres características importantes de XML que lo hacen útil en una variedad de sistemas y soluciones:
XML is extensible - XML le permite crear sus propias etiquetas autodescriptivas, o lenguaje, que se adapte a su aplicación.
XML carries the data, does not present it - XML le permite almacenar los datos independientemente de cómo se presenten.
XML is a public standard - XML fue desarrollado por una organización llamada World Wide Web Consortium (W3C) y está disponible como estándar abierto.
Uso de XML
Una breve lista de uso de XML lo dice todo:
XML puede funcionar entre bastidores para simplificar la creación de documentos HTML para sitios web grandes.
XML se puede utilizar para intercambiar información entre organizaciones y sistemas.
XML se puede utilizar para descargar y recargar bases de datos.
XML se puede utilizar para almacenar y organizar los datos, lo que puede personalizar sus necesidades de manejo de datos.
XML se puede combinar fácilmente con hojas de estilo para crear casi cualquier resultado deseado.
Prácticamente, cualquier tipo de datos se puede expresar como un documento XML.
¿Qué es el marcado?
XML es un lenguaje de marcado que define un conjunto de reglas para codificar documentos en un formato que es legible por humanos y legible por máquina. Entonces, ¿qué es exactamente un lenguaje de marcado? El marcado es información agregada a un documento que realza su significado de ciertas formas, ya que identifica las partes y cómo se relacionan entre sí. Más específicamente, un lenguaje de marcado es un conjunto de símbolos que se pueden colocar en el texto de un documento para demarcar y etiquetar las partes de ese documento.
El siguiente ejemplo muestra cómo se ve el marcado XML, cuando está incrustado en un fragmento de texto:
<message>
<text>Hello, world!</text>
</message>
Este fragmento incluye los símbolos de marcado o etiquetas como <message> ... </message> y <text> ... </text>. Las etiquetas <message> y </message> marcan el inicio y el final del fragmento de código XML. Las etiquetas <text> y </text> rodean el texto ¡Hola, mundo !.
¿XML es un lenguaje de programación?
Un lenguaje de programación consta de reglas gramaticales y su propio vocabulario que se utiliza para crear programas de computadora. Estos programas instruyen a la computadora para que realice tareas específicas. XML no califica para ser un lenguaje de programación ya que no realiza ningún cálculo ni algoritmo. Por lo general, se almacena en un archivo de texto simple y se procesa mediante un software especial que es capaz de interpretar XML.
En este capítulo, discutiremos las reglas de sintaxis simples para escribir un documento XML. A continuación se muestra un documento XML completo:
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
Puede notar que hay dos tipos de información en el ejemplo anterior:
Marcado, como <contact-info>
El texto, o los datos de caracteres, Tutorials Point y (040) 123-4567 .
El siguiente diagrama muestra las reglas de sintaxis para escribir diferentes tipos de marcado y texto en un documento XML.
Veamos cada componente del diagrama anterior en detalle.
Declaración XML
El documento XML puede tener opcionalmente una declaración XML. Está escrito de la siguiente manera:
<?xml version = "1.0" encoding = "UTF-8"?>
Donde versión es la versión XML y la codificación especifica la codificación de caracteres utilizada en el documento.
Reglas de sintaxis para la declaración XML
La declaración XML distingue entre mayúsculas y minúsculas y debe comenzar con "<?xml>" dónde "xml"está escrito en minúsculas.
Si el documento contiene una declaración XML, entonces es estrictamente necesario que sea la primera declaración del documento XML.
La declaración XML debe ser estrictamente la primera declaración del documento XML.
Un protocolo HTTP puede anular el valor de codificación que ingresa en la declaración XML.
Etiquetas y elementos
Un archivo XML está estructurado por varios elementos XML, también llamados nodos XML o etiquetas XML. Los nombres de los elementos XML están encerrados entre corchetes triangulares <> como se muestra a continuación -
<element>
Reglas de sintaxis para etiquetas y elementos
Element Syntax - Cada elemento XML debe cerrarse con elementos de inicio o de final como se muestra a continuación -
<element>....</element>
o en casos simples, solo de esta manera -
<element/>
Nesting of Elements- Un elemento XML puede contener varios elementos XML como elementos secundarios, pero los elementos secundarios no deben superponerse. es decir, una etiqueta de fin de un elemento debe tener el mismo nombre que la etiqueta de inicio no coincidente más reciente.
El siguiente ejemplo muestra etiquetas anidadas incorrectas:
<?xml version = "1.0"?>
<contact-info>
<company>TutorialsPoint
</contact-info>
</company>
El siguiente ejemplo muestra las etiquetas anidadas correctas:
<?xml version = "1.0"?>
<contact-info>
<company>TutorialsPoint</company>
<contact-info>
Root Element- Un documento XML solo puede tener un elemento raíz. Por ejemplo, el siguiente no es un documento XML correcto, porque tanto elx y y los elementos ocurren en el nivel superior sin un elemento raíz -
<x>...</x>
<y>...</y>
El siguiente ejemplo muestra un documento XML correctamente formado:
<root>
<x>...</x>
<y>...</y>
</root>
Case Sensitivity- Los nombres de los elementos XML distinguen entre mayúsculas y minúsculas. Eso significa que el nombre de los elementos inicial y final deben estar exactamente en el mismo caso.
Por ejemplo, <contact-info> es diferente de <Contact-Info>
Atributos XML
Un attributeespecifica una sola propiedad para el elemento, utilizando un par nombre / valor. Un elemento XML puede tener uno o más atributos. Por ejemplo
<a href = "http://www.tutorialspoint.com/">Tutorialspoint!</a>
aquí href es el nombre del atributo y http://www.tutorialspoint.com/ es el valor del atributo.
Reglas de sintaxis para atributos XML
Los nombres de atributos en XML (a diferencia de HTML) distinguen entre mayúsculas y minúsculas. Es decir, HREF y href se consideran dos atributos XML diferentes.
El mismo atributo no puede tener dos valores en una sintaxis. El siguiente ejemplo muestra una sintaxis incorrecta porque el atributo b se especifica dos veces
-
<a b = "x" c = "y" b = "z">....</a>
Los nombres de los atributos se definen sin comillas, mientras que los valores de los atributos siempre deben aparecer entre comillas. El siguiente ejemplo demuestra una sintaxis XML incorrecta
-
<a b = x>....</a>
En la sintaxis anterior, el valor del atributo no está definido entre comillas.
Referencias XML
Las referencias generalmente le permiten agregar o incluir texto o marcado adicional en un documento XML. Las referencias siempre comienzan con el símbolo"&" que es un carácter reservado y termina con el símbolo ";". XML tiene dos tipos de referencias:
Entity References- Una referencia de entidad contiene un nombre entre los delimitadores inicial y final. Por ejemplo&donde amp es el nombre . El nombre se refiere a una cadena predefinida de texto y / o marcado.
Character References - Estos contienen referencias, como A, contiene una marca de almohadilla ("#") seguida de un número. El número siempre se refiere al código Unicode de un carácter. En este caso, 65 se refiere al alfabeto "A".
Texto XML
Los nombres de los elementos XML y de los atributos XML distinguen entre mayúsculas y minúsculas, lo que significa que el nombre de los elementos inicial y final deben escribirse en el mismo caso. Para evitar problemas de codificación de caracteres, todos los archivos XML deben guardarse como archivos Unicode UTF-8 o UTF-16.
Los caracteres de espacio en blanco como espacios en blanco, tabulaciones y saltos de línea entre elementos XML y entre atributos XML serán ignorados.
Algunos caracteres están reservados por la propia sintaxis XML. Por tanto, no pueden utilizarse directamente. Para usarlos, se usan algunas entidades de reemplazo, que se enumeran a continuación:
Carácter no permitido | Entidad de reemplazo | Descripción del personaje |
---|---|---|
< | & lt; | menos que |
> | & gt; | mas grande que |
Y | &erio; | ampersand |
' | & apos; | apóstrofe |
" | & quot; | comillas |
Un documento XML es una unidad básica de información XML compuesta por elementos y otras marcas en un paquete ordenado. Un documento XML puede contener una amplia variedad de datos. Por ejemplo, base de datos de números, números que representan la estructura molecular o una ecuación matemática.
Ejemplo de documento XML
En el siguiente ejemplo se muestra un documento simple:
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
La siguiente imagen muestra las partes del documento XML.
Sección de prólogo del documento
Document Prologaparece en la parte superior del documento, antes del elemento raíz. Esta sección contiene:
- Declaración XML
- Declaración de tipo de documento
Puede obtener más información sobre la declaración XML en este capítulo: Declaración XML
Sección de elementos del documento
Document Elementsson los componentes básicos de XML. Estos dividen el documento en una jerarquía de secciones, cada una con un propósito específico. Puede separar un documento en varias secciones para que se puedan representar de manera diferente o utilizarlas un motor de búsqueda. Los elementos pueden ser contenedores, con una combinación de texto y otros elementos.
Puede obtener más información sobre los elementos XML en este capítulo: Elementos XML
Este capítulo cubre la declaración XML en detalle. XML declarationcontiene detalles que preparan un procesador XML para analizar el documento XML. Es opcional, pero cuando se usa, debe aparecer en la primera línea del documento XML.
Sintaxis
La siguiente sintaxis muestra la declaración XML:
<?xml
version = "version_number"
encoding = "encoding_declaration"
standalone = "standalone_status"
?>
Cada parámetro consta de un nombre de parámetro, un signo igual (=) y un valor de parámetro dentro de una comilla. La siguiente tabla muestra la sintaxis anterior en detalle:
Parámetro | Parameter_value | Descripción de parámetros |
---|---|---|
Versión | 1.0 | Especifica la versión del estándar XML utilizada. |
Codificación | UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 a ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP | Define la codificación de caracteres utilizada en el documento. UTF-8 es la codificación predeterminada utilizada. |
Ser único | si o no | Informa al analizador si el documento se basa en la información de una fuente externa, como la definición de tipo de documento externo (DTD), para su contenido. El valor predeterminado se establece en no . Establecerlo en sí le dice al procesador que no se requieren declaraciones externas para analizar el documento. |
Reglas
Una declaración XML debe cumplir con las siguientes reglas:
Si la declaración XML está presente en el XML, debe colocarse como la primera línea en el documento XML.
Si se incluye la declaración XML, debe contener el atributo de número de versión.
Los nombres y valores de los parámetros distinguen entre mayúsculas y minúsculas.
Los nombres siempre están en minúsculas.
El orden de colocación de los parámetros es importante. El orden correcto es: versión, codificación y autónomo.
Se pueden utilizar comillas simples o dobles.
La declaración XML no tiene etiqueta de cierre, es decir </?xml>
Ejemplos de declaraciones XML
A continuación se muestran algunos ejemplos de declaraciones XML:
Declaración XML sin parámetros -
<?xml >
Declaración XML con definición de versión -
<?xml version = "1.0">
Declaración XML con todos los parámetros definidos -
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
Declaración XML con todos los parámetros definidos entre comillas simples -
<?xml version = '1.0' encoding = 'iso-8859-1' standalone = 'no' ?>
Aprendamos sobre una de las partes más importantes de XML, las etiquetas XML. XML tagsforman la base de XML. Definen el alcance de un elemento en XML. También se pueden utilizar para insertar comentarios, declarar la configuración necesaria para analizar el entorno e insertar instrucciones especiales.
Podemos categorizar ampliamente las etiquetas XML de la siguiente manera:
Etiqueta de inicio
El comienzo de cada elemento XML no vacío está marcado por una etiqueta de inicio. A continuación se muestra un ejemplo de etiqueta de inicio:
<address>
Etiqueta final
Cada elemento que tiene una etiqueta de inicio debe terminar con una etiqueta de fin. A continuación se muestra un ejemplo de etiqueta final:
</address>
Tenga en cuenta que las etiquetas finales incluyen un solidus ("/") antes del nombre de un elemento.
Etiqueta vacía
El texto que aparece entre la etiqueta inicial y la etiqueta final se llama contenido. Un elemento que no tiene contenido se denomina vacío. Un elemento vacío se puede representar de dos maneras de la siguiente manera:
Una etiqueta de inicio seguida inmediatamente de una etiqueta de finalización como se muestra a continuación:
<hr></hr>
Una etiqueta de elemento vacío completa es como se muestra a continuación:
<hr />
Las etiquetas de elementos vacíos se pueden utilizar para cualquier elemento que no tenga contenido.
Reglas de etiquetas XML
Las siguientes son las reglas que deben seguirse para usar etiquetas XML:
Regla 1
Las etiquetas XML distinguen entre mayúsculas y minúsculas. La siguiente línea de código es un ejemplo de sintaxis incorrecta </Address>, debido a la diferencia de mayúsculas y minúsculas en dos etiquetas, que se trata como sintaxis errónea en XML.
<address>This is wrong syntax</Address>
El siguiente código muestra una forma correcta, donde usamos el mismo caso para nombrar la etiqueta inicial y final.
<address>This is correct syntax</address>
Regla 2
Las etiquetas XML deben cerrarse en un orden apropiado, es decir, una etiqueta XML abierta dentro de otro elemento debe cerrarse antes de que se cierre el elemento externo. Por ejemplo
<outer_element>
<internal_element>
This tag is closed before the outer_element
</internal_element>
</outer_element>
XML elementsse puede definir como bloques de construcción de un XML. Los elementos pueden comportarse como contenedores para contener texto, elementos, atributos, objetos multimedia o todos estos.
Cada documento XML contiene uno o más elementos, cuyo alcance está delimitado por etiquetas de inicio y final, o para elementos vacíos, por una etiqueta de elemento vacío.
Sintaxis
A continuación se muestra la sintaxis para escribir un elemento XML:
<element-name attribute1 attribute2>
....content
</element-name>
dónde,
element-namees el nombre del elemento. El nombre de su caso en las etiquetas de inicio y final debe coincidir.
attribute1, attribute2son atributos del elemento separados por espacios en blanco. Un atributo define una propiedad del elemento. Asocia un nombre con un valor, que es una cadena de caracteres. Un atributo se escribe como:
name = "value"
El nombre va seguido de un signo = y un valor de cadena entre comillas dobles ("") o simples ('').
Elemento vacío
Un elemento vacío (elemento sin contenido) tiene la siguiente sintaxis:
<name attribute1 attribute2.../>
A continuación se muestra un ejemplo de un documento XML que utiliza varios elementos XML:
<?xml version = "1.0"?>
<contact-info>
<address category = "residence">
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>
</contact-info>
Reglas de elementos XML
Es necesario seguir las siguientes reglas para los elementos XML:
El nombre de un elemento puede contener cualquier carácter alfanumérico. Los únicos signos de puntuación permitidos en los nombres son el guión (-), la puntuación mínima (_) y el punto (.).
Los nombres distinguen entre mayúsculas y minúsculas. Por ejemplo, Dirección, dirección y DIRECCIÓN son nombres diferentes.
Las etiquetas de inicio y finalización de un elemento deben ser idénticas.
Un elemento, que es un contenedor, puede contener texto o elementos como se ve en el ejemplo anterior.
Este capítulo describe XML attributes. Los atributos son parte de los elementos XML. Un elemento puede tener múltiples atributos únicos. El atributo proporciona más información sobre los elementos XML. Para ser más precisos, definen las propiedades de los elementos. Un atributo XML es siempre un par nombre-valor.
Sintaxis
Un atributo XML tiene la siguiente sintaxis:
<element-name attribute1 attribute2 >
....content..
< /element-name>
donde atributo1 y atributo2 tienen la siguiente forma:
name = "value"
el valor debe estar entre comillas dobles ("") o simples (''). Aquí, atributo1 y atributo2 son etiquetas de atributo únicas.
Los atributos se utilizan para agregar una etiqueta única a un elemento, colocar la etiqueta en una categoría, agregar una bandera booleana o asociarla con alguna cadena de datos. El siguiente ejemplo demuestra el uso de atributos:
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
<!ELEMENT garden (plants)*>
<!ELEMENT plants (#PCDATA)>
<!ATTLIST plants category CDATA #REQUIRED>
]>
<garden>
<plants category = "flowers" />
<plants category = "shrubs">
</plants>
</garden>
Los atributos se utilizan para distinguir entre elementos del mismo nombre, cuando no desea crear un elemento nuevo para cada situación. Por lo tanto, el uso de un atributo puede agregar un poco más de detalle al diferenciar dos o más elementos similares.
En el ejemplo anterior, hemos categorizado las plantas incluyendo la categoría de atributo y asignando diferentes valores a cada uno de los elementos. Por lo tanto, tenemos dos categorías de plantas , una de flores y otra de arbustos . Por tanto, tenemos dos elementos vegetales con atributos diferentes.
También puede observar que hemos declarado este atributo al principio de XML.
Tipos de atributos
La siguiente tabla enumera el tipo de atributos:
Tipo de atributo | Descripción |
---|---|
StringType | Toma cualquier cadena literal como valor. CDATA es un StringType. CDATA son datos de caracteres. Esto significa que cualquier cadena de caracteres sin marcas es una parte legal del atributo. |
TokenizedType | Este es un tipo más restringido. Las restricciones de validez señaladas en la gramática se aplican después de que se normaliza el valor del atributo. Los atributos TokenizedType se dan como:
|
EnumeratedType | Tiene una lista de valores predefinidos en su declaración. de los cuales, debe asignar un valor. Hay dos tipos de atributos enumerados:
|
Reglas de atributos de elementos
Las siguientes son las reglas que deben seguirse para los atributos:
Un nombre de atributo no debe aparecer más de una vez en la misma etiqueta de inicio o etiqueta de elemento vacío.
Un atributo debe declararse en la definición de tipo de documento (DTD) mediante una declaración de lista de atributos.
Los valores de atributo no deben contener referencias de entidad directas o indirectas a entidades externas.
El texto de reemplazo de cualquier entidad a la que se haga referencia directa o indirectamente en un valor de atributo no debe contener un signo menor que (<)
Este capítulo explica cómo funcionan los comentarios en documentos XML. XML commentsson similares a los comentarios HTML. Los comentarios se agregan como notas o líneas para comprender el propósito de un código XML.
Los comentarios se pueden utilizar para incluir enlaces, información y términos relacionados. Son visibles solo en el código fuente; no en el código XML. Los comentarios pueden aparecer en cualquier lugar del código XML.
Sintaxis
El comentario XML tiene la siguiente sintaxis:
<!--Your comment-->
Un comentario comienza con <!-- y termina con -->. Puede agregar notas textuales como comentarios entre los personajes. No debe anidar un comentario dentro del otro.
Ejemplo
El siguiente ejemplo demuestra el uso de comentarios en un documento XML:
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--Students grades are uploaded by months-->
<class_list>
<student>
<name>Tanmay</name>
<grade>A</grade>
</student>
</class_list>
Cualquier texto entre <!-- y --> caracteres se considera un comentario.
Reglas de comentarios XML
Se deben seguir las siguientes reglas para los comentarios XML:
- Los comentarios no pueden aparecer antes de la declaración XML.
- Los comentarios pueden aparecer en cualquier parte de un documento.
- Los comentarios no deben aparecer dentro de los valores de los atributos.
- Los comentarios no se pueden anidar dentro de los otros comentarios.
Este capítulo describe el XML Character Entities. Antes de comprender las entidades de caracteres, primero comprendamos qué es una entidad XML.
Según lo expresado por W3 Consortium, la definición de entidad es la siguiente:
"La entidad del documento sirve como la raíz del árbol de la entidad y un punto de partida para un procesador XML".
Esto significa que las entidades son los marcadores de posición en XML. Estos se pueden declarar en el prólogo del documento o en un DTD. Hay diferentes tipos de entidades y en este capítulo discutiremos la Entidad de personaje.
Tanto HTML como XML, tienen algunos símbolos reservados para su uso, que no pueden usarse como contenido en código XML. Por ejemplo,< y >los signos se utilizan para abrir y cerrar etiquetas XML. Para mostrar estos caracteres especiales, se utilizan las entidades de caracteres.
Hay algunos caracteres especiales o símbolos que no están disponibles para ser escritos directamente desde el teclado. Las entidades de caracteres también se pueden utilizar para mostrar esos símbolos / caracteres especiales.
Tipos de entidades de carácter
Hay tres tipos de entidades de carácter:
- Entidades de carácter predefinidas
- Entidades de caracteres numeradas
- Entidades de carácter con nombre
Entidades de carácter predefinidas
Se introducen para evitar la ambigüedad al usar algunos símbolos. Por ejemplo, se observa una ambigüedad cuando menos de (< ) o mayor que ( > ) El símbolo se utiliza con la etiqueta de ángulo (<>). Las entidades de caracteres se utilizan básicamente para delimitar etiquetas en XML. A continuación se muestra una lista de entidades de caracteres predefinidas a partir de la especificación XML. Estos se pueden utilizar para expresar caracteres sin ambigüedad.
Ampersand - &
Comilla simple - '
Mayor que - >
Menos de - <
Comillas dobles - "
Entidades de caracteres numéricos
La referencia numérica se utiliza para referirse a una entidad de carácter. La referencia numérica puede estar en formato decimal o hexadecimal. Como hay miles de referencias numéricas disponibles, son un poco difíciles de recordar. La referencia numérica se refiere al carácter por su número en el juego de caracteres Unicode.
La sintaxis general para la referencia numérica decimal es -
&# decimal number ;
La sintaxis general para la referencia numérica hexadecimal es -
&#x Hexadecimal number ;
La siguiente tabla enumera algunas entidades de caracteres predefinidas con sus valores numéricos:
Nombre de la entidad | Personaje | Referencia decimal | Referencia hexadecimal |
---|---|---|---|
cotización | " | & # 34; | & # x22; |
amperio | Y | & # 38; | & # x26; |
apos | ' | & # 39; | & # x27; |
es | < | & # 60; | & # x3C; |
gt | > | & # 62; | & # x3E; |
Entidad de personaje con nombre
Como es difícil recordar los caracteres numéricos, el tipo de entidad de carácter más preferido es la entidad de carácter con nombre. Aquí, cada entidad se identifica con un nombre.
Por ejemplo
'Agudo' representa carácter mayúsculo con acento agudo.
'ugrave' representa al pequeño con acento grave.
En este capítulo, discutiremos XML CDATA section. El término CDATA significa Datos de caracteres. CDATA se define como bloques de texto que no son analizados por el analizador, pero que de otra manera se reconocen como marcado.
Las entidades predefinidas como &lt;, &gt;, y &amp;requieren escritura y generalmente son difíciles de leer en el marcado. En tales casos, se puede utilizar la sección CDATA. Al usar la sección CDATA, le está ordenando al analizador que la sección particular del documento no contenga marcas y que deba tratarse como texto normal.
Sintaxis
A continuación se muestra la sintaxis de la sección CDATA:
<![CDATA[
characters with markup
]]>
La sintaxis anterior se compone de tres secciones:
CDATA Start section - CDATA comienza con el delimitador de nueve caracteres <![CDATA[
CDATA End section - La sección CDATA termina con ]]> delimitador.
CData section- Los caracteres entre estos dos recintos se interpretan como caracteres y no como marcas. Esta sección puede contener caracteres de marcado (<,> y &), pero el procesador XML los ignora.
Ejemplo
El siguiente código de marcado muestra un ejemplo de CDATA. Aquí, cada carácter escrito dentro de la sección CDATA es ignorado por el analizador.
<script>
<![CDATA[
<message> Welcome to TutorialsPoint </message>
]] >
</script >
En la sintaxis anterior, todo lo que esté entre <message> y </message> se trata como datos de caracteres y no como marcado.
Reglas CDATA
Es necesario seguir las reglas dadas para XML CDATA -
- CDATA no puede contener la cadena "]]>" en ningún lugar del documento XML.
- No se permite el anidamiento en la sección CDATA.
En este capítulo, discutiremos whitespacemanejo en documentos XML. El espacio en blanco es una colección de espacios, pestañas y nuevas líneas. Generalmente se utilizan para hacer que un documento sea más legible.
El documento XML contiene dos tipos de espacios en blanco: espacios en blanco significativos y espacios en blanco insignificantes. Ambos se explican a continuación con ejemplos.
Espacio en blanco significativo
Un espacio en blanco significativo ocurre dentro del elemento que contiene el texto y el marcado presentes juntos. Por ejemplo
<name>TanmayPatil</name>
y
<name>Tanmay Patil</name>
Los dos elementos anteriores son diferentes debido al espacio entre Tanmay y Patil. Cualquier programa que lea este elemento en un archivo XML está obligado a mantener la distinción.
Espacio en blanco insignificante
Espacio en blanco insignificante significa el espacio donde solo se permite el contenido del elemento. Por ejemplo
<address.category = "residence">
o
<address....category = "..residence">
Los ejemplos anteriores son los mismos. Aquí, el espacio está representado por puntos (.). En el ejemplo anterior, el espacio entre la dirección y la categoría es insignificante.
Un atributo especial llamado xml:spacese puede adjuntar a un elemento. Esto indica que la aplicación no debe eliminar los espacios en blanco para ese elemento. Puede establecer este atributo endefault o preserve como se muestra en el siguiente ejemplo:
<!ATTLIST address xml:space (default|preserve) 'preserve'>
Dónde,
El valor default indica que los modos de procesamiento de espacios en blanco predeterminados de una aplicación son aceptables para este elemento.
El valor preserve indica la aplicación para conservar todos los espacios en blanco.
Este capítulo describe Processing Instructions (PIs). Según lo definido por la Recomendación XML 1.0,
"Las instrucciones de procesamiento (PI) permiten que los documentos contengan instrucciones para las aplicaciones. Los PI no son parte de los datos de caracteres del documento, pero DEBEN pasar a la aplicación.
Las instrucciones de procesamiento (PI) se pueden utilizar para pasar información a las aplicaciones. Los PI pueden aparecer en cualquier parte del documento fuera del marcado. Pueden aparecer en el prólogo, incluida la definición del tipo de documento (DTD), en el contenido textual o después del documento.
Sintaxis
A continuación se muestra la sintaxis de PI:
<?target instructions?>
Dónde
target - Identifica la aplicación a la que se dirige la instrucción.
instruction - Un personaje que describe la información que debe procesar la aplicación.
Un PI comienza con una etiqueta especial <? y termina con ?>. El procesamiento del contenido finaliza inmediatamente después de la cadena.?> se encuentra.
Ejemplo
Los IP rara vez se utilizan. Se utilizan principalmente para vincular documentos XML a una hoja de estilo. A continuación se muestra un ejemplo:
<?xml-stylesheet href = "tutorialspointstyle.css" type = "text/css"?>
Aquí, el objetivo es xml-stylesheet . href = "tutorialspointstyle.css" y type = "text / css" son datos o instrucciones que la aplicación de destino utilizará en el momento de procesar el documento XML dado.
En este caso, un navegador reconoce el destino indicando que el XML debe transformarse antes de mostrarse; el primer atributo indica que el tipo de transformación es XSL y el segundo atributo apunta a su ubicación.
Reglas de instrucciones de procesamiento
Un PI puede contener cualquier dato excepto la combinación ?>, que se interpreta como el delimitador de cierre. Aquí hay dos ejemplos de PI válidos:
<?welcome to pg = 10 of tutorials point?>
<?welcome?>
Encodinges el proceso de convertir caracteres Unicode en su representación binaria equivalente. Cuando el procesador XML lee un documento XML, codifica el documento según el tipo de codificación. Por lo tanto, necesitamos especificar el tipo de codificación en la declaración XML.
Tipos de codificación
Existen principalmente dos tipos de codificación:
- UTF-8
- UTF-16
UTF significa Formato de transformación UCS , y UCS en sí mismo significa Conjunto de caracteres universal . El número 8 o 16 se refiere al número de bits que se utilizan para representar un carácter. Son 8 (1 a 4 bytes) o 16 (2 o 4 bytes). Para los documentos sin información de codificación, UTF-8 está configurado de forma predeterminada.
Sintaxis
El tipo de codificación se incluye en la sección de prólogo del documento XML. La sintaxis para la codificación UTF-8 es la siguiente:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
La sintaxis para la codificación UTF-16 es la siguiente:
<?xml version = "1.0" encoding = "UTF-16" standalone = "no" ?>
Ejemplo
El siguiente ejemplo muestra la declaración de codificación:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
En el ejemplo anterior encoding="UTF-8", especifica que se utilizan 8 bits para representar los caracteres. Para representar caracteres de 16 bits,UTF-16 se puede utilizar la codificación.
Los archivos XML codificados con UTF-8 tienden a ser de menor tamaño que los codificados con formato UTF-16.
Validationes un proceso mediante el cual se valida un documento XML. Se dice que un documento XML es válido si su contenido coincide con los elementos, atributos y declaración de tipo de documento asociado (DTD), y si el documento cumple con las restricciones expresadas en él. El analizador XML trata la validación de dos formas. Ellos son -
- Documento XML bien formado
- Documento XML válido
Documento XML bien formado
Se dice que un documento XML es well-formed si se adhiere a las siguientes reglas:
Los archivos XML que no sean DTD deben utilizar las entidades de caracteres predefinidas para amp(&), apos(single quote), gt(>), lt(<), quot(double quote).
Debe seguir el orden de la etiqueta. es decir, la etiqueta interior debe estar cerrada antes de cerrar la etiqueta exterior.
Cada una de sus etiquetas de apertura debe tener una etiqueta de cierre o debe ser una etiqueta con finalización automática (<title> .... </title> o <title />).
Debe tener solo un atributo en una etiqueta de inicio, que debe estar entre comillas.
amp(&), apos(single quote), gt(>), lt(<), quot(double quote) deben declararse entidades distintas de estas.
Ejemplo
A continuación se muestra un ejemplo de un documento XML bien formado:
<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
<!DOCTYPE address
[
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>
<address>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>
Se dice que el ejemplo anterior está bien formado como:
Define el tipo de documento. Aquí, el tipo de documento eselement tipo.
Incluye un elemento raíz llamado address.
Cada uno de los elementos secundarios, entre nombre, empresa y teléfono, se incluye en su etiqueta autoexplicativa.
Se mantiene el orden de las etiquetas.
Documento XML válido
Si un documento XML está bien formado y tiene una Declaración de tipo de documento (DTD) asociada, se dice que es un documento XML válido. Estudiaremos más sobre DTD en el capítulo XML - DTD .
La Declaración de tipo de documento XML, comúnmente conocida como DTD, es una forma de describir el lenguaje XML con precisión. Los DTD verifican el vocabulario y la validez de la estructura de los documentos XML con las reglas gramaticales del lenguaje XML apropiado.
Una DTD XML se puede especificar dentro del documento o se puede guardar en un documento separado y luego dar me gusta por separado.
Sintaxis
La sintaxis básica de un DTD es la siguiente:
<!DOCTYPE element DTD identifier
[
declaration1
declaration2
........
]>
En la sintaxis anterior,
los DTD comienza con el delimitador <! DOCTYPE.
Un element le dice al analizador que analice el documento desde el elemento raíz especificado.
DTD identifieres un identificador para la definición del tipo de documento, que puede ser la ruta a un archivo en el sistema o la URL a un archivo en Internet. Si el DTD apunta a una ruta externa, se llamaExternal Subset.
The square brackets [ ]adjunte una lista opcional de declaraciones de entidad denominada Subconjunto interno .
DTD interno
Una DTD se denomina DTD interna si los elementos se declaran dentro de los archivos XML. Para referirse a él como DTD interno, el atributo independiente en la declaración XML debe establecerse enyes. Esto significa que la declaración funciona independientemente de una fuente externa.
Sintaxis
A continuación se muestra la sintaxis de DTD interno:
<!DOCTYPE root-element [element-declarations]>
donde elemento-raíz es el nombre del elemento raíz y declaraciones de elementos es donde declara los elementos.
Ejemplo
A continuación se muestra un ejemplo simple de DTD interno:
<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
<!DOCTYPE address [
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
]>
<address>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>
Repasemos el código anterior:
Start Declaration - Comience la declaración XML con la siguiente declaración.
<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
DTD- Inmediatamente después del encabezado XML, sigue la declaración del tipo de documento , comúnmente conocida como DOCTYPE -
<!DOCTYPE address [
La declaración DOCTYPE tiene un signo de exclamación (!) Al comienzo del nombre del elemento. El DOCTYPE informa al analizador que un DTD está asociado con este documento XML.
DTD Body - La declaración DOCTYPE va seguida del cuerpo de la DTD, donde declaras elementos, atributos, entidades y notaciones.
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone_no (#PCDATA)>
Aquí se declaran varios elementos que componen el vocabulario del documento <nombre>. <! ELEMENT name (#PCDATA)> define el nombre del elemento como de tipo "#PCDATA". Aquí #PCDATA significa datos de texto analizables.
End Declaration - Finalmente, la sección de declaración del DTD se cierra con un paréntesis de cierre y un paréntesis de ángulo de cierre (]>). Esto efectivamente finaliza la definición y, a partir de entonces, el documento XML sigue inmediatamente.
Reglas
La declaración del tipo de documento debe aparecer al principio del documento (precedida solo por el encabezado XML); no está permitido en ningún otro lugar dentro del documento.
De forma similar a la declaración DOCTYPE, las declaraciones de elementos deben comenzar con un signo de exclamación.
El nombre en la declaración del tipo de documento debe coincidir con el tipo de elemento del elemento raíz.
DTD externo
En DTD externo, los elementos se declaran fuera del archivo XML. Se accede a ellos especificando los atributos del sistema, que pueden ser el archivo .dtd legal o una URL válida. Para referirlo como DTD externo, el atributo independiente en la declaración XML debe establecerse comono. Esto significa que la declaración incluye información de la fuente externa.
Sintaxis
A continuación se muestra la sintaxis para DTD externa:
<!DOCTYPE root-element SYSTEM "file-name">
donde nombre-archivo es el archivo con extensión .dtd .
Ejemplo
El siguiente ejemplo muestra el uso de DTD externo:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
<!DOCTYPE address SYSTEM "address.dtd">
<address>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</address>
El contenido del archivo DTD address.dtd es como se muestra -
<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
Tipos
Puede hacer referencia a una DTD externa utilizando system identifiers o public identifiers.
Identificadores del sistema
Un identificador del sistema le permite especificar la ubicación de un archivo externo que contiene declaraciones DTD. La sintaxis es la siguiente:
<!DOCTYPE name SYSTEM "address.dtd" [...]>
Como puede ver, contiene la palabra clave SYSTEM y una referencia URI que apunta a la ubicación del documento.
Identificadores públicos
Los identificadores públicos proporcionan un mecanismo para localizar recursos DTD y están escritos de la siguiente manera:
<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">
Como puede ver, comienza con la palabra clave PUBLIC, seguida de un identificador especializado. Los identificadores públicos se utilizan para identificar una entrada en un catálogo. Los identificadores públicos pueden seguir cualquier formato, sin embargo, un formato de uso común se llamaFormal Public Identifiers, or FPIs.
El esquema XML se conoce comúnmente como XML Schema Definition (XSD). Se utiliza para describir y validar la estructura y el contenido de los datos XML. El esquema XML define los elementos, atributos y tipos de datos. El elemento de esquema admite espacios de nombres. Es similar a un esquema de base de datos que describe los datos en una base de datos.
Sintaxis
Debe declarar un esquema en su documento XML de la siguiente manera:
Ejemplo
El siguiente ejemplo muestra cómo utilizar el esquema:
<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "contact">
<xs:complexType>
<xs:sequence>
<xs:element name = "name" type = "xs:string" />
<xs:element name = "company" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
La idea básica detrás de los esquemas XML es que describen el formato legítimo que puede adoptar un documento XML.
Elementos
Como vimos en el capítulo XML - Elementos , los elementos son los componentes básicos del documento XML. Un elemento se puede definir dentro de un XSD de la siguiente manera:
<xs:element name = "x" type = "y"/>
Tipos de definición
Puede definir elementos de esquema XML de las siguientes formas:
Tipo simple
El elemento de tipo simple se usa solo en el contexto del texto. Algunos de los tipos simples predefinidos son: xs: integer, xs: boolean, xs: string, xs: date. Por ejemplo
<xs:element name = "phone_number" type = "xs:int" />
Tipo complejo
Un tipo complejo es un contenedor para otras definiciones de elementos. Esto le permite especificar qué elementos secundarios puede contener un elemento y proporcionar alguna estructura dentro de sus documentos XML. Por ejemplo
<xs:element name = "Address">
<xs:complexType>
<xs:sequence>
<xs:element name = "name" type = "xs:string" />
<xs:element name = "company" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
En el ejemplo anterior, el elemento Dirección consta de elementos secundarios. Este es un contenedor para otros<xs:element> definiciones, que permite construir una jerarquía simple de elementos en el documento XML.
Tipos globales
Con el tipo global, puede definir un solo tipo en su documento, que puede ser utilizado por todas las demás referencias. Por ejemplo, suponga que desea generalizar la persona y la empresa para diferentes direcciones de la empresa. En tal caso, puede definir un tipo general de la siguiente manera:
<xs:element name = "AddressType">
<xs:complexType>
<xs:sequence>
<xs:element name = "name" type = "xs:string" />
<xs:element name = "company" type = "xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
Ahora usemos este tipo en nuestro ejemplo de la siguiente manera:
<xs:element name = "Address1">
<xs:complexType>
<xs:sequence>
<xs:element name = "address" type = "AddressType" />
<xs:element name = "phone1" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name = "Address2">
<xs:complexType>
<xs:sequence>
<xs:element name = "address" type = "AddressType" />
<xs:element name = "phone2" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
En lugar de tener que definir el nombre y la empresa dos veces (una para Address1 y otra para Address2 ), ahora tenemos una única definición. Esto simplifica el mantenimiento, es decir, si decide agregar elementos de "Código postal" a la dirección, debe agregarlos en un solo lugar.
Atributos
Los atributos en XSD proporcionan información adicional dentro de un elemento. Los atributos tienen propiedad de nombre y tipo como se muestra a continuación:
<xs:attribute name = "x" type = "y"/>
Un documento XML siempre es descriptivo. La estructura del árbol a menudo se denominaXML Tree y juega un papel importante para describir fácilmente cualquier documento XML.
La estructura de árbol contiene elementos raíz (padres), elementos secundarios, etc. Al utilizar la estructura de árbol, puede llegar a conocer todas las ramas y subramas sucesivas a partir de la raíz. El análisis comienza en la raíz, luego desciende por la primera rama hasta un elemento, toma la primera rama desde allí y así sucesivamente hasta los nodos hoja.
Ejemplo
El siguiente ejemplo demuestra una estructura de árbol XML simple:
<?xml version = "1.0"?>
<Company>
<Employee>
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>[email protected]</Email>
<Address>
<City>Bangalore</City>
<State>Karnataka</State>
<Zip>560212</Zip>
</Address>
</Employee>
</Company>
La siguiente estructura de árbol representa el documento XML anterior:
En el diagrama anterior, hay un elemento raíz llamado <company>. Dentro de eso, hay un elemento más <Employee>. Dentro del elemento empleado, hay cinco ramas llamadas <FirstName>, <LastName>, <ContactNo>, <Email> y <Address>. Dentro del elemento <Address>, hay tres ramas secundarias, llamadas <City> <State> y <Zip>.
los Document Object Model (DOM)es la base de XML. Los documentos XML tienen una jerarquía de unidades de información llamadas nodos ; DOM es una forma de describir esos nodos y las relaciones entre ellos.
Un documento DOM es una colección de nodos o piezas de información organizadas en una jerarquía. Esta jerarquía permite al desarrollador navegar por el árbol en busca de información específica. Debido a que se basa en una jerarquía de información, se dice que el DOM está basado en árboles .
El DOM XML, por otro lado, también proporciona una API que permite a un desarrollador agregar, editar, mover o eliminar nodos en el árbol en cualquier punto para crear una aplicación.
Ejemplo
El siguiente ejemplo (sample.htm) analiza un documento XML ("dirección.xml") en un objeto DOM XML y luego extrae información de él con JavaScript:
<!DOCTYPE html>
<html>
<body>
<h1>TutorialsPoint DOM example </h1>
<div>
<b>Name:</b> <span id = "name"></span><br>
<b>Company:</b> <span id = "company"></span><br>
<b>Phone:</b> <span id = "phone"></span>
</div>
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/xml/address.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.getElementById("name").innerHTML=
xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
document.getElementById("company").innerHTML=
xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
document.getElementById("phone").innerHTML=
xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
Contenido de address.xml son los siguientes:
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
Ahora conservemos estos dos archivos sample.htm y address.xml en el mismo directorio /xml y ejecutar el sample.htmarchivo abriéndolo en cualquier navegador. Esto debería producir el siguiente resultado.
Aquí, puede ver cómo se extrae cada uno de los nodos secundarios para mostrar sus valores.
UN Namespacees un conjunto de nombres únicos. El espacio de nombres es un mecanismo mediante el cual se pueden asignar el nombre de elemento y atributo a un grupo. El espacio de nombres se identifica mediante URI (identificadores uniformes de recursos).
Declaración de espacio de nombres
Un espacio de nombres se declara utilizando atributos reservados. Dicho nombre de atributo debe serxmlns o empezar con xmlns: como se muestra a continuación:
<element xmlns:name = "URL">
Sintaxis
El espacio de nombres comienza con la palabra clave xmlns.
La palabra name es el prefijo del espacio de nombres.
los URL es el identificador del espacio de nombres.
Ejemplo
El espacio de nombres afecta solo a un área limitada del documento. Un elemento que contiene la declaración y todos sus descendientes están en el ámbito del espacio de nombres. A continuación se muestra un ejemplo simple de espacio de nombres XML:
<?xml version = "1.0" encoding = "UTF-8"?>
<cont:contact xmlns:cont = "www.tutorialspoint.com/profile">
<cont:name>Tanmay Patil</cont:name>
<cont:company>TutorialsPoint</cont:company>
<cont:phone>(011) 123-4567</cont:phone>
</cont:contact>
Aquí, el prefijo del espacio de nombres es conty el identificador de espacio de nombres (URI) como www.tutorialspoint.com/profile . Es decir, los nombres de los elementos y los nombres de los atributos con lacontprefijo (incluido el elemento de contacto), todos pertenecen al espacio de nombres www.tutorialspoint.com/profile .
XML Databasese utiliza para almacenar una gran cantidad de información en formato XML. Dado que el uso de XML está aumentando en todos los campos, es necesario tener un lugar seguro para almacenar los documentos XML. Los datos almacenados en la base de datos se pueden consultar utilizandoXQuery, serializado y exportado al formato deseado.
Tipos de bases de datos XML
Hay dos tipos principales de bases de datos XML:
- XML habilitado
- XML nativo (NXD)
XML: base de datos habilitada
La base de datos habilitada para XML no es más que la extensión proporcionada para la conversión de documentos XML. Esta es una base de datos relacional, donde los datos se almacenan en tablas que constan de filas y columnas. Las tablas contienen un conjunto de registros, que a su vez constan de campos.
Base de datos XML nativa
La base de datos XML nativa se basa en el contenedor en lugar del formato de tabla. Puede almacenar una gran cantidad de documentos y datos XML. La base de datos XML nativa es consultada por elXPath-expresiones.
La base de datos XML nativa tiene una ventaja sobre la base de datos habilitada para XML. Es altamente capaz de almacenar, consultar y mantener el documento XML que una base de datos habilitada para XML.
Ejemplo
El siguiente ejemplo demuestra la base de datos XML:
<?xml version = "1.0"?>
<contact-info>
<contact1>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact1>
<contact2>
<name>Manisha Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 789-4567</phone>
</contact2>
</contact-info>
Aquí, se crea una tabla de contactos que contiene los registros de contactos (contacto1 y contacto2), que a su vez consta de tres entidades: nombre, empresa y teléfono .
Este capítulo describe LAS diversas methods to view an XML document. Un documento XML se puede ver usando un editor de texto simple o cualquier navegador. La mayoría de los principales navegadores admiten XML. Los archivos XML se pueden abrir en el navegador simplemente haciendo doble clic en el documento XML (si es un archivo local) o escribiendo la ruta URL en la barra de direcciones (si el archivo está ubicado en el servidor), de la misma manera que abrimos otros archivos en el navegador. Los archivos XML se guardan con un".xml" extensión.
Exploremos varios métodos mediante los cuales podemos ver un archivo XML. El siguiente ejemplo (sample.xml) se utiliza para ver todas las secciones de este capítulo.
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
Editores de texto
Se puede usar cualquier editor de texto simple como Notepad, TextPad o TextEdit para crear o ver un documento XML como se muestra a continuación:
Navegador Firefox
Abra el código XML anterior en Chrome haciendo doble clic en el archivo. El código XML muestra la codificación con color, lo que hace que el código sea legible. Muestra el signo más (+) o menos (-) en el lado izquierdo del elemento XML. Cuando hacemos clic en el signo menos (-), el código se oculta. Cuando hacemos clic en el signo más (+), las líneas de código se expanden. La salida en Firefox es la que se muestra a continuación:
Navegador Chrome
Abra el código XML anterior en el navegador Chrome. El código se muestra como se muestra a continuación:
Errores en el documento XML
Si a su código XML le faltan algunas etiquetas, se muestra un mensaje en el navegador. Intentemos abrir el siguiente archivo XML en Chrome:
<?xml version = "1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact-info>
En el código anterior, las etiquetas de inicio y finalización no coinciden (consulte la etiqueta contact_info), por lo tanto, el navegador muestra un mensaje de error como se muestra a continuación:
XML Editores un editor de lenguaje de marcado. Los documentos XML se pueden editar o crear utilizando editores existentes como el Bloc de notas, WordPad o cualquier editor de texto similar. También puede encontrar un editor XML profesional en línea o para descargar, que tiene funciones de edición más potentes, como:
- Cierra automáticamente las etiquetas que quedan abiertas.
- Comprueba estrictamente la sintaxis.
- Destaca la sintaxis XML con color para una mayor legibilidad.
- Le ayuda a escribir un código XML válido.
- Proporciona verificación automática de documentos XML con DTD y esquemas.
Editores XML de código abierto
A continuación se muestran algunos editores XML de código abierto:
Online XML Editor - Este es un editor XML ligero que puede usar en línea.
Xerlin : Xerlin es un editor XML de código abierto para la plataforma Java 2 publicado bajo una licencia de Apache. Es una aplicación de modelado XML basada en Java, para crear y editar archivos XML fácilmente.
CAM - Mecanismo de ensamblaje de contenido - La herramienta CAM XML Editor viene con XML + JSON + SQL Open-XDX patrocinado por Oracle.
XML parseres una biblioteca de software o un paquete que proporciona una interfaz para que las aplicaciones cliente trabajen con documentos XML. Comprueba el formato adecuado del documento XML y también puede validar los documentos XML. Los navegadores modernos tienen analizadores XML integrados.
El siguiente diagrama muestra cómo el analizador XML interactúa con el documento XML:
El objetivo de un analizador es transformar XML en un código legible.
Para facilitar el proceso de análisis, se encuentran disponibles algunos productos comerciales que facilitan el desglose del documento XML y producen resultados más confiables.
Algunos analizadores de uso común se enumeran a continuación:
MSXML (Microsoft Core XML Services) - Este es un conjunto estándar de herramientas XML de Microsoft que incluye un analizador.
System.Xml.XmlDocument - Esta clase es parte de la biblioteca .NET, que contiene varias clases diferentes relacionadas con el trabajo con XML.
Java built-in parser- La biblioteca de Java tiene su propio analizador. La biblioteca está diseñada para que pueda reemplazar el analizador incorporado con una implementación externa como Xerces de Apache o Saxon.
Saxon - Saxon ofrece herramientas para analizar, transformar y consultar XML.
Xerces - Xerces está implementado en Java y es desarrollado por la famosa Apache Software Foundation de código abierto.
Cuando un programa de software lee un documento XML y realiza las acciones correspondientes, esto se denomina procesamiento del XML. Cualquier programa que pueda leer y procesar documentos XML se conoce como procesador XML . Un procesador XML lee el archivo XML y lo convierte en estructuras en memoria a las que puede acceder el resto del programa.
El procesador XML más fundamental lee un documento XML y lo convierte en una representación interna para que la utilicen otros programas o subrutinas. Esto se llama analizador y es un componente importante de cada programa de procesamiento XML.
Procesador implica procesar las instrucciones, que se pueden estudiar en el capítulo Instrucción de procesamiento .
Tipos
Los procesadores XML se clasifican como validating o non-validatingtipos, dependiendo de si comprueban la validez de los documentos XML. Un procesador que descubre un error de validez debe poder informarlo, pero puede continuar con el procesamiento normal.
A few validating parsers are - xml4c (IBM, en C ++), xml4j (IBM, en Java), MSXML (Microsoft, en Java), TclXML (TCL), xmlproc (Python), XML :: Parser (Perl), Java Project X (Sun, en Java).
A few non-validating parsers are - OpenXML (Java), Lark (Java), xp (Java), AElfred (Java), expat (C), XParse (JavaScript), xmllib (Python).