Tutorial XML para principiantes
ยฟQuรฉ es XML?
XML significa eXextensible MArkupe Llenguaje. Es un lenguaje (no>un lenguaje de programaciรณn) que utiliza el marcado y puede extenderse. Se deriva de Standard Genergizado MArkupe Lidioma (SGML). XML tambiรฉn utiliza DTD (Ddocumento Type Ddefiniciones) para definir la estructura del documento XML.
XML no es para manejar operaciones y algoritmos computacionales. Por tanto, XML no es un lenguaje de programaciรณn. El objetivo principal es transportar datos, no mostrar informaciรณn. XML cierra la brecha entre la legibilidad humana y la legibilidad de las mรกquinas. A diferencia de las etiquetas HTML, las etiquetas XML son autodescriptivas.
XML es un formato abierto. La extensiรณn del nombre de archivo XML es .xml
Historia de XML
XML comenzรณ en 1996 y se publicรณ por primera vez en 1998. Wundo Wide Web Consortium (W3C) es el desarrollador de XML, y se convirtiรณ en un Recomendaciรณn W3C en el 1998.
Hay dos versiones de XML.
- XML1.0
- XML1.1
XML1.1 es la รบltima versiรณn. Todavรญa, XML1.0 es la versiรณn mรกs utilizada.
Los editores de XML son:
- Tim Bray,
- Jean Paoli,
- CM Sperberg,
- Eva Maler,
- Franรงois Yergeau.
Funciones XML
Estas son algunas caracterรญsticas importantes de XML:
- Es extensible y legible por humanos.
- Es independiente de la plataforma y el idioma.
- Conserva el espacio en blanco.
- Simplicidad general.
- Carรกcter autodescriptivo.
- Separa los datos del HTML.
- Las etiquetas XML no estรกn predefinidas. Debe definir sus etiquetas personalizadas.
- XML fue diseรฑado para transportar datos, no para mostrarlos.
- El cรณdigo de marcado XML es fรกcil de entender para un ser humano.
- El formato bien estructurado es fรกcil de leer y escribir desde programas.
- XML es un lenguaje de marcado extensible como HTML.
Codificaciรณn XML
La codificaciรณn es la conversiรณn de caracteres Unicode a su representaciรณn binaria. UTF se utiliza para la codificaciรณn XML. Utf son las siglas de UCS (UCS son las siglas de UNIVERSAL Cpersonaje Sy) Ttransformaciรณn Fformato.
Principalmente, existen dos tipos de codificaciรณn UTF.
- UTF-8: UTF-8 utiliza 8 bits para representar los caracteres.
- UTF-16
Ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
Utiliza 16 bits para representar los caracteres.
Ejemplo:
<?xml version="1.0" encoding="UTF-16"?>
Puede utilizar codificaciรณn dentro de la declaraciรณn XML. UTF-8 es la codificaciรณn predeterminada en XML.
Sintaxis XML
El siguiente segmento de cรณdigo muestra la sintaxis XML bรกsica.
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Declaraciรณn XML
La declaraciรณn XML consta de la versiรณn XML, la codificaciรณn de caracteres y/o el estado independiente. La declaraciรณn es opcional.
Sintaxis para la declaraciรณn XML
El siguiente segmento de cรณdigo muestra la sintaxis de la declaraciรณn XML.
<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?>
Reglas de declaraciรณn XML
A continuaciรณn se presentan las reglas de declaraciรณn XML.
- Si la declaraciรณn XML estรก presente, debe ser lo primero que aparezca.
- La declaraciรณn XML distingue entre mayรบsculas y minรบsculas y debe comenzar con minรบsculas. <?xml.
- No tiene etiqueta de cierre.
Ejemplo de declaraciรณn XML
El siguiente segmento de cรณdigo muestra un ejemplo de una declaraciรณn XML.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Comentarios XML
Los comentarios son opcionales. Agregar comentarios ayuda a comprender el contenido del documento.
Sintaxis para comentarios XML
Un comentario comienza con <!โ y termina con ->.
El siguiente segmento de cรณdigo muestra la sintaxis de los comentarios XML.
<!-- Add your comment here -->
Etiquetas y elementos XML
Las etiquetas funcionan como pares excepto en las declaraciones. Cada par de etiquetas consta de una etiqueta de apertura (Tambiรฉn conocido como el etiqueta de inicio) Y un etiqueta de cierre (Tambiรฉn conocido como el etiqueta final).
Los nombres de las etiquetas estรกn encerrados en <>. Para un par de etiquetas en particular, las etiquetas inicial y final deben ser idรฉnticas excepto que la etiqueta final tiene / despuรฉs de la <.
<name>...</name>
Todo lo que se encuentre entre las etiquetas de apertura y cierre se denomina contenido.
La etiqueta de apertura, el contenido y la etiqueta de cierre, en conjunto, se denominan de Hero .
Opening tag + content + closing tag = an element
Nota: Los elementos tambiรฉn pueden contener atributos. Aprenderรกs los atributos muy pronto.
Consideremos el siguiente elemento.
<age>20</age>
En el elemento anterior,
- edad son los nombre del elemento.
Nota: nombre de etiqueta tambiรฉn conocido como de Hero or nombre del elemento.
- โ etiqueta de apertura
- 25 - contenido
- โ etiqueta de cierre.
Si no hay contenido entre las etiquetas, como se muestra a continuaciรณn, se denomina etiquetas vacรญas.
<result></result>
Reglas de elementos y etiquetas XML
La siguiente lista muestra las reglas de etiquetas y elementos XML.
- Las etiquetas distinguen entre mayรบsculas y minรบsculas.
Ejemplo:
Correcto:
<age>20</age>
Incorrecto:
<age>20</Age>
Nota: EDAD, Aรฑos, y edad Hay tres nombres diferentes en XML.
- Todos los documentos XML deben contener un รบnico elemento raรญz.
- Todos los elementos deben tener una etiqueta de cierre (excepto las declaraciones).
- El nombre de una etiqueta debe comenzar con una letra o un guiรณn bajo y no puede comenzar con XML
- El nombre de una etiqueta puede contener letras, dรญgitos, guiones, guiones bajos y puntos. Los guiones subrayan y los puntos son los รบnicos signos de puntuaciรณn permitidos.
- El nombre de una etiqueta no puede contener espacios.
- Todos los elementos deben estar anidados correctamente.
Ejemplo:
Correcto:
<b><u>This text is bold and italic</u></b>
Incorrecto:
<b><u>This text is bold and italic.</b></u>
Atributos XML
El atributo de un elemento se coloca despuรฉs del nombre de la etiqueta en la etiqueta inicial. Puede agregar mรกs de un atributo para un solo elemento con diferentes nombres de atributo.
Consideremos el siguiente documento XML.
<company name="ABC Holdings" location="London">
<chairman>Mr. John</chairman>
<gm>Mr. Wood</gm>
</company>
Hay dos atributos en el compaรฑรญa elemento, es decir nombre y localizaciรณn.
estudiemos el nombre atributo,
- nombre = "ABC Holdings" โ un atributo
- nombre - Nombre del Atributo
- ABC Holdings - valor de atributo
Nota: : Un Nombre del Atributo tambiรฉn se conoce como atributo.
Ademรกs, tenga en cuenta que en el ejemplo anterior, el compaรฑรญa son los raรญz .
Reglas de atributos XML
La siguiente lista muestra reglas de atributos XML.
- Los valores de los atributos deben estar entre comillas.
- Un elemento no puede contener varios atributos con el mismo nombre.
Atributo versus elemento
ยฟTodavรญa estรกs confundido acerca de la diferencia entre un atributo y un elemento? Aquรญ hay otro ejemplo.
Consideremos los documentos A y B que se muestran a continuaciรณn.
Documento A:
<teacher subject="English">
<name>Mr. John</name>.
<qualification>Graduate</qualification>
</teacher>
Documento B:
<teacher>
<subject>English</subject>
<name>Mr. John</name>
<qualification>Graduate</qualification>
</teacher>
En el documento A, el sujeto es un atributo.
En el documento B, el sujeto es un de Hero .
Entidades XML
ยฟQuรฉ son las entidades XML?
En tรฉrminos simples, las entidades son una forma de representar caracteres especiales. Las entidades tambiรฉn se conocen como entidad referencias.
ยฟPor quรฉ necesita entidades XML?
Algunos personajes (como ", & <, etc.) estรกn reservados en XML. Se les conoce como caracteres especiales y no se puede utilizar directamente para otros fines.
Por ejemplo, la directriz < y > sรญmbolos utilizados para tags. No puede escribir directamente desde el teclado durante menos que y mayor que seรฑales. En su lugar, es necesario utilizar entidades.
La siguiente tabla muestra algunas de las entidades XML mรกs populares.
| Caracter | Descripciรณn | Nombre de la entidad | Uso |
|---|---|---|---|
| " | Comillas dobles | quot | " |
| & | signo & | amp | & |
| " | Apรณstrofe (comilla simple) | Apos | ' |
| < | Less que firmar | lt | < |
| > | mayor que el signo | gt | > |
Ejemplo:
<friend>
<name>My friends are Alice & Jane.</name>
</friend>
HTML frente a XML
Similitudes entre HTML y XML
La siguiente lista muestra las similitudes entre HTML y XML.
- Ambos son formatos abiertos.
- Ambos son lenguajes de marcado.
- Ambos utilizan etiquetas y atributos para describir el contenido.
Diferencias entre HTML y XML
Aunque XML es como HTML, XML no reemplaza a HTML. Tambiรฉn existen algunas diferencias significativas entre HTML y XML.
La siguiente tabla muestra una comparaciรณn entre HTML y XML.
| HTML | XML | |
|---|---|---|
| Siglas de | Lenguaje de marcado de hipertexto | Lenguaje de marcado extensible |
| tipo de idioma | Un lenguaje de marcado predefinido. | Un marco para especificar lenguajes de marcado. |
| Detalles estructurales | No provisto. | Previsto. |
| Propรณsito | Se utiliza para mostrar datos. | Se utiliza para transportar datos. |
| Conducido por | Impulsado por el formato. | Basado en contenido. |
| Nature | Tiene un carรกcter estรกtico. | Tiene un carรกcter dinรกmico. |
| Tipo de etiqueta | Etiquetas predefinidas. | Etiquetas definidas por el usuario. |
| Lรญmite de etiquetas | Hay un nรบmero limitado de etiquetas disponibles. | Las etiquetas son extensibles. |
| Etiquetas de cierre | No es necesario utilizar etiquetas de cierre (pero se recomienda utilizar etiquetas de cierre). | Las etiquetas de cierre son obligatorias. |
| Soporte de espacio de nombres | No soportado. | Soportado. |
| Sensibilidad del caso | Las etiquetas no distinguen entre mayรบsculas y minรบsculas. | Las etiquetas distinguen entre mayรบsculas y minรบsculas. |
| Espacio en blanco | Los espacios en blanco no se pueden conservar (se pueden ignorar los espacios en blanco). | Se conservan los espacios en blanco (no se pueden ignorar los espacios en blanco). |
| Analizando en JavaScript | No es necesaria ninguna aplicaciรณn extra. | Necesita implementaciรณn DOM. |
| Anidamiento de cรณdigo | No necesariamente necesario. | Necesario. |
| Errores | Puede ignorar pequeรฑos errores. | No se permiten errores. |
| Extensiรณn de nombre de archivo | . Html or . Htm | .xml |
| Tamaรฑo | Comparativamente grande. | Comparativamente pequeรฑo. |
| Citas | No se requieren comillas para los valores de los atributos. | Requerido para valores de atributos XML. |
| Soporte de objetos | Ofrece soporte para objetos nativos. | Los objetos deben expresarse mediante convenciones. |
| Soporte nulo | Reconoce de forma nativa el valor nulo. | Necesita usar xsi:nil en elementos. |
| Decisiones de formato | Proporciona mapeo directo para los datos de la aplicaciรณn. | Requiere un esfuerzo mayor. |
| Curva de aprendizaje | Less Curva de aprendizaje pronunciada en comparaciรณn con XML. | Curva de aprendizaje pronunciada. |
| sitio web | https://html.spec.whatwg.org/ | https://www.w3.org/TR/xml11/ |
Sintaxis HTML bรกsica
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
Sintaxis XML bรกsica
<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Mismo ejemplo con HTML y XML
Con HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p>Book</p>
<p>Name: Anna Karenina</p>
<p>Author: Leo Tolstoy</p>
<p>Publisher: The Russian Messenger</p>
</body>
</html>
Con XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
<publisher>The Russian Messenger</publisher>
</book>
JSON frente a XML
Similitudes entre JSON y XML
La siguiente lista muestra las similitudes entre JSON y XML.
- Ambos son formatos abiertos.
- Ambos se describen a sรญ mismos.
- Ambos tienen una estructura jerรกrquica.
- Ambos pueden analizarse y utilizarse en varios lenguajes de programaciรณn.
Diferencias entre JSON y XML
Tambiรฉn existen varias diferencias entre XML y JSON.
Las siguientes tablas muestran una comparaciรณn entre JSON y XML.
| JSON | XML | |
|---|---|---|
| Siglas de | JavaNotaciรณn de objetos de script | Lenguaje de marcado extensible |
| Extendido desde | JavaScript | SGML |
| Almacenamiento de datos | Datos almacenados como pares clave-valor. | Datos almacenados como una estructura de รกrbol. |
| Los espacios de nombres | No hay soporte para espacios de nombres. | Admite espacios de nombres. |
| Comentarios | No se admite agregar comentarios. | Puede agregar comentarios. |
| Accesibilidad de datos | Fรกcilmente accesible como objetos JSON. | Es necesario analizar los datos. |
| metadatos | No se admite la adiciรณn de metadatos. | Puede escribir metadatos. |
| Tipos | Tipos JSON: cadena, nรบmero, matriz, booleano. | Todos los datos XML deben ser instrumentos de cuerda. |
| Tipos de datos de soporte | soportes texto y nรบmero Sรณlo tipos de datos. | Admite muchos tipos de datos (texto, nรบmeros, imรกgenes, etc.) |
| Soporte de matriz | Mรกs soporte para matrices en comparaciรณn con XML. | Ningรบn o menos soporte para matrices. |
| Soporte de objetos | Soporte nativo para objetos. | El objeto tiene que expresarse por convenciones. |
| Soporte del kit de herramientas AJAX | Soportado. | No es totalmente compatible. |
| Recuperando valores | Fรกcil | Difรญcil. |
| Deserializando/serializando | Completamente automatizado. | Los desarrolladores tienen que escribir JavaCรณdigo de script. |
| Soporte del navegador | Compatible con la mayorรญa de los navegadores. | El anรกlisis XML entre navegadores puede ser complicado. |
| Codificaciรณn | Solo admite codificaciรณn UTF-8. | Admite varias codificaciones. |
| Capacidades de visualizaciรณn | Sin capacidades de visualizaciรณn. | Ofrecer capacidades de visualizaciรณn. |
| Tamaรฑo del documento | Mรกs pequeรฑo que XML. | Grande que JSON. |
| Extensiรณn de nombre de archivo | json | .xml |
| Seguridad | Less asegurado. | Mรกs seguro que JSON. |
| Fรกcil de leer | Relativamente fรกcil. | Relativamente difรญcil. |
| Curva de aprendizaje | Fรกcil de aprender. | Curva de aprendizaje pronunciada. |
| sitio web | https://www.json.org/json-en.html | https://www.w3.org/TR/xml11/ |
Sintaxis JSON bรกsica
{string:value, .......}
Mismo ejemplo con JSON y XML
Con JSON
{"books":[
{"name":"Anna Karenina", "author":"Leo Tolstoy"},
{"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
{"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
{"name":"Invisible Man", "author":"Ralph Ellison"}
]}
Con XML
<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
<book>
<name>Anna Karenina</name>
<author>Leo Tolstoy</author>
</book>
<book>
<name>One Hundred Years of Solitude</name>
<author>Gabriel Garcia Marquez</author>
</book>
<book>
<name>The Great Gatsby</name>
<author>Scott Fitzgerald</author>
</book>
<book>
<name>Invisible Man</name>
<author>Ralph Ellison</author>
</book>
</books>
DTD XML
ยฟQuรฉ es DTD?
DTD significa Ddocumento Type Ddefiniciรณn. Define la estructura de un documento XML utilizando algunos elementos legales. XML DTD es opcional.
Reglas DTD
La siguiente lista muestra las reglas DTD.
- Si la DTD estรก presente, debe aparecer al inicio del documento (sรณlo la declaraciรณn XML puede aparecer encima de la DTD).
- La declaraciรณn del elemento debe comenzar con un ! marca.
- El nombre de DTD y el tipo de elemento del elemento raรญz deben ser los mismos.
Ejemplos de DTD
Ejemplo de una DTD interna:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT school (#PCDATA)>
]>
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
En el ejemplo anterior,
- !DOCTYPE estudiante indica el comienzo de la declaraciรณn DTD. Y el estudiante es el elemento raรญz del documento XML.
- !ELEMENTO estudiante indica el estudiante el elemento debe contener nombre Apellido y colegio .
- !ELEMENTO nombre indica el Nombre el elemento es de tipo #DATOSPC (Pculo Cpersonaje Dato).
- !ELEMENTO apellido indica el apellido el elemento es de tipo #DATOSPC.
- !ELEMENTO escuela indica el colegio el elemento es de tipo #DATOSPC.
Ejemplo de una DTD externa:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<firstname>Mark</firstname>
<lastname>Wood</lastname>
<school>Hills College</school>
</student>
El contenido del archivo DTD (student.dtd) es el siguiente.
<!ELEMENT student (firstname,lastname,school)> <!ELEMENT firstname (#PCDATA)> <!ELEMENT lastname (#PCDATA)> <!ELEMENT school (#PCDATA)>
DOM XML
ยฟQuรฉ es DOM?
DOM significa Ddocumento Oobjeto Mmodelo. Define una manera estรกndar de acceder y manipular documentos XML. DOM tiene una estructura de รกrbol (jerรกrquica).
Ejemplo de DOM
Consideremos el siguiente documento XML.
<?xml version="1.0" encoding="UTF-8" ?>
<school>
<student>
<name>
<first_name>Alex</first_name>
<last_name>Clarke</last_name>
</name>
<age>14</age>
<address>No. 35, Flower Road, Leeds</address>
</student>
</school>
La estructura de รกrbol del archivo XML anterior se verรญa como la siguiente imagen.

Validaciรณn XML
ยฟQuรฉ son los documentos XML bien formados?
Bien formado Los documentos XML son documentos XML con sintaxis correcta.
ยฟQuรฉ son los documentos XML vรกlidos?
Vรกlido Los documentos XML estรกn bien formados y tambiรฉn cumplen con las reglas DTD.
Espacios de nombres XML
ยฟPor quรฉ espacios de nombres?
Los espacios de nombres ayudan a evitar conflictos de nombres de elementos.
Declaraciรณn de espacio de nombres
A continuaciรณn se muestra la sintaxis para la declaraciรณn del espacio de nombres.
<element xmlns:name="URL">
En la declaraciรณn anterior,
- El xmlns La palabra clave indica el comienzo del espacio de nombres.
- El nombre es el prefijo del espacio de nombres.
- El URL es el identificador del espacio de nombres.
Ejemplos de espacios de nombres
El siguiente segmento de cรณdigo muestra un ejemplo de espacios de nombres.
<?xml version="1.0" encoding="UTF-8" ?>
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">
<abt:founder>Krishna</abt:founder>
<abt:vision>Fun and Free Education for ALL</abt:vision>
</abt:about>
Editores XML
Hay varios editores XML disponibles. Cualquier editor de texto (como el Bloc de notas, etc.) se puede utilizar como editor XML.
La siguiente lista muestra algunos de los editores XML populares en 2021.
1) Bloc de notas XML
XML Notepad es un editor de cรณdigo abierto para XML. Tiene una vista de รกrbol y salida XSL en el panel izquierdo y texto de nodo a la derecha. Tiene una ventana de depuraciรณn de errores en la parte inferior.
Estadรญsticas clave:
- Tipo: editor XML
- Desarrollador - Microsoft
- Sistema operativo compatible โ Microsoft Windows.
- Precio โ Gratis
2) Estudio de lรกpiz รณptico
Stylus Studio es un IDE escrito en C++ para lenguaje de marcado extensible (XML). Permite al usuario editar y transformar documentos XML, datos como intercambio electrรณnico de datos (EDI), CSV y datos relacionales.
Estadรญsticas clave:
- Tipo: entorno de desarrollo integrado (IDE) para XML
- Desarrollador โ Corporaciรณn de software de progreso
- Sistema operativo compatible โ Microsoft Windows.
- Precio: pagado (consulte el sitio web que figura a continuaciรณn para conocer el precio mรกs reciente), prueba gratuita disponible.
3) Altova XMLSpy
XMLSpy se comercializa principalmente como editor de JSON y XML. Tiene un diseรฑador y editor de esquemas integrados. Incluye Visual Studio y Eclipse integraciรณn.
Estadรญsticas clave:
- Tipo โ Editor XML
- Desarrollador - Altova
- Sistema operativo compatible โ Microsoft Windows.
- Precio: pagado (consulte el sitio web que figura a continuaciรณn para conocer el precio mรกs reciente), prueba gratuita disponible.
4) Editor XML de oxรญgeno
Oxygen XML es un editor multiplataforma desarrollado en JavaAyuda a validar esquemas como DTD, W3C XML Schema, RELAX NG, Schematron, NRL y NVDL.
Estadรญsticas clave:
- Tipo: editor XML
- Desarrollador - SyncRO Soft Ltd.
- Sistema operativo compatible โ Windows, Linux y Mac OS X
- Precio: pagado (consulte el sitio web que figura a continuaciรณn para conocer el precio mรกs reciente)
Enlace:https://www.oxygenxml.com/
5) Xmplificar
Xmplify XML Editor proporciona un entorno de ediciรณn totalmente compatible con XML con validaciรณn automรกtica de documentos, DTD y esquemas XML, etc.
Estadรญsticas clave:
- Tipo โ Editor XML
- Desarrollador โ Corporaciรณn MOSO
- Sistema operativo compatible: Mac OS.
- Precio: pagado (consulte el sitio web que figura a continuaciรณn para conocer el precio mรกs reciente)
Analizadores XML
Un analizador XML es una biblioteca de software que proporciona una interfaz para trabajar con documentos XML. Comprueba si el formato del documento XML es correcto. Algunos analizadores tambiรฉn pueden validar los documentos XML. Los navegadores modernos vienen con analizadores XML.
SAX
SAX son las siglas de Simple API para Xml. Es un aAplicaciรณn pprograma iinterfaz (API) para analizar documentos XML. Se comportan de manera similar a los controladores de eventos en Java.
A diferencia de DOM, SAX es un ejemplo de analizador XML basado en eventos.
Aquรญ hay algunas diferencias importantes entre SAX y DOM.
| SAX | DOM | |
|---|---|---|
| Siglas de | API simple para XML | Modelo de objeto de documento |
| Tipo de analizador | Basado en eventos | basado en objetos |
| Leer y escribir XML | Sรณlo lectura | Ambos leen y escriben |
| Insertar/actualizar/eliminar nodos | No se pueden insertar/actualizar/eliminar nodos | Puede insertar/actualizar/eliminar nodos |
| Eficiencia de la memoria | Buena eficiencia de memoria | Varรญable |
| Speed (Rapidez) | Mรกs lento que el analizador DOM | Mรกs rรกpido que el analizador SAX |
| Adaptado para | Archivos de tamaรฑo pequeรฑo | Archivos de gran tamaรฑo |
Enlace de datos XML
El enlace de datos XML es la representaciรณn de datos en un documento XML como un objeto comercial en la memoria de una computadora.
Hay tres enfoques para el enlace de datos XML.
- Enlace de datos basado en esquemas XML: Las clases XML correspondientes se crean segรบn el esquema.
- Enlace de datos basado en clases: Se crea un esquema XML correspondiente basado en clases.
- Enlace de datos basado en mapeo: Describe cรณmo un esquema XML existente se asigna a un conjunto de clases (y viceversa).
Tambiรฉn existen marcos de enlace de datos XML.
Ejemplos:
El enlace de datos XML es fรกcil con los marcos. El marco de enlace de datos genera una gran cantidad de cรณdigo para usted. Debe introducir un esquema DTD o XML.
Esquemas XML
XML Esquema (tambiรฉn conocido como Definiciรณn de esquema XML or XSD) se utiliza para describir la estructura del documento XML. Es una alternativa a la DTD.
ยฟPor quรฉ el esquema es importante?
DTD no es potente como esquema ya que no es lo suficientemente extensible ni flexible. Por lo tanto, puede que no sea adecuado para algunas situaciones. En tal situaciรณn, el esquema es importante. El objetivo principal de utilizar el esquema XML es definir los elementos y atributos de un documento XML.
ยฟEn quรฉ se diferencia el esquema XML del DTD?
La siguiente comparaciรณn muestra en quรฉ se diferencia XSD (esquema XML) de DTD.
| DTD | XSD | |
|---|---|---|
| Siglas de | Definiciรณn del tipo de documento | Definiciรณn de esquema XML |
| Checkout Extensibility | No extensible | extensible |
| Control sobre la estructura XML | Less control | Mas control |
| Tipos de datos de soporte | No se admite | Soportado |
| Soporte de espacio de nombres | No se admite | Soportado |
El siguiente segmento de cรณdigo muestra un ejemplo de esquema XML.
xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
<xs:element name = "employee">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
<xs:element name = "phone" type = "xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Ventajas de XML
Aquรญ, ventajas/beneficios de XML:
- Facilitรณ el transporte y el intercambio de datos.
- XML mejora el intercambio de datos entre varias plataformas.
- Es un lenguaje de marcado, que es un conjunto de caracteres o sรญmbolos colocados en un documento de texto.
- XML indica cรณmo debe verse el documento XML despuรฉs de mostrarlo.
- Simplifica el proceso de cambio de plataforma.
- Mejora la disponibilidad de datos.
- Admite documentos multilingรผes y Unicode.
- Proporcionar relativamente fรกcil de aprender y codificar.
- Es un lenguaje de marcado, que es un conjunto de caracteres o sรญmbolos colocados en un documento de texto.
- Realiza validaciรณn utilizando DTD y Schema.
- Hace que los documentos sean transportables entre sistemas y aplicaciones. Con la ayuda de XML, puedes intercambiar datos rรกpidamente entre diferentes plataformas.
- XML separa los datos de HTML.
Desventajas de XML
Estas son las desventajas/desventajas de usar XML:
- XML requiere una aplicaciรณn de procesamiento.
- La sintaxis XML es similar a otros formatos alternativos de transmisiรณn de datos "basados โโen texto", lo que a veces resulta confuso.
- No hay soporte para tipos de datos intrรญnsecos
- La sintaxis XML es redundante.
- No permite al usuario crear sus etiquetas.
Resumen
- XML significa lenguaje de marcado extensible. XML es un lenguaje (no un lenguaje de programaciรณn) que utiliza el marcado y se puede ampliar.
- El objetivo principal es transportar datos, no mostrarlos.
- XML 1.1 es la รบltima versiรณn. Sin embargo, XML 1.0 es la versiรณn mรกs utilizada.
- Las etiquetas funcionan como pares excepto en las declaraciones.
- Etiqueta de apertura + contenido + etiqueta de cierre = un elemento
- Las entidades son una forma de representar caracteres especiales.
- DTD significa Definiciรณn de tipo de documento. Define la estructura de un documento XML utilizando algunos elementos legales. XML DTD es opcional.
- DOM significa modelo de objetos de documento. Define una forma estรกndar de acceder y manipular documentos XML.
- Los documentos XML bien formados son documentos XML con sintaxis correcta.
- Los documentos XML vรกlidos estรกn bien formados y tambiรฉn cumplen con las reglas DTD.
- Los espacios de nombres ayudan a evitar conflictos de nombres de elementos.
