Está en la página 1de 11

TUTORIAL XML

Tutorial XML
Tutorial XML.................................................................................................................................................1 Introduccin...............................................................................................................................................2 Desde SGML a travs de HTML a XML..................................................................................................2 Las Limitaciones de HTML...................................................................................................................2 SGML Flexible pero Complejo..........................................................................................................2 Desde SGML a XML.............................................................................................................................2 XML El Meta Lenguaje Simple..........................................................................................................2 Implementacin de XML...........................................................................................................................4 El Document Type Definition DTD...................................................................................................5 El Extensible Style Language (Lenguaje Extensible de Estilos ) XSL..............................................6 XPOINTER y XLINK...........................................................................................................................6 XPATH Para consultas de Documentos XML...................................................................................7 El XML Schema....................................................................................................................................7 El Document Object Model (Modelo de Objetos de Documento) DOM...........................................8 XML un Estndar de documento universal............................................................................................8 Estandarizacin y W3C..........................................................................................................................8 Aplicaciones XML.................................................................................................................................9 EDI (Electronic Data Interchange)......................................................................................................10 XML y BASES DE DATOS................................................................................................................10 XML y SQL.........................................................................................................................................10 XML en el Castillo de Helsingr.............................................................................................................11

Pgina 1

20/04/2012

TUTORIAL XML

Introduccin
XML es un meta lenguaje que puede ser usado para describir la estructura lgica de una amplia variedad de documentos y datos de diferente maneras de acuerdo a la aplicacin. Esta aproximacin universal , flexible y extensible abre casi un rango ilimitado de usos para XML, desde procesamiento de texto hasta el archivado de datos de negocios electrnicos.

Desde SGML a travs de HTML a XML


Las Limitaciones de HTML
HTML no permite que los elementos individuales en una pgina sean marcados semnticamente. No es posible reproducir especificaciones de las estructuras de datos algo que es esencial, por ejemplo para las bases de datos o las jerarquas de objetos. HTML solamente describe la apariencia de los documentos y no puede cubrir los aspectos de contenido. Es por tanto inadecuado para consultas explicitas. HTML no es extensible; as no es posible definir sus propios tags para requerimientos especficos, o para usar formatos de datos dentro de los documentos.

SGML Flexible pero Complejo


SGML tiene debilidades propias, sin embargo, eso le impide ganar aceptacin como una norma universal. Se origin en un momento cuando la mayora de los documentos todava se procesaban en modo batch. SGML es por consiguiente de propsito general as como complejo y su especificacin comprende alrededor de 500 pginas, muchas de las cuales no son pertinentes para los propsitos prcticos de la Web. SGML permite un amplio nmero de alternativas para cada aspecto nico, la interoperabilidad entre las diferentes empresas es en prctica muy limitado a pesar de la estandarizacin.

Desde SGML a XML


XML, el eXtensible Markup Language (Lenguaje de Marcas Extensible), es - a diferencia de HTML - un subconjunto de SGML. XML realmente no es en absoluto un lenguaje de marcas independiente, sino un metalenguaje - una herramienta de definicin que le permite a los usuarios construir sus propios lenguajes de marcas. XML meramente proporciona un marco de trabajo lingstico que permite a las aplicaciones sumamente diversas construir con l un entendimiento mutuo. Comparado con SGML, XML es muy simple: su especificacin por el World Wide Web Consortium (W3C) se restringe a no ms de veintisis pginas muy manejables.

XML El Meta Lenguaje Simple


La diferencia principal entre HTML y XML es que XML les permite a los usuarios definir sus propias etiquetas. Como resultado, no slo pueden estructurarse datos segn un criterio formal (tales como ttulo, texto del cuerpo, etc.), pero tambin refirindose a su contenido. Sin embargo el criterio contenido no est definido en XML, pero si sobre la base de XML, porque XML es un metalenguaje. XML permite estructurar basado en contenido porque funciona a un nivel diferente que HTML. Semejantemente, permitira una descripcin del esquema ms all del alcance considerado vlido por HTML. XML necesita ser alimentado por una entrada basada en XML por los usuarios para crecer. Los usuarios pueden definir sus propias y nuevas etiquetas para satisfacer su especficos

