SlideShare una empresa de Scribd logo
1 de 5
XML
Con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas,
más avanzada, cuya principal novedad consiste en permitir compartir los datos con los que
se trabaja a todos los niveles, por todas las aplicaciones y soportes. Así pues, el XML juega
un papel importantísimo en este mundo actual, que tiende a la globalización y la
compatibilidad entre los sistemas, ya que es la tecnología que permitirá compartir la
información de una manera segura, fiable, fácil. Además, XML permite al programador y los
soportes dedicar sus esfuerzos a las tareas importantes cuando trabaja con los datos, ya que
algunas tareas tediosas como la validación de estos o el recorrido de las estructuras corre a
cargo del lenguaje y está especificado por el estándar, de modo que el programador no tiene
que preocuparse por ello.


Vemos que XML no está sólo, sino que hay un mundo de tecnologías alrededor de él, de
posibilidades, maneras más fáciles e interesantes de trabajar con los datos y, en definitiva,
un avance a la hora de tratar la información, que es en realidad el objetivo de la informática
en general. XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes, no
es una sintaxis, sino varias y no es una manera totalmente nueva de trabajar, sino una
manera más refinada que permitirá que todas las anteriores se puedan comunicar entre si
sin problemas, ya que los datos cobran sentido. Todo esto lo veremos con calma en
la Introducción a XML.


XML es interesante en el mundo de Internet y el e-bussiness, ya que existen muchos
sistemas distintos que tienen que comunicarse entre si, pero como se ha podido imaginar,
interesa por igual a todas las ramas de la informática y el tratamiento de datos, ya que
permite muchos avances a la hora de trabajar con ellos.


Así pues, os recomendamos seguir esta lectura en la introducción a XML. A lo largo de los
siguientes capítulos, vamos a ver algunas características importantes de la tecnología que
nos permitirán comprender mejor el mundo XML y cómo soluciona nuestros problemas a la
hora de trabajar con los datos.


XML son las siglas de Extensible MarkupLanguage, una especificación/lenguaje de
programación desarrollada por el W3C. XML es una versión de SGML, diseñado
especialmente para los documentos de la web. Permite que los diseñadores
creen sus propias etiquetas, permitiendo la definición, transmisión, validación e
interpretación de datos entre aplicaciones y entre organizaciones.
xml permite realizar funciones que no pueden realizarse con

EJEMPLOS DE XML

Aplicación XML


Aplicación no significa un programaque utilice XML.Aplicación
significa el uso de XMLpara un dominio específico.


Aplicación XML =Lenguaje de marcado = Vocabulario
DocBookChemical Markup LanguageKeyhole Markup
LanguageMathematical Markup LanguageOpenDocumentOpen
XML FormatScalable Vector GraphicsSystemsByology Markup
Language


ChemicalMarkupLanguage• Estructura química de moléculas•
Reacciones químicas• Información de espectros y análisis• Datos
de química computacional• Datos cristalografía y materiales


<?xml version="1.0" ?><cml xmlns="http://www.xml-
cml.org/schema/cml2/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"
xsi:schemaLocation="http://www.xml-
cml.org/schema/cml2/core/cmlCore.xsd"><molecule
title="Water"><atomArray><atom id="a1" elementType="H"
hydrogenCount="0" /><atom id="a2" elementType="O"
hydrogenCount="2" /><atom id="a3" elementType="H"
hydrogenCount="0" /></atomArray><bondArray><bond
atomRefs2="a1 a2" order="1" /><bond atomRefs2="a2 a3"
order="1" /></bondArray></molecule></cml>


<?xmlversion="1.0" standalone="no"?><!DOCTYPE book
PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-
open.org/docbook/xml/4.2/docbookx.dtd"><book lang="es"
id="simple_libro"><title>Un libro muy simple</title><chapter
id="capitulo_1"><title>Capitulo 1</title><para>Hola
mundo!</para><para>¡Yo espero que tu día sea
bueno!</para></chapter><chapter
id="capitulo_2"><title>Capitulo 2</title><para>Hola otra vez,
mundo!</para></chapter></book>


<?xmlversion="1.0" standalone="no"?><!DOCTYPE article
PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-
open.org/docbook/xml/4.2/docbookx.dtd"><article
lang="es"><title>Creando Documentación Técnica con
DocBook</title><articleinfo><author><firstname>Leonardo</first
name><surname>Caballero</surname></author></articleinfo><s
ection id="art-intro"><title>Introducción</title><para>DocBook es
un aplicación del estándar SGML/XML e incluye una DTD propia
y que se utiliza de manera más destacada el área de la
documentación técnica. </para></section></article>


