Software">
Nothing Special   »   [go: up one dir, main page]

XML Principios Básicos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

20/7/23, 13:56 XML principios básicos

Diego Lázaro Angular Libro de PHP 


Diego Lázaro Contacto Angular Libro de PHP

XML principios básicos


Tutorial con los principios básicos del lenguaje de
marcado XML, utilizado para la representación de
estructuras de datos

Contenido modificable 
Si ves errores o quieres modificar/añadir contenidos, puedes  crear un pull
request. Gracias

Indice de contenido

1. Introducción 7. ¿Qué es XPath?


2. Reglas básicas de sintaxis 8. ¿Qué es XLink?
3. Elementos en XML 9. ¿Que es XPointer?
4. Atributos en XML 10. Document Type Definition
5. Namespaces en XML 11. XML Schemas
6. Mostrar archivos XML 12. XML en el servidor

1. Introducción

XML son las siglas de Extensible Markup Language, un lenguage de marcado para
guardar y transportar datos legible para ordenadores y humanos. A pesar de que su

https://diego.com.es/xml-principios-basicos 1/18
20/7/23, 13:56 XML principios básicos

diseño está focalizado a documentos, se usa especialmente para la representación de


Diego Lázaro Angular Libro de PHP 
estructuras de datos como en los web services.

<?xml version="1.0" encoding="UTF-8"?>


<selva>
<animal>
<nombre>Werthers</nombre>
<tipo>Pantera</tipo>
<color>Negro</color>
<edad>12</edad>
</animal>
<animal>
<nombre>Bun</nombre>
<tipo>León</tipo>
<color>Marrón</color>
<edad>15</edad>
</animal>
</selva>

XML se usa frecuentemente para separar los datos de la presentación. XML no indica
cómo presentar la información, un mismo documento XML puede presentarse de
muchas formas. Es muy utilizado junto a aplicaciones HTML, donde XML guarda o
transporta los datos, y HTML les da formato y los muestra. Cuando se muestran los
datos en HTML, no es necesario tener que editar el archivo HTML cuando los datos
cambian, XML guarda los datos en archivos separados. Con los lenguajes de
programación web como PHP o Javascript se pueden leer archivos XML y actualizar el
contenido de cualquier página HTML.

La sintaxis que se utiliza para iniciar un documento XML es la siguiente:

<?xml version="1.0" encoding="UTF-8"?>

Se define la versión XML y la codificación de caracteres.

Los documentos XML forman una estructura de tipo árbol, comenzando desde la raíz
(root), con ramas hacia las hojas (leaves). Vamos a ver el siguiente ejemplo de un
archivo cine.xml:

<?xml version="1.0" encoding="UTF-8"?>


<cine>
<pelicula categoria="accion">
<titulo idioma="ingles">Mad Max</titulo>
<director>George Miller</director>
<estreno>15 mayo 2015</estreno>
<reparto>Tom Hardy</reparto>

https://diego.com.es/xml-principios-basicos 2/18
20/7/23, 13:56 XML principios básicos

<reparto>Charlize Theron</reparto>
Diego Lázaro<reparto>Nicholas
Angular Libro de PHP 
Hoult</reparto>
</pelicula>
<pelicula categoria="animacion">
<titulo idioma="ingles">Inside Out</titulo>
<director>Pete Docter</director>
<estreno>17 junio 2015</estreno>
<reparto>Amy Poehler</reparto>
<reparto>Phyllis Smith</reparto>
<reparto>Bill Hader</reparto>
</pelicula>
</cine>

La estructura en árbol sería así:

Los documentos XML están formados por árboles de elementos. Cada árbol comienza
con un elemento root, del cual surgen ramas (branches) a elementos hijo. Todos los
elementos pueden tener elementos hijo.

Se suelen emplear los términos parent, child y sibling para determinar el parentesco:
padre, hijo y hermano.

Todos los elementos pueden tener contenido textual ("Mad Max") y atributos
(categoria="accion").

2. Reglas básicas de sintaxis

Las reglas de sintaxis básicas de XML son muy simples:

https://diego.com.es/xml-principios-basicos 3/18
20/7/23, 13:56 XML principios básicos