Pgina 2

20/04/2012

TUTORIAL XML requerimientos con la ayuda de XML - por ejemplo FechaDeNacimiento, HormaDelPie o TiempoDeCoccin, - proporcionando tambin por ellos usando XML para un intercambio de sus recetas. XML no define estas etiquetas en s mismas, pero esencialmente extiende los procedimientos para definirlas. Por supuesto, existen las etiquetas XML que aplican a todos los documentos (Instrucciones de Procesamiento XML), as como etiquetas que son necesarias para salvar las definiciones en los documentos respectivos (Document Type Definitions - Definiciones de Tipo de Documento). XML provee un conjunto de reglas gramaticales para describir el contenido del documento. Por ejemplo: <identifier> contenido </identifier>, que el usuario tiene que llenar con el contenido actual, por ejemplo: <FechaDeNacimiento> 25.10.78</FechaDeNacimiento>. Lo primero que debemos saber es que hay dos tipos de documentos XML: vlidos y bien formados. ste es uno de los aspectos ms importantes de este lenguaje, as que hace falta entender bien la diferencia: Bien formados: son todos los que cumplen las especificaciones del lenguaje respecto a las reglas sintcticas que despus se van a explicar, sin estar sujetos a unos elementos fijados en un DTD o un XML Schema (luego veremos lo que son). De hecho los documentos XML deben tener una estructura jerrquica muy estricta, de la que se hablar ms tarde, y los documentos bien formados deben cumplirla. Vlidos: Adems de estar bien formados, siguen una estructura y una semntica determinada por un DTD o XML Schema: sus elementos y sobre todo la estructura jerrquica que define el DTD o XML Schema, adems de los atributos, deben ajustarse a lo que el DTD o XML Schema dicte.