<?xml version="1.0" encoding="UTF-
8"?><kmlxmlns="http://www.opengis.net/kml/2.2"><Document><
Placemark><name>New York City</name><description>New
York City</description><Point><coordinates>-
74.006393,40.714172,0</coordinates></Point></Placemark></D
ocument></kml>


MathematicalMarkupLanguage• XHTML + MathML• Intercambio
de información: Maple, Matlab, etc.


<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE math
PUBLIC "-//W3C//DTD MathML 2.0//EN"
"http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"><math
mode="display"
xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>x</
mi><mo>=</mo><mfrac><mrow><mo form="prefix">&#x2212;<!-
- &minus; --></mo><mi>b</mi><mo>&#x00B1;<!-- &PlusMinus; -
-></mo><msqrt><msup><mi>b</mi><mn>2</mn></msup>


<mo>&#x2212;<!-- &minus; --
></mo><mn>4</mn><mo>&#x2062;<!-- &InvisibleTimes; --
></mo><mi>a</mi><mo>&#x2062;<!-- &InvisibleTimes; --
></mo><mi>c</mi></msqrt></mrow><mrow><mn>2</mn><mo>
&#x2062;<!-- &InvisibleTimes; --
></mo><mi>a</mi></mrow></mfrac></mrow></math>


Otro ejemplo

    Veamos un ejemplo muy sencillo de un pequeño lenguaje de etiquetas para
    definir documentos FAQ:
    <?xmlversion="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE FAQ SYSTEM "FAQ.DTD">