Todos los elementos XML deben tener un elemento root que es padre de todos los
Diego Lázaro Angular Libro de PHP 
demás ().
La primera línea del documento se llama prolog. <?xml version="1.0"
encoding="UTF-8" ?> Es opcional, pero si se incluye ha de ir en la primera línea.
UTF-8 es la codificación de caracteres por defecto y la recomendable.
Todos los elementos han de tener su etiqueta de cierre ().
Las etiquetas XML son sensibles a mayúsculas y minúsculas. es diferente a .
Las etiquetas han de ir correctamente anidadas. Esto es incorrecto: Mad Max.
Los atributos XML deben ir entre comillas .
XML tiene caracteres especiales que han de utilizarse de distinta forma para evitar
conflicto, son 5:

$lt; <
> >
& &
' '
" "

Sólo < y & están estrictamente prohibidos en XML, pero es recomendable utilizar las
demás también.

La sintaxis para escribir comentarios en XML es como en HTML: <!-- Esto es un


comentario -->
XML no trunca múltiples espacios (HTML sí lo hace): XML: Hola que tal HTML: Hola
que tal
XML interpreta las nuevas líneas como LF (al igual que UNIX y Mac OSX).

3. Elementos en XML

Un elemento XML es cualquier cosa que esté incluída entre la etiqueta inicial y la final:

<director>George Miller</director>

Puede contener texto, atributos, otros elementos o una mezcla de los anteriores:

<?xml version="1.0" encoding="UTF-8"?>


<selva>
<animal>
<nombre>Werthers</nombre>
<tipo>Pantera</tipo>

https://diego.com.es/xml-principios-basicos 4/18
20/7/23, 13:56 XML principios básicos

<color>Negro</color>
Diego Lázaro<edad>12</edad>
Angular Libro de PHP 
</animal>
<animal>
<nombre>Bun</nombre>
<tipo>León</tipo>
<color>Marrón</color>
<edad>15</edad>
</animal>
</selva>

También es posible que no contenga nada:

<elemento></elemento>

Lo cual también se puede escribir así:

<elemento />

Los dos anteriores son elementos vacíos, y también pueden llevar atributos.

Reglas para los elementos:

Son sensibles a mayúsculas y minúsculas


Deben empezar con una letra o barra baja
No pueden empezar con las letras xml
Pueden contener letras, dígitos, guiones, barras bajas y puntos
No pueden contener espacios

Lo ideal es mantener unos nombres sencillos, evitando caracteres como guiones y


puntos.

Si los documentos XML tienen una base de datos correspondiente, lo normal es usar
los nombres de la base de datos para los elementos.

Si tienes un elemento como:

<animal>
<nombre>Bun</nombre>
<tipo>León</tipo>
</animal>

Y queremos extenderlo a:

https://diego.com.es/xml-principios-basicos 5/18
20/7/23, 13:56 XML principios básicos

<animal>
Diego Lázaro Angular Libro de PHP 
<nombre>Bun</nombre>
<tipo>León</tipo>
<color>Marrón</color>
<edad>15</edad>
</animal>

No hay ningún problema, XML es muy flexible y se extiende y adapta a los nuevos
elementos.

4. Atributos en XML

Los elementos XML pueden tener atributos, como en HTML. Estan diseñados para
contener datos relacionados con un elemento específico.

Han de ir siempre encerrados en comillas, ya sean simples o dobles:

<pelicula categoria="accion">
<titulo idioma="ingles">Mad Max</titulo>
<director>George Miller</director>
<estreno>15 mayo 2015</estreno>
<reparto>Tom Hardy</reparto>
<reparto>Charlize Theron</reparto>
<reparto>Nicholas Hoult</reparto>
</pelicula>

Si el valor del atributo lleva comillas, se puede emplear cualquiera de los dos
siguientes métodos:

<futbolista nombre='Gonzalo "Pipita" Higuaín'>


<futbolista nombre='Gonzalo &quot;Pipita&quot; Higuaín'>

Los atributos de alguna forma están limitados. Al contrario que los elementos, los
atributos:

No pueden contener múltiples valores


No pueden contener estructuras en árbol
No se pueden expandir fácilmente (para futuros cambios)

Por ejemplo, si es posible elegir, es mejor evitar esto:

<mensaje fecha="10-10-2015">
<asunto>Hola</asunto>

https://diego.com.es/xml-principios-basicos 6/18
20/7/23, 13:56 XML principios básicos

<mensaje>Que tal estás</mensaje>


Diego Lázaro
</mensaje> Angular Libro de PHP 

Y aplicar la fecha como otro elemento más:

<mensaje>
<fecha>10-10-2015</fecha>
<asunto>Hola</asunto>
<mensaje>Que tal estás</mensaje>
</mensaje>

O incluso como varios elementos más:

<mensaje>
<fecha>
<año>2015</año>
<mes>10</mes>
<dia>10</dia>
</fecha>
<asunto>Hola</asunto>
<mensaje>Que tal estás</mensaje>
</mensaje>

A menudo los atributos se utilizan para asignar ID's a elementos, como si fuera el ID
en HTML:

<mensaje id="142">
<fecha>
<año>2015</año>
<mes>10</mes>
<dia>10</dia>
</fecha>
<asunto>Hola</asunto>
<mensaje>Que tal estás</mensaje>
</mensaje>

Lo ideal es guardar los metadatos (datos sobre datos) como atributos, y los datos en sí
mismos como elementos.

5. Namespaces en XML

Los espacios de nombres o namespaces proporcionan una forma de evitar conflictos


de nombres entre elementos.

https://diego.com.es/xml-principios-basicos 7/18
20/7/23, 13:56 XML principios básicos

Los nombres de elementos pueden coincidir entre diferentes documentos XML. Por
Diego Lázaro Angular Libro de PHP 
ejemplo, el siguiente es un documento XML con información de una tabla HTML:

<table>
<tr>
<td>Léon</td>
<td>Tigre</td>
</tr>
</table>

Y el siguiente XML lleva el nombre de una mesa en concreto:

<table>
<name>Mesa de café</name>
<colour>Marrón</colour>
</table>

Si estos fragmentos de documentos se añaden juntos habría conflicto. Una aplicación


XML no sabrá como resolver estas diferencias.

La solución es emplear un prefijo. Las modificaciones siguientes evitan el conflicto


entre los dos fragmentos anteriores:

<h:table>
<h:tr>
<h:td>León</h:td>
<h:td>Tigre</h:td>
</h:tr>
</h:table>

<m:table>
<m:name>Mesa de café</m:name>
<m:colour>Marrón</m:colour>
</m:table>

Pero para emplear un prefijo, hay que establecer un espacio de nombres. El espacio de
nombres se define con el atributo xmlns en la etiqueta inicial del elemento. La sintaxis
es: xmlns:prefijo="URI":

<h:table xmlns:h="http://www.w3.org/TR/html5/">
<h:tr>
<h:td>León</h:td>
<h:td>Tigre</h:td>
</h:tr>
</h:table>

https://diego.com.es/xml-principios-basicos 8/18
20/7/23, 13:56 XML principios básicos

<m:table xmlns:m="http://www.ejemplo.com/muebles">
Diego Lázaro Angular
<m:name>Mesa Libro de PHP
de café</m:name> 
<m:colour>Marrón</m:colour>
</m:table>

En el ejemplo anterior, el atributo xmlns en el primer

le asigna al prefijo h: un namespace, y en el segundo table otro namespace al prefijo m:.

Cuando se define un namespace para un elemento, todos los elementos hijo con el
mismo prefijo están asociados al mismo namespace.

También pueden declararse namespaces en el elemento root:

<root xmlns:h="http://www.w3.org/TR/html5/"
xmlns:m="http://www.ejemplo.com/muebles">
<h:table>
<h:tr>
<h:td>León</h:td>
<h:td>Tigre</h:td>
</h:tr>
</h:table>
<m:table >
<m:name>Mesa de café</m:name>
<m:colour>Marrón</m:colour>
</m:table>
</root>

La URI no es para buscar información en esa URL, sino que se utiliza para darle un
nombre único al namespace. Se suele emplear una URL porque las empresas a veces
proporcionan información sobre dicho namespace en esa URL.

URI viene de Uniform Resource Identifier, y es un string de caracteres que identifican


una Internet Resource. La URI más común es la Uniform Resource Locator (URL) que
identifica un dominio. Otro no tan común es el Universal Resource Name (URN).

6. Mostrar archivos XML

Los archivos XML se pueden leer directamente en la mayoría de navegadores, pero lo


hacen prácticamente de la misma forma en la que son editados. Un ejemplo muy
común es en los sitemaps, como el sitemap de este mismo blog:

<url>
<loc>http://diego.com.es/</loc>
<changefreq>weekly</changefreq>
https://diego.com.es/xml-principios-basicos 9/18
20/7/23, 13:56 XML principios básicos