Y ahora, qu pinta tiene un documento XML? Aqu podemos ver uno muy sencillo, que iremos estudiando para ver las caractersticas del lenguaje:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ficha> <nombre>Angel</nombre> <apellido>Barbero</apellido> <direccion>c/Ulises, 36</direccion> </ficha>
En cuanto a la sintaxis del documento, y antes de entrar en el estudio de las etiquetas, hay que resaltar algunos detalles importantes y a los que nos debemos acostumbrar: Los documentos XML son sensibles a maysculas, esto es, en ellos se diferencia las maysculas de las minsculas. Por ello <FICHA> sera una etiqueta diferente a <ficha>. Adems todos los espacios y retornos de carro se tienen en cuenta (dentro de las etiquetas, en los elementos). Hay algunos caracteres especiales reservados, que forman parte de la sintxis de XML: <, >, &, " y '. En su lugar cuando queramos representarlos deberemos usar las entidades &lt;, &gt;, &amp;, &quot; y &apos; respec tivamente. Ms adelante hablar de las entidades y lo que son, pero baste saber ahora que si escribimos cualquiera de las secuencias anteriores equivaldr a los correspondientes caracteres citados. Los valores de los atributos de todas las etiquetas deben ir siempre entrecomillados. Son vlidas las dobles comillas (") y la comilla simple (').

Es importante diferenciar entre elementos y etiquetas: los elementos son las entidades en s, lo que tiene contenido, mientras que las etiquetas slo describen a los elementos. Un Pgina 3 20/04/2012

TUTORIAL XML documento XML est compuesto por elementos, y en su sintaxis stos se nombran mediante etiquetas. Hay dos tipos de elementos: los vacos y los no vacos. Hay varias consideraciones importantes a tener en cuenta al respecto: Toda etiqueta no vaca debe tener una etiqueta de cerrado: <etiqueta> debe estar seguida de </etiqueta>. Esto se hace para evitar la aberracin (en el buen sentido de la palabra) a la que haban llegado todos los navegadores HTML de permitir que las etiquetas no se cerraran, lo que deja los elementos sujetos a posibles errores de interpretacin. Todos los elementos deben estar perfectamente anidados: no es vlido poner: <ficha><nombre>Angel</ficha></nombre> , y s lo es sin embargo: <ficha><nombre>Angel</nombre> </ficha>. Los elementos vacos son aquellos que no tienen contenido dentro del documento. Un ejemplo en HTML son las imgenes. La sintaxis correcta para estos elementos implica que la etiqueta tenga siempre esta forma: <etiqueta/>.

XML se usa ampliamente para el intercambio de datos entre sistemas heterogneos. Es ms flexible que el rgido concepto de campo en los datos relacionales y mejora la performace de las interfaces estandards como CORBA o DCOM. Aunque el debate actual sobre la tecnologa XML aplica principalmente a la Web, el rango de aplicacin de XML se extiende ms all de esta rea y abraza cualquier situacin en la que datos complejos necesitan ser almacenados o transmitidos.

Implementacin de XML
El mundo XML esta hecho por una serie de sub-estndars separados describiendo varios aspectos de la representacin y reproduccin del documento

Pgina 4

20/04/2012

TUTORIAL XML

El Document Type Definition DTD


Pues bien, los DTD no son ms que definiciones de los elementos que puede incluir un documento XML, de la forma en que deben hacerlo (qu elementos van dentro de otros) y los atributos que se les puede dar. Ejemplo de un DTD <!ELEMENT ficha (nombre+, apellido+, direccion+, foto?)> <!ELEMENT nombre (#PCDATA)> <!ATTLIST nombre sexo (masculino|femenino) #IMPLIED> <!ELEMENT apellido (#PCDATA)> <!ELEMENT direccion (#PCDATA)> <!ELEMENT foto EMPTY> Como se referencia un DTD en un documento XML: Incluir dentro del documento una referencia al documento DTD en forma de URI: <!DOCTYPE ficha SYSTEM "http://www.dat.etsit.upm.es/~abarbero/DTD/ficha.dtd"> Incluir en el propio documento el DTD <?xml version="1.0"?> <!DOCTYPE ficha [ <!ELEMENT ficha (nombre+, apellido+, direccion+, foto?)> <!ELEMENT nombre (#PCDATA)> <!ATTLIST nombre sexo (masculino|femenino) #IMPLIED> <!ELEMENT apellido (#PCDATA)> <!ELEMENT direccion (#PCDATA)> <!ELEMENT foto EMPTY> ]> <ficha> <nombre>Angel</nombre> <apellido>Barbero</apellido> <direccion>c/Ulises, 36</direccion> </ficha>

Pgina 5

20/04/2012

TUTORIAL XML

El Extensible Style Language (Lenguaje Extensible de Estilos ) XSL


Segn el W3C, XSL es "un lenguaje para transformar documentos XML", asi como un vocabulario XML para especificar semntica de formateo de documentos. Ejemplo de una planilla de estilo XSL: <xsl:template match=product-catalog> <ul> <xsl:apply-templates select=product> <xsl:sort select=name/> </xsl:apply-templates> </ul> </xsl:template> <xsl:template match=product> <li> <xsl:value-of select=name/> <xsl:text> </xsl:text> <xsl:value-of select=product-number/> <xsl:text> </xsl:text> <xsl:value-of select=price/> </li> </xsl:template>

XPOINTER y XLINK
Las convenciones de objetos links a documentos XML son definidas por XLink y XPointer. Los siguientes tipos de links son soportados adems de los clsicos links HTML: Links Bidireccionales Links Extendidos 1:n (por ejemplo, links a varias versiones del mismo documento) Links indirectos Direccionamiento por puntero (los links pueden tambin apuntar a ciertas ubicaciones dentro de un documento).

Ejemplo de XLink

Pgina 6

20/04/2012

TUTORIAL XML <mylink xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended"> <myresource xlink:type="locator" xlink:href="students.xml#Fred" xlink:label="student"/> <myresource xlink:type="locator" xlink:href="teachers.xml#Joe" xlink:label="teacher"/> <myarc xlink:type="arc" xlink:from="student" xlink:to="teacher"/> </mylink>

Ejemplo de XPointer URI ----------------------------------------------------------------/ \ http://www.foo.org/bar.xml#xpointer(article/section[position()<=5]) | \ /| | ---------------------------- | \ expresin Xpointer / \ / ----------------------------------identificador de fragmento Xpointer

XPATH Para consultas de Documentos XML


XPATH es una recomendacin W3C que se est convirtiendo en el lenguaje favorecido para consulta y manejar partes de documentos XML. Como tal, reemplaza al inicialmente propuesto lenguaje de consulta XQL . XPath fue creado para mantener una sintaxis y semntica comn para consultas y manejo de los contenidos de los documentos XML. Ejemplo child::section[position()<6] / descendant::cite / attribute::href

El XML Schema
El Borrador XML Schema se dirige a uno de los inconvenientes ms serios de XML, a saber la ausencia de tipos de datos. Aunque los XML DTDs (Definiciones de Tipo de Documento) permite especificar las etiquetas y la estructura de una clase de documento, el contenido de los elementos del documento y los valores de atributos son texto plano (strings). El esquema XML introduce tipos tales como nmero, fecha, tiempo, etc. dentro de XML y tambin permite tipos de datos definidos por el usuario.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ficha xmlns=http://businesscard.org> <nombre>Angel</nombre>

Pgina 7

20/04/2012

TUTORIAL XML

<apellido>Barbero</apellido> <direccion>c/Ulises, 36</direccion> </ficha>


Definimos el esquema business_card.xsd <schema xmlns=http://www.w3.org/2001/XMLSchema xmlns:b=http://businesscard.org targetNamespace=http://businesscard.org>

<element name=ficha type=b:tipo_ficha /> <element name=nombre type=b:tipo_nombre /> <element name=apellido type=string /> <element name=direccion type=string /> <complexType name=tipo_ficha> <sequence> <element ref=b:nombre /> <element ref=b:apellido /> <element ref=b:direccion minOccurs=0 /> </secuence> </complexType> <complexType name= tipo_nombre> <element ref=nombre type=string> <atribute name=sexo type=(masculino | femenino) ) </complexType> </schema>

El Document Object Model (Modelo de Objetos de Documento) DOM


El Modelo de Objetos Documento es una API (Application Programming Interface) para documentos HTML y XML.

XML un Estndar de documento universal


Ya que XML es un metalenguaje, est especificado a dos diferentes niveles: El estandar XML en s mismo que es soportada por el World Wide Web Consortium (W3C). Aplicaciones XML especficas desarrolladas por grupos de usuarios independientes.

Estandarizacin y W3C
W3C est organizado por el Massachussets Institute of Technology (MIT) en colaboracin con CERN en Genova y con el respaldo de la comisin Europea.

Pgina 8

20/04/2012

TUTORIAL XML

Aplicaciones XML
HL7 (propuesta Konal), una coalicin de organizaciones de salud las cuales desarrolla standard para intercambio electrnico de datos hospitalarios, financieros y administrativos entreabros sistemas de computadoras usados en el servicio de salud. OSD Open Software Distribution desde Marimba y Microsoft. BizTalk Marco de Trabajo para intercambio de documentos de negocios CPML - Call Policy Markup Language cXML - Commerce XML protocol DTD for patent documents ST32 US Patent Grant EAD - Encoded Archival Description FLBC - Formal Language for Business Communication JSML - Java Speech Markup Language MathML Mathematical Markup Language NVML - Navigation Markup Language PML - Procedural Markup Language SMIL Synchronized Multimedia Integration Language TMX - Translation Memory Exchange WIDL Web Interface Definition Language XMI XML Metadata Interchange CML El Chemical Markup Language (Lenguaje de Marcas Qumico), desarrollado en el Reino Unido para permitir a los qumicos el intercambio de descripciones de molculas, formulas y otros datos qumicos. AIML aecXML para Arquitectura, Ingeniera y Construccin BML Bean Markup Language CPL - Call Processing Language BioML - Biopolymer Markup Language ECMdata Electronic Component Manufacturer Data Sheet Library Specification FpML - Financial Product Markup Language ICE - Information and Content Exchange KBML - Koala Bean Markup Language MoDL - Molecular Dynamics Language OTP - Open Trading Protocol PDX - Product Definition Exchange SOAP - Simple Object Access protocol TML - Tutorial Markup Language WML - Wireless Markup Language for WAP xCBL - XML Common Business Library OFX Open Financial Exchange el formato usado por Intuit Quicken y Microsoft Money para comunicarse con los bancos.

Artificial Intelligence Markup Language BSML Bioinformatic Sequence Markup Language CFML - Cold Fusion Markup Language BRML - Common Rules and Business Rules Markup Language XFRML - Extensible Financial Reporting Markup Language FinXML - XML for Capital Markets (Financial ML) IOTP - Internet Open Trading Protocol LitML - Liturgical Markup Language NAA Standard for Classified Advertising Data PMML - Predictive Model Markup Language RDF - Resource Description Framework SVG - Scalable Vector Graphics VoxML - Voice Recognition ML XBEL - XML Bookmark Exchange Language

Pgina 9

20/04/2012

TUTORIAL XML

EDI (Electronic Data Interchange)

XML y BASES DE DATOS


No solamente puede XML procesar informacin compleja y jerarquica, tambin puede ser usada para transacciones comerciales. XML es la capa Aplicacin sobre la capa de Comunicacin TCP/IP.

XML y SQL
La aproximacin ms obvia para integrar XML con la tecnologas de base de datos convencionales sera implementar las estructuras XML con la ayuda de los modelos de datos que son de uso comn hoy da, tales como el modelo relacional. As las estructuras de datos SQL podran usarse como una interface XML o cualquier objeto XML podra convertirse a una estructura de datos relacional. Ejemplo XQuery

for $d in document("depts.xml")//deptno let $e := document("emps.xml")//employee[deptno = $d] where count($e) >= 10 order by avg($e/salary) descending return <big-dept> { $d, <headcount>{count($e)}</headcount>, <avgsal>{avg($e/salary)}</avgsal> } </big-dept>

Pgina 10

20/04/2012

TUTORIAL XML

XML en el Castillo de Helsingr


Texto Plano
Acto Uno ESCENA UNO. Helsingr. Una terraza delante del castillo. Francisco es el centinela. Entra Bernardo. BERNARDO: Quin est all? FRANCISCO: No, respndame. Pare y revlese. BERNARDO: Larga vida al Rey!

HTML
<H1>ACTO UNO</H1> <P><I>ESCENA UNO. Helsingr. Una terraza delante del castillo.</I></P> <P><I>FRANCISCO es el centinela. Entra BERNARDO.</I></P> <P><B>BERNARDO:</B> Quin est all?</P> <P><B>FRANCISCO:</B>No, respndame. Pare y revlese.</P> <P><B>BERNARDO:</B>Larga vida al Rey!</P>

XML
<ACT><TITLE>ACTO UNO</TITLE> <SCENE> <TITLE>ESCENA UNO. Helsingr. Una terraza delante del castillo.</TITLE> <STAGEDIR> FRANCISCO es el centinela. Entra BERNARDO.</STAGEDIR> <SPEECH> <SPEAKER>BERNARDO</SPEAKER> <LINE>Quin est all?</LINE> </SPEECH> <SPEECH> <SPEAKER>FRANCISCO</SPEAKER> <LINE>No, respndame. Pare y revlese.</LINE> </SPEECH> <SPEECH> <SPEAKER>BERNARDO</SPEAKER> <LINE>Larga vida al Rey!</LINE> </SPEECH> </SCENE> </ACT> Esta vez, se han agregado etiquetas XML al texto. Una computadora no puede derivar significado desde un contexto, slo puede analizar strings de caracteres en base a reglas definidas. Por consiguiente necesita cdigos de texto para inferir informacin sobre el contenido. El texto XML podra cargarse ahora en una computadora de voz, por ejemplo, o usado para preparar una lista de castings.

Los seres humanos no necesitan cdigos de texto o etiquetas para poder leer esta cita del Hamlet de Shakespeare. Gracias a lo que aprendieron en el liceo hace mucho tiempo, pueden identificar o imputar el significado a los pasajes individuales del texto.

El mismo texto en formato HTML. Las etiquetas HTML meramente definen cmo el texto se representa en un navegador. Ellos no agregan valor semntico y son as incapaces de proporcionar cualquier informacin con respecto al contenido (por ejemplo: "Cunto texto tiene Bernardo para recitar"?).

Pgina 11

20/04/2012

También podría gustarte