XML: eXtensible Markup Language

  • Published on
    13-Jan-2016

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

XML: eXtensible Markup Language. Tema 3 (no entra ni Schemas XML Path). Introduccin Histrica (I). XML se constituy como estndar de la W3C en el ao 1998. En 2000 se aprueba su versin 1.0 Se trata de un lenguaje de marcas , igual que HTML o su precursor SGML - PowerPoint PPT Presentation

Transcript

<ul><li><p>XML: eXtensible Markup LanguageTema 3(no entra ni Schemas XML Path)</p></li><li><p>Introduccin Histrica (I)XML se constituy como estndar de la W3C en el ao 1998. En 2000 se aprueba su versin 1.0Se trata de un lenguaje de marcas, igual que HTML o su precursor SGMLSe diferencia de SGML por su sencillezSe diferencia de HTML por su flexibilidad: el nmero de etiquetas que puede incluir un documento XML es ilimitadoAl igual que HTML, es portable a cualquier plataforma</p></li><li><p>Introduccin Histrica (II)</p></li><li><p>Introduccin Histrica (III)Objetivos principales: Directamente utilizable en Internet Soporte para una amplia variedad de aplicaciones para transferencia de datos Compatible con SGML Posibilidad de crear sencillos procesadores de XML Documentos XML legibles y medianamente claros (depende de la definicin) Diseo rpido del lenguaje Simple, pero perfectamente formalizado Documentos XML fciles de crear</p></li><li><p>XML vs. HTMLHTML carece de un chequeo sintctico. Pginas con errores son mostradas en los navegadoresHTML carece de estructuraHTML no es orientado a objetoHTML mezcla contenido y representacinPor todo esto: HTML no puede ser fcilmente ledo por una mquina HTML nunca ser un estndar de intercambio de datosXML cubre todo esto con un lenguaje de sencillez extrema</p></li><li><p>Caractersticas de XML (I)Es un subconjunto del lenguaje SGMLAl igual que l, se utiliza para representar datos de forma estructurada (Jerrquica)Se basa en una gramtica de obligado cumplimiento. Esto facilita el desarrollo de parsers y, por lo tanto, su utilizacin masivaLa estructura interna de un documento XML puede reflejarse en otro documento denominado DTD (Document Type Definition)A diferencia de HTML, separa radicalmente la semntica del documento, de su representacin grfica</p></li><li><p>Documento HTML (I)</p></li><li><p>Documento HTML (II)En apariencia, el documento HTML anterior es correcto, sin embargo: Existen etiquetas que nunca se cierran: Algunas etiquetas no estn bien anidadas: el primer nunca se cierra Para un lector no humano, no se sabe qu es un libro y qu es un autor XML erradica todos estos problemas!!</p></li><li><p>Documento XML</p></li><li><p>Reglas Generales de XMLUn nico elemento razTodo elemento debe tener etiquetas de apertura y cierreDistincin entre maysculas/minsculasAnidamiento perfecto entre elementosLos valores de atributos siempre van entre comillasLos espacios en blanco se conservanLos caracteres CR/LF se transforman en LF</p></li><li><p>Documentos Bien Formados y VlidosSe dice que un documento es bien formado cuando: Cumple con todas las reglas anteriormente expuestas Contiene uno o ms elementos Hay un nico elemento raz (elemento documento) Si el documento consta de ms de una parte, todas estn bien formadas No se encuentran caracteres prohibidos en el textoUn documento es vlido cuando, adems de ser bien formado, cumple con las especificaciones semnticas expuestas en su plantilla (DTD o XML Schema)</p></li><li><p>Elementos (I)Comentarios: Instrucciones de procesamiento: La instruccin no puede incluir los caracteres ?&gt;Secciones CDATA: ]]&gt; No son tratadas por el parser Pueden incluir cualquier carcter prohibido (, , &amp;, &gt;, </p></li><li><p>Elementos (II)Prlogo: </p><p> Es una instruccin de procesamiento obligatoria Version: indica la versin de XML que se est utilizando (1.0 en la actualidad). Es obligatoria Encoding: indica cmo se codific el documento, y no es obligatoria (por defecto UTF-8). Vlido para otros juegos de caracteres Standalone: yes indica que el documento no va acompaado de DTDs externos; no indica que posee DTD interno. No es un atributo obligatorio</p></li><li><p>Elementos (III)DOCTYPE: Indica la referencia (URI) al DTD, as como el nombre (MiDTD) del elemento raz de la misma La DTD podra ir incorporada en el propio documento XML, sin requerir otro fichero aparte El documento XML deber cumplir con el contenido del DTD</p></li><li><p>Elementos (IV)Etiquetas: Deben ir correctamente anidadas: apertura y cierre Etiqueta de apertura: comienza por . Ejemplo Etiqueta de cierre: Etiqueta vaca: No puede iniciar el nombre con ., :, -, nmeros Luego de la primera letra pueden colocarse ., nmeros, - El nombre debe comenzar por una letra o un _ No puede comenzar por xml</p></li><li><p>Elementos (V)Elemento: Es el conjunto de la etiqueta (marcador) de apertura, su contenido y la de cierre Por ejemplo: Don Quijote de la Mancha Hay algunos caracteres reservados (prohibidos): Signo de mayor: &gt; Signo de menor: &lt; Ampersand: &amp; Apstrofe: Comilla: Estos caracteres prohibidos se reemplazan por entidades o se incluyen en secciones CDATA</p></li><li><p>Elementos (VI)Atributos: Cada elemento puede contener 0 ms atributos Su valor debe ir siempre entrecomillado Slo pueden aparecer en etiquetas de apertura o vacas El mismo atributo no puede aparecer repetido en la misma etiqueta Si el documento incluye DTD, cada atributo debe estar definido como atributo del presente elemento No puede contener ninguna referencia a entidad externa Son siempre tratados como cadenas de texto</p></li><li><p>Elementos (VII)</p><p>Don Quijote de la ManchaMiguel de Cervantes (Sin atributos) 1.123 euros Santillana </p><p>Don Quijote de la ManchaMiguel de Cervantes (Dos elementos son atributos)</p></li><li><p>DTDs (I) (Declaracin de tipos)</p><p>Don Quijote de la ManchaMiguel de Cervantes</p><p>La vida es sueoCalderon de la Barca</p><p>]&gt;</p><p>Don Quijote de la ManchaMiguel de Cervantes</p><p>La vida es suennoCalderon de la Barca</p></li><li><p>DTDs (II)Toda DTD debe tener uno y slo un elemento raz (tambin conocido como elemento documento)Este documento raz debe coincidir con el nombre que aparece a continuacin del DOCTYPEUn documento DTD puede contener: Declaraciones de elementos Declaraciones de atributos para un elemento Declaraciones de entidades Declaraciones de notaciones Instrucciones de procesamiento Comentarios Referencias a entidades de parmetro</p></li><li><p>DTDs (III) (Elemento Raz)A partir del elemento raz, pueden opcionalmente colgar (de forma jerrquica) otros elementos</p></li><li><p>DTDs (IV) (Contenido de los Elementos)Contenido de un elemento: EMPTY: el elemento est vaco (puede contener atributos). </p><p> ANY: el elemento puede contener a cualquier otro elemento o incluso contenido textual.</p><p> Otros elementos: un elemento puede contener uno o ms elementos hijos en una cierta secuencia (Ej. Libro) #PCDATA: texto parseado. </p><p> Mixto: el elemento puede incluir secuencias de caracteres opcionalmente mezcladas con elementos hijos. </p></li><li><p>DTDs (V)Secuencias de hijos de un elemento: Secuencia: Secuencia en orden: hijos separados por comas Opciones: hijos separados por | (barra) Conjuntos de elementos pueden agruparse entre parntesis Cardinalidad: un elemento, o un conjunto de ellospuede repetirse 0, 1 ms veces: elemento Elemento repetido 1 nica vez ? Elemento repetido 0 1 vez * Elemento repetido 0 ms veces + Elemento repetido 1 ms veces</p></li><li><p>DTDs (VI)</p></li><li><p>DTDs (VII) (Ejemplo)</p></li><li><p>DTDs (VIII)Ejercicio: Hacer una DTD.</p><p> Anabel Fraga afraga@ie.inf.uc3m.es 2.1 B18 5555555 5557777 </p></li><li><p>DTDs (IX) (Atributos)Un elemento puede opcionalmente declarar uno o ms atributos</p><p>Los atributos de un elemento pueden incluirse en una o ms declaraciones . Si se hace en la misma declaracin, basta con separar con un espacio (espacio, tabulador, retorno de carro)</p></li><li><p>DTDs (X) (Tipos de Atributos)Tipo de un atributo: Tipo cadena: CDATA</p><p> Tipo enumerado:</p><p> Tipo simblico:ID: valdr como identificador en el resto del documento, slo un atributo ID por cada elementoIDREF, IDREFS: su valor debe coincidir con algn otro atributo de tipo ID en el resto del documento XML. IDREFS separa las referencias por espacio. ID1 ID2 ID3ENTITY, ENTITIES: su valor debe coincidir con una o ms entidades no analizadasNMTOKEN, NMTOKENS: su valor ha de ser una cadena de tipo token</p></li><li><p>DTDs (XI) (Modificadores de Atributos)Modificadores: #REQUIRED: este atributo debe ser obligatoriamenteintroducido. </p><p> #IMPLIED: indica que el atributo es opcional ValorPredeterminado: si se omitiese el atributo, losprocesadores recogeran este valor por defecto</p><p> #FIXED: se incluya o no se incluya el atributo, losprocesadores siempre obtendrn este mismo valor</p></li><li><p>DTDs (XII) (Recomendaciones para modelado de Atributos)Frecuentemente un mismo objeto se puede disear como un atributo o un elemento sin prdida de semntica pero existen criterios para decantar...AtributosNormalmente se trata de objetos cuya existencia no tiene sentido fuera del objeto al que describen (p.e.adjetivos), metadatos, identificadores nicos, el idioma, ...En general, todo aquello por lo que existe mayor inters en filtrarlo que en mostrarloVentajasMs fcil de procesar por el software (mayor eficiencia)Ms legible, los atributos estn prximos al elemento al que pertenecen</p></li><li><p>DTDs (XIII) (Recomendaciones para modelado de Atributos)Elementos, se debera optar por ellos...Siempre que se quiera definir sub-elementos (ya sean partes del elemento principal o sus especficos)Permiten crear vnculosSiempre que queramos repetir el mismo elemento con distinto valor (los atributos tienen un nico valor como mximo)Siempre que el contenido sea mayor que una palabra (oraciones, prrafos, ...) y sobre todo si se quiere mostrar el texto en cuestinTienen entidad propia independientemente del resto de elementosLos documentos que priman a los atributos pueden ser ms breves al no tener una etiqueta propia que abrir y cerrar</p></li><li><p>DTDs (XIV) (Problemas)Una DTD no sigue el formato de un documento XML estndar. Esto representa un problema para los parsersNo se soportan distintos tipos de datos al estilo de los lenguajes de programacin (CDATA, #PCDATA)No se pueden crear tipos de datos personalizadosNo se soportan los espacios de nombres (namespaces)El nmero de ocurrencias no se puede controlar al 100% (Ej. 2 ocurrencias)Por estas y otras razones, surgen los XML Schemas (Esquemas)</p></li><li><p>Referencias a CaracteresPermiten incluir cualquier carcter dentro de un documento XMLBasado en el conjunto de caracteres ISO/IEC 10646 (http://xml.coverpages.org/xml-ISOents.txt)Dos formatos: valor; valor representado en decimal valor; valor representado en hexadecimal</p><p>La vida es sueo (DECIMAL)Caldern de la Barca (DECIMAL)</p></li><li>Entidades (I)Las entidades permiten: Dar modularidad al texto evitando tener que escribir algo de forma repetitiva (Re-uso) Incluir caracteres prohibidos &amp;, &gt;, </li><li><p>Entidades (II)Entidades predefinidas: Signo menor lt &lt; &lt; Signo mayor gt &gt; &gt; Ampersand amp &amp; &amp; Apstrofe apos ' Comilla doble quot "</p></li><li><p>Entidades (III)Tipos de entidades: General y de Parmetro: General: contiene texto XML u otros caracteres De Parmetro: contiene texto XML que puede insertarse dentro de una DTD Interna y Externa: Interna: contiene el texto dentro de una cadena entrecomillada Externa: hace referencia a un archivo externo Analizada y no Analizada: Analizada: texto XML que ser parseado en su punto de insercin No Analizada: no ser parseada</p></li><li><p>Ejercicio de Atributos:Hacer una DTD utilizando atributos:</p><p> Anabel Fraga Femenino 44444444-O Espaola anabel_fraga@mydomain.es anabel_fraga@fraga.es Av. Universidad 30 2.1 B18 afraga@ie.inf.uc3m.es 5555555 5555556 5555558 5555559 5557777 </p></li><li><p>XML Schemas (I)Actualmente existe una nueva recomendacin de W3C de Mayo 2001 para definiciones de XML:XML SchemasUso de notacin XML para definicionesLimitacin de uso: Actualmente existe una gran cantidad de documentos definidos con DTDs.</p></li><li><p>XML Schemas (II) (Ejemplo)</p></li><li><p>XML Schemas vs. DTDs (I) Desventajas de las DTDsNo escritas en sintaxis XMLPoco uso de namespacesPocos tipos de datos (y lo que es peor, no se pueden definir nuevos tipos de datos)Aunque se puede agrupar elementos mediante entities (%;) estn poco desarrolladasVentajas de las DTDsMuchas herramientas que lo soportanExisten muchos documentos: DTDs y XMLs basados en ellasFcil de aprender</p></li><li><p>XML Schemas vs. DTDs (II)Ventajas:Permite multitud de tipos de datos (pe xs:date, xs:int, xs:language, ...)Amplio uso de los namespacesPermite agrupar elementos para su reutilizacin, permite herencia (Ejemplo: Datos Personales en distintos Dominios de uso)</p></li><li><p>La Familia XML (I)XPointer/XLink: permiten referenciar a diferentes recursos, dentro o fuera del documento XMLXPath: lenguaje de consulta para recorrer ficheros XMLXQL (XML Query Language): til para localizar y extraer elementos de un documento XMLXIRQL: Una extensin de XQL para Recuperacin de InformacinXSLT: Lenguaje para transformacin de documentos XMLXSL-FO: Expresa semntica de formateado de documentos, provee los medios para producir impresiones de alta calidad.</p></li><li><p>XPath (II) (Ejemplo)</p><p>Professional XMLDidier Martin et al.Wrox2000</p><p>XML Developers GuideFabio ArciniegasMcGraw-Hill2001</p><p> Todos los autores:"/catalogo/libro/autor""/catalogo/*/autor""//autor" Todos los autores, con condicin:"/catalogo/libro[anyo&gt;2001]/autor" El texto de los elementos autor:"/catalogo/libro/autor/text()" El primer libro:"/catalogo/libro[0]"</p></li><li><p>XPath (III)Expresiones numricas+ - * div modExpresiones booleanas and orExpresiones de comparacin = != &lt; &gt;=</p></li><li><p>XPath (IV) Funciones numricas round ceiling floor count number sumFunciones booleanas boolean false true notFunciones de cadenas de caracteres string string-length substring substring-after substring-before contains starts-with concat normalize translate</p></li><li><p>XPath (V) (Unin)| sirve para calcular la unin deconjunto de nodos especificados pormedio de location pathsEjemplos:"//libro[anyo=2000]|//libro[anyo=2001]""//libro[anyo=2000 or anyo=2001]"</p></li><li><p>Presentacin en XMLLa presentacin en HTML esta bsicamente en los navegadores.Sera interesante programar la presentacin (re-uso de cdigo)Surgen las hojas de estilo: CSS: Cascading Style Sheets (HTML) XSL: eXtensible Style Language (XML) (XML + DTD o XML Schema + Fichero de Estilo XSL)</p></li><li>XSLXsl es el lenguaje basado en xpath para poner hojas de estilos en xml, es decir sustituye a las cssPara hacer referencia a un fichero xsl basta con escribir en el documento xml tras el prlogo la frase:</li><li><p>METADATOS Y XML</p></li><li><p>Namespaces (I)XML permite crear etiquetas casi sin ninguna limitacin en sus nombresEsto implica que, mezclar dos documentos, con diferentes etiquetas, podra resultar en una duplicidad de etiquetasMediante la definicin de espacios de nombres, se pueden evitar estas colisionesTecnologas como XSL y otras muchas hacen uso de Namespaces</p></li><li><p>Namespaces (II) (Definicin)Un namespace se identifica por su prefijo.Por ejemplo:</p><p>donde: xsl es el prefijo del namespace Stylesheet es el nombre completo del namespace http://www... es la URI donde se puede encontrar ms informacin sobre el estndar Puede incluir otros atributos como version... Como todo elemento XML, ha de cerrarse </p></li><li><p>Namespaces y qualified names (Qnames) Para escribir en XML metadatos hay que definir previamente la ubicacin del vocabulario de metadatos (Namespaces) y un prefijo para hacer referencia al vocabulario empleado (Qname)</p></li><li>Ejemplo NameSpace </li><li><p>MetadatosRegistros: repositorios para gestionar, recuperar, referenciar y reutilizar vocabularios de metadatos existentes. Estos registros suelen facilitar informacin sobre la definicin, origen y localizacin del recurso. Actualmente, estndar ISO 11179 Proyecto Schemas, para RDF(S) y namespaces relacionados con proyectos de la UE (http://www.schemas-forum.org/); Open Metadata Registry y ULIS son otros proyectos que rec...</p></li></ul>

Recommended

View more >