<priority>1.0</priority>
Diego Lázaro
</url> Angular Libro de PHP 
<url>
<loc>http://diego.com.es/blog/symfony</loc>
<priority>0.5</priority>
</url>

Se muestra de esta forma porque los documentos XML no llevan información acerca de
cómo mostrar los datos.

Para formatear XML se puede emplear PHP, Javascript, o XSLT, entre otros. No es
recomendable hacerlo en CSS.

XSLT son las siglas de eXtensible Stylesheet Language Transformations, y es el leguaje


de hojas de estilo de XML.

XSLT es más sofisticado que CSS. Con XSLT se pueden añadir/eliminar elementos y
atributos del archivo de salida. Se pueden también reordenar elementos, hacer tests y
decidir qué elementos mostrar o quitar, entre otras muchas cosas. XSLT utiliza XPath
para encontrar información en un documento XML (explicado en la siguiente sección).

Si partimos del ejemplo anterior del documento XML con el elemento root cine
(xmltest.xml):

<?xml version="1.0" encoding="UTF-8"?>


<?xml-stylesheet type="text/xsl" href="hojaxslt.xsl">
<cine>
<pelicula categoria="accion">
<titulo idioma="ingles">Mad Max</titulo>
<director>George Miller</director>
<estreno>15 mayo 2015</estreno>
<reparto>Tom Hardy</reparto>
<reparto>Charlize Theron</reparto>
<reparto>Nicholas Hoult</reparto>
</pelicula>
<pelicula categoria="animacion">
<titulo idioma="ingles">Inside Out</titulo>
<director>Pete Docter</director>
<estreno>17 junio 2015</estreno>
<reparto>Amy Poehler</reparto>
<reparto>Phyllis Smith</reparto>
<reparto>Bill Hader</reparto>
</pelicula>
</cine>

https://diego.com.es/xml-principios-basicos 10/18
20/7/23, 13:56 XML principios básicos

Se puede emplear el siguiente documento XSLT (hojaxslt.xsl) para transformar XML en


Diego Lázaro Angular Libro de PHP 
HTML antes de mostrarlo al servidor:

<?xml version="1.0" encoding="UTF-8"?>


<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<body style="font-family:Arial;font-size:14pt;background-color:#EEEEEE">
<xsl:for-each select="cine/pelicula">
<div style="background-color:#000;color:white;padding:6px">
<xsl:value-of select="titulo"/> -
<xsl:value-of select="director"/>
</div>
<div style="margin-left:20px;margin-bottom:1em;font-size:14pt">
<p>
Reparto:
<xsl:for-each select="reparto">
<p> <xsl:value-of select="."/> </p>
</xsl:for-each>
</p>
</div>
</xsl:for-each>
</body>
</html>

El ejemplo anterior quedaría así:

https://diego.com.es/xml-principios-basicos 11/18
20/7/23, 13:56 XML principios básicos

7. ¿Qué es XPath?
Diego Lázaro Angular Libro de PHP 
XPath es en lenguaje de ruta de XML para encontrar información en un documento
XML.

XPath es una sintaxis para definir partes de un documento XML, fundamental para las
hojas XSLT. XPath utiliza expresiones de ruta para navegar por el documento, y
contiene una librería con funciones estándar. XPath es una recomendación W3C y se
utiliza también en XQuery, XSLT y XLink:

XPath utiliza expresiones de ruta para seleccionar nodos y conjuntos de nodos en un


documento XML. Estas rutas son muy parecidas a las que se utilizan en los sistemas de
ordenadores tradicionales.

Las expresiones XPath pueden utilizarse en JavaScript, Java, XML Schema, PHP, Python,
C, C++...

Empleando el ejemplo anterior con el elemento root cine:

<cine>
<pelicula categoria="accion">
<titulo idioma="ingles">Mad Max</titulo>
<director>George Miller</director>
<ticket>8</ticket>
https://diego.com.es/xml-principios-basicos 12/18
20/7/23, 13:56 XML principios básicos

<reparto>Tom Hardy</reparto>
Diego Lázaro<reparto>Charlize
Angular Libro de PHP 
Theron</reparto>
<reparto>Nicholas Hoult</reparto>
</pelicula>
<pelicula categoria="animacion">
<titulo idioma="ingles">Inside Out</titulo>
<director>Pete Docter</director>
<ticket>10</ticket>
<reparto>Amy Poehler</reparto>
<reparto>Phyllis Smith</reparto>
<reparto>Bill Hader</reparto>
</pelicula>
</cine>