<FAQ>
<INFO>
<TITULO> WINDOWS98? SOLO SI ME OBLIGAN!</TITULO>
<AUTOR> Fernando Damián Lorenzo García </AUTOR>
<EMAIL> Fer@yahoo.es </EMAIL>
<VERSION> 1.0 </VERSION>
<FECHA> 20.MAYO.99 </FECHA>
</INFO>
<PART NO="1">
<Q NO="1">
<QTEXT>¿Por qué tengo que instalar W95?</QTEXT>
<A> A mi también me parece una buena pregunta.</A>
</Q>
<Q NO="2">
<QTEXT>Y de que me vale?</QTEXT>
<A>Otra ingeniosa pregunta.</A>
</Q>
</PART>
</FAQ>
Para el lenguaje de marcas mostrado arriba tenemos el siguiente DTD:
<!ELEMENT   FAQ (INFO, PART+)>
<!ELEMENT   INFO (TITULO, AUTOR, EMAIL?, VERSION?, FECHA?)>
<!ELEMENT   TITULO (#PCDATA)>
<!ELEMENT   AUTOR (#PCDATA)>
<!ELEMENT   EMAIL (#PCDATA)>
<!ELEMENT   VERSION (#PCDATA)>
<!ELEMENT   FECHA (#PCDATA)>
<!ELEMENT   PART (Q+)>
<!ELEMENT   Q (QTEXT, A)>
<!ELEMENT   QTEXT (#PCDATA)>
<!ELEMENT   A (#PCDATA)>
<!ATTLIST   PART NO CDATA #IMPLIED TITLE CDATA #IMPLIED>
<!ATTLIST   Q NO CDATA #IMPLIED>
Veamos ahora un ejemplo de código XML para una librería virtual:
<?xmlversion="1.0"?>
<libro>
<titulo> Cien años de soledad </titulo>
<disponible tiempo="24" unidad="horas"/>
<autor> Gabriel García Márquez </autor>
<formato> Rústica </formato>
<publicacion>1967 </publicacion>
<precio cantidad="9.99" moneda="euro"/>
<descuento cantidad="5"/>
<enlacelibrohref="/exec/ISBN/84-473-0619-4"/>
</libro>
Su DTD correspondiente:
<!ELEMENT autor ( #PCDATA ) >
<!ELEMENT descuento EMPTY >
<!ATTLIST descuento cantidad CDATA #REQUIRED >
<!ELEMENT disponible EMPTY >
<!ATTLIST disponible tiempo CDATA #REQUIRED >
<!ATTLIST disponible unidad CDATA #REQUIRED >
<!ELEMENT enlacelibro EMPTY >
<!ATTLIST enlacelibrohref CDATA #REQUIRED >
<!ELEMENT formato ( #PCDATA ) >
<!ELEMENT libro ( titulo | disponible | autor | formato |
publicacion | precio | descuento | enlacelibro )* >
<!ELEMENT precio EMPTY >
<!ATTLIST precio cantidad CDATA #REQUIRED >
<!ATTLIST precio moneda CDATA #REQUIRED >
<!ELEMENT publicacion ( #PCDATA ) >
<!ELEMENT titulo ( #PCDATA ) >

   COMPONENTES DE XML

Un sistema XML típico consta de tres tipos de archivos:
Los datos XML, que son sus datos, más las etiquetas XML que describen el significado
y la estructura de los datos.
Los esquemas XML, que definen las reglas de lo que puede y no puede haber en sus
archivos de datos. Por ejemplo, un esquema podría servir para asegurarse de que los
usuarios no pueden escribir texto en un campo de fecha.
Las transformaciones XML, que permiten utilizar los datos en diversos programas o
archivos. Por ejemplo, una transformación podría agregar los datos relativos a las
ventas a un libro de trabajo, mientras que otra transformación podría insertar la misma
información en un documento.

Más contenido relacionado

Destacado

Desarrollo de la inteligencia act n° 5 y 6
Desarrollo de la inteligencia act n° 5 y 6Desarrollo de la inteligencia act n° 5 y 6
Desarrollo de la inteligencia act n° 5 y 6Sofia Mendez
 
Dinamica de grupo actividad 4
Dinamica de grupo actividad 4Dinamica de grupo actividad 4
Dinamica de grupo actividad 4Kelly Mendoza
 
Doc. inteligenicias múltiples
Doc. inteligenicias múltiplesDoc. inteligenicias múltiples
Doc. inteligenicias múltiplesKelly Mendoza
 
Gardner, inteligencias multiples y cinco mentes del futuro
Gardner, inteligencias multiples y cinco mentes del futuroGardner, inteligencias multiples y cinco mentes del futuro
Gardner, inteligencias multiples y cinco mentes del futuroPatricia Gagliardi
 

Destacado (7)

Desarrollo de la inteligencia act n° 5 y 6
Desarrollo de la inteligencia act n° 5 y 6Desarrollo de la inteligencia act n° 5 y 6
Desarrollo de la inteligencia act n° 5 y 6
 
Dinamica de grupo actividad 4
Dinamica de grupo actividad 4Dinamica de grupo actividad 4
Dinamica de grupo actividad 4
 
Doc. inteligenicias múltiples
Doc. inteligenicias múltiplesDoc. inteligenicias múltiples
Doc. inteligenicias múltiples
 
Creatividad
CreatividadCreatividad
Creatividad
 
Mente creativa
Mente creativaMente creativa
Mente creativa
 
Cinco Mentes Del Futuro
Cinco Mentes Del FuturoCinco Mentes Del Futuro
Cinco Mentes Del Futuro
 
Gardner, inteligencias multiples y cinco mentes del futuro
Gardner, inteligencias multiples y cinco mentes del futuroGardner, inteligencias multiples y cinco mentes del futuro
Gardner, inteligencias multiples y cinco mentes del futuro
 

Similar a XML: Lenguaje de marcado extensible (20)

Trabajo xml
Trabajo xmlTrabajo xml
Trabajo xml
 
XML: Ejemplos de uso
XML: Ejemplos de usoXML: Ejemplos de uso
XML: Ejemplos de uso
 
Omar unidad 07 base de datos
Omar unidad 07 base de datosOmar unidad 07 base de datos
Omar unidad 07 base de datos
 
Lenguaje XML
Lenguaje XMLLenguaje XML
Lenguaje XML
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-php
 
U7 1 xslt-curso2018-19
U7 1 xslt-curso2018-19U7 1 xslt-curso2018-19
U7 1 xslt-curso2018-19
 
Xml 3a6 jairon rodriguez
Xml 3a6 jairon rodriguezXml 3a6 jairon rodriguez
Xml 3a6 jairon rodriguez
 
XSLT y XPATH
XSLT y XPATHXSLT y XPATH
XSLT y XPATH
 
U7 1 xslt-curso2017-18
U7 1 xslt-curso2017-18U7 1 xslt-curso2017-18
U7 1 xslt-curso2017-18
 
Xml
XmlXml
Xml
 
Lenguaje de programacion 2
Lenguaje de programacion 2Lenguaje de programacion 2
Lenguaje de programacion 2
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
Diferencias entre XML y HTML
Diferencias entre XML y HTMLDiferencias entre XML y HTML
Diferencias entre XML y HTML
 
Tutorial XML
Tutorial XMLTutorial XML
Tutorial XML
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presentación1 bricio vera
Presentación1 bricio veraPresentación1 bricio vera
Presentación1 bricio vera
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 

Más de narcesy

Proyecto phone
Proyecto phoneProyecto phone
Proyecto phonenarcesy
 
Conexiones internas de una computadora diego (1)
Conexiones internas de una computadora diego (1)Conexiones internas de una computadora diego (1)
Conexiones internas de una computadora diego (1)narcesy
 
Declaraciones 120727122500-phpapp02
Declaraciones 120727122500-phpapp02Declaraciones 120727122500-phpapp02
Declaraciones 120727122500-phpapp02narcesy
 
Usodeoperadores2 120625202023-phpapp02
Usodeoperadores2 120625202023-phpapp02Usodeoperadores2 120625202023-phpapp02
Usodeoperadores2 120625202023-phpapp02narcesy
 
Clases 120602212748-phpapp01
Clases 120602212748-phpapp01Clases 120602212748-phpapp01
Clases 120602212748-phpapp01narcesy
 
Mantenimiento de un computador
Mantenimiento de un computadorMantenimiento de un computador
Mantenimiento de un computadornarcesy
 
Variables
VariablesVariables
Variablesnarcesy
 
Mantenimiento de computadores
Mantenimiento de computadoresMantenimiento de computadores
Mantenimiento de computadoresnarcesy
 
Condicionales
CondicionalesCondicionales
Condicionalesnarcesy
 
Declaraciones
DeclaracionesDeclaraciones
Declaracionesnarcesy
 
Paractica texto
Paractica textoParactica texto
Paractica textonarcesy
 
Es el avance del aprendizaje en flash
Es el avance del aprendizaje en flashEs el avance del aprendizaje en flash
Es el avance del aprendizaje en flashnarcesy
 
Practica de flas
Practica de flasPractica de flas
Practica de flasnarcesy
 
Flash practica 4
Flash practica 4Flash practica 4
Flash practica 4narcesy
 
Flash practica 4
Flash practica 4Flash practica 4
Flash practica 4narcesy
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logosnarcesy
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logosnarcesy
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logosnarcesy
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logosnarcesy
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logosnarcesy
 

Más de narcesy (20)

Proyecto phone
Proyecto phoneProyecto phone
Proyecto phone
 
Conexiones internas de una computadora diego (1)
Conexiones internas de una computadora diego (1)Conexiones internas de una computadora diego (1)
Conexiones internas de una computadora diego (1)
 
Declaraciones 120727122500-phpapp02
Declaraciones 120727122500-phpapp02Declaraciones 120727122500-phpapp02
Declaraciones 120727122500-phpapp02
 
Usodeoperadores2 120625202023-phpapp02
Usodeoperadores2 120625202023-phpapp02Usodeoperadores2 120625202023-phpapp02
Usodeoperadores2 120625202023-phpapp02
 
Clases 120602212748-phpapp01
Clases 120602212748-phpapp01Clases 120602212748-phpapp01
Clases 120602212748-phpapp01
 
Mantenimiento de un computador
Mantenimiento de un computadorMantenimiento de un computador
Mantenimiento de un computador
 
Variables
VariablesVariables
Variables
 
Mantenimiento de computadores
Mantenimiento de computadoresMantenimiento de computadores
Mantenimiento de computadores
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Declaraciones
DeclaracionesDeclaraciones
Declaraciones
 
Paractica texto
Paractica textoParactica texto
Paractica texto
 
Es el avance del aprendizaje en flash
Es el avance del aprendizaje en flashEs el avance del aprendizaje en flash
Es el avance del aprendizaje en flash
 
Practica de flas
Practica de flasPractica de flas
Practica de flas
 
Flash practica 4
Flash practica 4Flash practica 4
Flash practica 4
 
Flash practica 4
Flash practica 4Flash practica 4
Flash practica 4
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logos
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logos
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logos
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logos
 
Ejercicio de logos
Ejercicio de logosEjercicio de logos
Ejercicio de logos
 

XML: Lenguaje de marcado extensible

  • 1. XML Con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas, más avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a todos los niveles, por todas las aplicaciones y soportes. Así pues, el XML juega un papel importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad entre los sistemas, ya que es la tecnología que permitirá compartir la información de una manera segura, fiable, fácil. Además, XML permite al programador y los soportes dedicar sus esfuerzos a las tareas importantes cuando trabaja con los datos, ya que algunas tareas tediosas como la validación de estos o el recorrido de las estructuras corre a cargo del lenguaje y está especificado por el estándar, de modo que el programador no tiene que preocuparse por ello. Vemos que XML no está sólo, sino que hay un mundo de tecnologías alrededor de él, de posibilidades, maneras más fáciles e interesantes de trabajar con los datos y, en definitiva, un avance a la hora de tratar la información, que es en realidad el objetivo de la informática en general. XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes, no es una sintaxis, sino varias y no es una manera totalmente nueva de trabajar, sino una manera más refinada que permitirá que todas las anteriores se puedan comunicar entre si sin problemas, ya que los datos cobran sentido. Todo esto lo veremos con calma en la Introducción a XML. XML es interesante en el mundo de Internet y el e-bussiness, ya que existen muchos sistemas distintos que tienen que comunicarse entre si, pero como se ha podido imaginar, interesa por igual a todas las ramas de la informática y el tratamiento de datos, ya que permite muchos avances a la hora de trabajar con ellos. Así pues, os recomendamos seguir esta lectura en la introducción a XML. A lo largo de los siguientes capítulos, vamos a ver algunas características importantes de la tecnología que nos permitirán comprender mejor el mundo XML y cómo soluciona nuestros problemas a la hora de trabajar con los datos. XML son las siglas de Extensible MarkupLanguage, una especificación/lenguaje de programación desarrollada por el W3C. XML es una versión de SGML, diseñado especialmente para los documentos de la web. Permite que los diseñadores creen sus propias etiquetas, permitiendo la definición, transmisión, validación e interpretación de datos entre aplicaciones y entre organizaciones. xml permite realizar funciones que no pueden realizarse con EJEMPLOS DE XML Aplicación XML Aplicación no significa un programaque utilice XML.Aplicación significa el uso de XMLpara un dominio específico. Aplicación XML =Lenguaje de marcado = Vocabulario
  • 2. DocBookChemical Markup LanguageKeyhole Markup LanguageMathematical Markup LanguageOpenDocumentOpen XML FormatScalable Vector GraphicsSystemsByology Markup Language ChemicalMarkupLanguage• Estructura química de moléculas• Reacciones químicas• Información de espectros y análisis• Datos de química computacional• Datos cristalografía y materiales <?xml version="1.0" ?><cml xmlns="http://www.xml- cml.org/schema/cml2/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://www.xml- cml.org/schema/cml2/core/cmlCore.xsd"><molecule title="Water"><atomArray><atom id="a1" elementType="H" hydrogenCount="0" /><atom id="a2" elementType="O" hydrogenCount="2" /><atom id="a3" elementType="H" hydrogenCount="0" /></atomArray><bondArray><bond atomRefs2="a1 a2" order="1" /><bond atomRefs2="a2 a3" order="1" /></bondArray></molecule></cml> <?xmlversion="1.0" standalone="no"?><!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis- open.org/docbook/xml/4.2/docbookx.dtd"><book lang="es" id="simple_libro"><title>Un libro muy simple</title><chapter id="capitulo_1"><title>Capitulo 1</title><para>Hola mundo!</para><para>¡Yo espero que tu día sea bueno!</para></chapter><chapter id="capitulo_2"><title>Capitulo 2</title><para>Hola otra vez, mundo!</para></chapter></book> <?xmlversion="1.0" standalone="no"?><!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis- open.org/docbook/xml/4.2/docbookx.dtd"><article lang="es"><title>Creando Documentación Técnica con
  • 3. DocBook</title><articleinfo><author><firstname>Leonardo</first name><surname>Caballero</surname></author></articleinfo><s ection id="art-intro"><title>Introducción</title><para>DocBook es un aplicación del estándar SGML/XML e incluye una DTD propia y que se utiliza de manera más destacada el área de la documentación técnica. </para></section></article> <?xml version="1.0" encoding="UTF- 8"?><kmlxmlns="http://www.opengis.net/kml/2.2"><Document>< Placemark><name>New York City</name><description>New York City</description><Point><coordinates>- 74.006393,40.714172,0</coordinates></Point></Placemark></D ocument></kml> MathematicalMarkupLanguage• XHTML + MathML• Intercambio de información: Maple, Matlab, etc. <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"><math mode="display" xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mi>x</ mi><mo>=</mo><mfrac><mrow><mo form="prefix">&#x2212;<!- - &minus; --></mo><mi>b</mi><mo>&#x00B1;<!-- &PlusMinus; - -></mo><msqrt><msup><mi>b</mi><mn>2</mn></msup> <mo>&#x2212;<!-- &minus; -- ></mo><mn>4</mn><mo>&#x2062;<!-- &InvisibleTimes; -- ></mo><mi>a</mi><mo>&#x2062;<!-- &InvisibleTimes; -- ></mo><mi>c</mi></msqrt></mrow><mrow><mn>2</mn><mo> &#x2062;<!-- &InvisibleTimes; -- ></mo><mi>a</mi></mrow></mfrac></mrow></math> Otro ejemplo Veamos un ejemplo muy sencillo de un pequeño lenguaje de etiquetas para definir documentos FAQ: <?xmlversion="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE FAQ SYSTEM "FAQ.DTD">
  • 4. <FAQ> <INFO> <TITULO> WINDOWS98? SOLO SI ME OBLIGAN!</TITULO> <AUTOR> Fernando Damián Lorenzo García </AUTOR> <EMAIL> Fer@yahoo.es </EMAIL> <VERSION> 1.0 </VERSION> <FECHA> 20.MAYO.99 </FECHA> </INFO> <PART NO="1"> <Q NO="1"> <QTEXT>¿Por qué tengo que instalar W95?</QTEXT> <A> A mi también me parece una buena pregunta.</A> </Q> <Q NO="2"> <QTEXT>Y de que me vale?</QTEXT> <A>Otra ingeniosa pregunta.</A> </Q> </PART> </FAQ> Para el lenguaje de marcas mostrado arriba tenemos el siguiente DTD: <!ELEMENT FAQ (INFO, PART+)> <!ELEMENT INFO (TITULO, AUTOR, EMAIL?, VERSION?, FECHA?)> <!ELEMENT TITULO (#PCDATA)> <!ELEMENT AUTOR (#PCDATA)> <!ELEMENT EMAIL (#PCDATA)> <!ELEMENT VERSION (#PCDATA)> <!ELEMENT FECHA (#PCDATA)> <!ELEMENT PART (Q+)> <!ELEMENT Q (QTEXT, A)> <!ELEMENT QTEXT (#PCDATA)> <!ELEMENT A (#PCDATA)> <!ATTLIST PART NO CDATA #IMPLIED TITLE CDATA #IMPLIED> <!ATTLIST Q NO CDATA #IMPLIED> Veamos ahora un ejemplo de código XML para una librería virtual: <?xmlversion="1.0"?> <libro> <titulo> Cien años de soledad </titulo> <disponible tiempo="24" unidad="horas"/> <autor> Gabriel García Márquez </autor> <formato> Rústica </formato> <publicacion>1967 </publicacion> <precio cantidad="9.99" moneda="euro"/> <descuento cantidad="5"/> <enlacelibrohref="/exec/ISBN/84-473-0619-4"/> </libro> Su DTD correspondiente: <!ELEMENT autor ( #PCDATA ) > <!ELEMENT descuento EMPTY > <!ATTLIST descuento cantidad CDATA #REQUIRED > <!ELEMENT disponible EMPTY > <!ATTLIST disponible tiempo CDATA #REQUIRED > <!ATTLIST disponible unidad CDATA #REQUIRED > <!ELEMENT enlacelibro EMPTY > <!ATTLIST enlacelibrohref CDATA #REQUIRED > <!ELEMENT formato ( #PCDATA ) > <!ELEMENT libro ( titulo | disponible | autor | formato | publicacion | precio | descuento | enlacelibro )* > <!ELEMENT precio EMPTY > <!ATTLIST precio cantidad CDATA #REQUIRED > <!ATTLIST precio moneda CDATA #REQUIRED >
  • 5. <!ELEMENT publicacion ( #PCDATA ) > <!ELEMENT titulo ( #PCDATA ) > COMPONENTES DE XML Un sistema XML típico consta de tres tipos de archivos: Los datos XML, que son sus datos, más las etiquetas XML que describen el significado y la estructura de los datos. Los esquemas XML, que definen las reglas de lo que puede y no puede haber en sus archivos de datos. Por ejemplo, un esquema podría servir para asegurarse de que los usuarios no pueden escribir texto en un campo de fecha. Las transformaciones XML, que permiten utilizar los datos en diversos programas o archivos. Por ejemplo, una transformación podría agregar los datos relativos a las ventas a un libro de trabajo, mientras que otra transformación podría insertar la misma información en un documento.