Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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 <, >, &, " y ' 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
Pgina 5
20/04/2012
TUTORIAL XML
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
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.
Pgina 7
20/04/2012
TUTORIAL XML
<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>
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
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
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