Se podrían emplear las siguientes expresiones XPath:

Expresión XPath Resultado


Selecciona el primer elemento pelicula del elemento
/cine/pelicula[1]
cine
Selecciona el último elemento pelicula del elemento
/cine/pelicula[last()]
cine
Selecciona el penúltimo elemento pelicula del
/cine/pelicula[last()-1]
elemento cine
Selecciona los dos primeros elementos película del
/cine/pelicula[position()<3]
elemento cine
Selecciona todos los elementos titulo que tienen el
//titulo[@idioma]
atributo idioma
Selecciona todos los elementos titulo que tienen el
//titulo[@idioma='ingles']
atributo idioma con el valor ingles
Selecciona todos los elementos pelicula del elemento
/cine/pelicula[ticket>8]
cine que tienen un elemento ticket mayor que 8
Selecciona todos los elementos titulo de los elementos
/cine/pelicula[ticket>8]/titulo pelicula que tienen un elemento ticket cuyo valor es
mayor que 8

8. ¿Qué es XLink?

XLink se utiliza para crear hiperenlaces en documentos XML. Cualquier elemento en un


documento XML puede comportarse como un enlace, y con XLink los enlaces pueden
definirse desde fuera de los archivos enlazados.

https://diego.com.es/xml-principios-basicos 13/18
20/7/23, 13:56 XML principios básicos

En HTML los enlaces se definen con . En XML se puede utilizar cualquier nombre de
Diego Lázaro Angular Libro de PHP 
elemento (lo que sería imposible para un navegador predecir qué elementos de
enlaces existen en los documentos XML).

<?xml version="1.0" encoding="UTF-8"?>


<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple" xlink:href="http://www.google.com">Google</homepage>
<homepage xlink:type="simple" xlink:href="http://www.w3.org">Visita W3C</homepage>
</homepages>

Para poder acceder a las características de XLink se ha de incluir el namespace XLink:


"http://www.w3.org/1999/xlink".

Los atributos xlink:type y xlink:href vienen del namespace XLink.

xlink:type="simple" crea un enlace normal de HTML. xlink:href indica la URL a la que


dirigirse.

<?xml version="1.0" encoding="UTF-8"?>


<cine xmlns:xlink="http://www.w3.org/1999/xlink">
<pelicula title="Mad Max">
<description
xlink:type="simple"
xlink:href="/imagenes/madmax.gif"
xlink:show="new">
Descripción de la película Mad Max
</description>
</pelicula>
<pelicula title="Inside Out">
<description
xlink:type="simple"
xlink:href="/imagenes/insideout.gif"
xlink:show="new">
Descripción de la película Inside Out
</description>
</pelicula>

El atributo xlink:show="new" especifica que el enlace se debe abrir en una nueva


ventana.

En los ejemplos anteriores se han mostrado enlaces simples. Con XLink se puede
acceder a sitios remotos y resources.

Si por ejemplo en el atributo xlink:show ponemos el valor "embed", el resource se


procesará en la misma página. Si este resource es otro documento XML, se puede
https://diego.com.es/xml-principios-basicos 14/18
20/7/23, 13:56 XML principios básicos

crear una jerarquía de documentos XML.


Diego Lázaro Angular Libro de PHP 

También es posible especificar cuándo debe aparecer el resource, con el atributo


xlink:actuate.

Referencia de atributos XLink:

Atributo Valor Descripción


Define cuando se ha de leer y
xlink:actuate onLoad, onRequest, other, none
mostrar el resource enlazado
xlink:href URL Especifica la URL a la que enlazar
embed, new, replace, other, Especifica donde abrir el enlace. Por
xlink:show
none defecto es "replace"
simple, extended, locator, arc,
xlink:type Especifica el tipo de enlace
resource, title, none

9. ¿Qué es XPointer?

XPointer permite a los enlaces apuntar a partes específicas de un documento XML.


XPointer utiliza expresiones XPath para navegar por el documento XML.

En el siguiente ejemplo se utiliza XPointer junto con XLink para apuntar a una parte
específica del documento. Primero empezamos con el documento objetivo al que
vamos a enlazar:

<?xml version="1.0" encoding="UTF-8"?>


<cine>
<pelicula titulo="Mad Max" id="23">
<imagen url="http://ejemplo.com/madmax.gif" />
<description>Descripción de la película Mad Max</description>
</pelicula>
<pelicula titulo="Inside Out" id="34">
<imagen url="http://ejemplo.com/insideout.gif" />
<description>Descripción de la película Inside Out</description>
</pelicula>
</cine>

Ahora el elemento película tiene un atributo llamado id.

En lugar de enlazar al documento entero como con XLink, XPointer permite enlazar
partes específicas. Para ello se añade una almohadilla # y una expresión XPointer
después de la URL en el atributo xlink:href, así:

https://diego.com.es/xml-principios-basicos 15/18
20/7/23, 13:56 XML principios básicos

_xlink:href="http://ejemplo.com/peliculas.xml#xpointer(id('23'))"_
Diego Lázaro Angular Libro de PHP 

También existe una forma más reducida de enlazar a un elemento con el atributo id:

_xlink:href="http://ejemplo.com/peliculas.xml#23"_

El siguiente documento XML contiene un enlace con más información de mi película


favorita:

<cine>
<mifavorita>
<imagen url="http://ejemplo.com/madmax.gif" />
<enlace xlink:type="simple" xlink:href="http://ejemplo.com/peliculas.xml#34">
Enlace a mi película favorita</enlace>
</mifavorita>
</cine>

10. Document Type Definition

A un documento XML con la sintaxis correcta se le denomina "well formed".

Un documento XML válido debe además respetar un DTD, Document Type Definition,
que son reglas que definen los elementos y atributos permitidos. Un DTD puede
llamarse DTD, que hace referencia al Document Type Definition original, o XML
Schema, que es una alternativa a DTD basada en XML.

Un DTD permite que un grupo de personas acuerden utilizar un DTD estándar para el
intercambio de datos y así poder asegurar una uniformidad.

Un documento XML válido es también well formed, es decir, que tiene la sintaxis
correcta:

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE pelicula SYSTEM "pelicula.dtd">

La declaración !DOCTYPE hace referencia a un archivo DTD externo. El contenido de


pelicula.dtd es el siguiente:

<!DOCTYPE pelicula
[
<!ELEMENT pelicula (titulo,estreno,director,reparto)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT estreno (#PCDATA)>

https://diego.com.es/xml-principios-basicos 16/18
20/7/23, 13:56 XML principios básicos

<!ELEMENT director (#PCDATA)>


Diego Lázaro reparto
<!ELEMENT Angular Libro de PHP
(#PCDATA)> 
]>

El DTD anterior se interpreta así:

!DOCTYPE pelicula define que el elemento root del documento es pelicula.


!ELEMENT pelicula define que el elemento pelicula debe contener los elementos
titulo, estreno, director y reparto.
!ELEMENT elemento (#PCDATA) define el tipo de elemento. #PCDATA significa
datos de texto interpretables.

Un DTD puede emplearse también para definir caracteres especiales en un documento.

11. XML Schemas

Un esquema XML o XML Schema describe la estructura de un documento XML, como


un DTD. Es una alternativa a DTD basada en XML:

<xs:element name="pelicula">
<xs:complexType>
<xs:sequence>
<xs:element name="titulo" type="xs:string"/>
<xs:element name="director" type="xs:string"/>
<xs:element name="reparto" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>

El XML Schema anterior se interpreta así:

define el elemento llamado pelicula.


el elemento pelicula es del tipo complex.
el tipo complex es una secuencia de elementos.
define que el elemento "elemento" ha de ser del tipo string.

Los XML Schemas son más potentes que los DTD porque están escritos en XML, se
pueden extender y soportan tipos de datos y namespaces.

12. XML en el servidor

Los archivos XML son archivos de texto como los archivos HTML. Un archivo XML
puede ser fácilmente guardado y generado por un servidor web.

https://diego.com.es/xml-principios-basicos 17/18
20/7/23, 13:56 XML principios básicos

Por ejemplo en PHP, sin utilizar ninguna extensión PHP, se puede generar un archivo
Diego Lázaro Angular Libro de PHP 
xml de la siguiente forma:

<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<pelicula>";
echo "<titulo>Mad Max</titulo>";
echo "<director>George Miller</director>";
echo "<estreno>15 mayo 2015</estreno>";
echo "</pelicula>";
?>

Copyright © Diego Lázaro 2018

Sitio construido con Symfony & Semantic-UI

https://diego.com.es/xml-principios-basicos 18/18

También podría gustarte