LM-UT5: DTD, XML Schema
Upcoming SlideShare
Loading in...5
×
 

LM-UT5: DTD, XML Schema

on

  • 2,807 views

Lenguajes de Marcas y SGI (CFGS Administrador de Sistemas Informáticos en Red)

Lenguajes de Marcas y SGI (CFGS Administrador de Sistemas Informáticos en Red)

Statistics

Views

Total Views
2,807
Views on SlideShare
2,801
Embed Views
6

Actions

Likes
1
Downloads
72
Comments
0

2 Embeds 6

https://es.coursesites.com 3
https://www.coursesites.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    LM-UT5: DTD, XML Schema LM-UT5: DTD, XML Schema Presentation Transcript

    • Lenguajes de Marcas y SGI UT 5: XML (I). Definición de esquemas y vocabularios. CFGS «Administración de Sistemas Informáticos en Red» CIFP Juan de Colonia (Burgos) David H. Martín Alonso – Curso 2010/2011 –
    • XML (I): ESQUEMAS Y VOCABULARIOS. Contenidos Introducción DTD Espacios de nombres XML SchemasFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. XML por fuera... ● XML se emplea para organizar información de cualquier tipo. ● Muy popular, está omnipresente en multitud de aplicaciones para cualquier uso. ● Es un formato de texto, estructurado usando etiquetas. ● Aunque tiene orígenes comunes y es también muy popular en Internet, no es HTML.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. XML por dentro... ● Elementos ● Atributos ● Entidades ● Texto de contenidoFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. ¿metalenguaje?■ Introducción XML es solo un metalenguaje.□ DTD□ XSD • Formato general, básico, común, obligatorio. • Base para lenguajes con usos reales, concretos. Diversos modelos para desarrollar cada lenguaje – Gramáticas, vocabularios, etc. 5/43 • Document Type Definition (DTD). • Esquemas (XMLSchema). • Espacios de nombres. Necesidad de corrección a los dos niveles: • Documentos bien formados. • Documentos válidos.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. xmllint■ Introducción Utilidad de texto para «sanear» archivos XML.□ DTD□ XSD – Incluido en la biblioteca «libxml» . • Dar formato. • Verificar. • Validar frente a lenguajes. 6/43 $> xmllint --version … $> xmllint --help … $> xmllint --format data.xml … $> xmllint --valid data.xml … $> xmllint –noout --dtdvalid data.dtd data.xml … $> xmllint –noout --schema schema.xsd data.xml … lint: soft cloth, used for protecting a cut or burn on your skin. lint: soft cloth, used for protecting a cut or burn on your skin.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad I: xmllint Trabajar con xmllint para formatear y validar documentos XHTML. Retirar la definición DOCTYPE del documento y descargar a mano los archivos correspondientes para tratar de hacer la validación completamente de manera local. Nota: Alguna versión distribuida para Win32, en concreto la de MSYS no incluye soporte HTTP y eso limita la validación contra archivos de definición a través de la red. Con la opción –-versión podemos ver las características incluidas.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. DTD□ Introducción Document Type Definition■ DTD□ XSD • Modelo estructural del documento – Elementos – Atributos – Descendientes, jerarquía – Contenido 8/43 • Modelo clásico heredado de SGML – ¡Sintaxis NO XML! – Sencillo = limitado – En recesión frente a esquemas, espacios de nombres... • Ubicación – Interno – Externo – Mixto • Notación: <! … > – DOCTYPE, ELEMENT, ATTLIST, ENTITYFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: DOCTYPE□ Introducción <!DOCTYPE –nombre– [ –declaraciones– ]>■ DTD□ XSD • La definición DOCTYPE precede al elemento raíz. • El nombre debe ser el del elemento raíz. • Las declaraciones podrán estar en un archivo 9/43 separado. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!DOCTYPE huérfano [ <!ELEMENT huérfano EMPTY> ]> <huérfano />Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Elementos (I)□ Introducción <!ELEMENT –nombre– –contenido– >■ DTD□ XSD • Todos los elementos permitidos deben tener descripción. • Cada elemento debe indicar nombre y contenido. • Contenidos especiales: 10/43 – EMPTY: elementos siempre vacíos. – ANY: admite cualquier contenido, sean elementos o texto. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!DOCTYPE huérfano [ <!ELEMENT huérfano ANY> <!ELEMENT furtivo EMPTY> ]> <huérfano><furtivo/></huérfano>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Elementos (II)□ Introducción • Los descendientes van entre paréntesis.■ DTD□ XSD • El operador coma « , » separa los descendientes exigidos y en orden. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <!DOCTYPE huérfano [ 11/43 <!ELEMENT huérfano (a, b)> <!ELEMENT a ANY> <!ELEMENT b ANY> ]> <huérfano><a/><b/></huérfano>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Elementos (III)□ Introducción – El operador « | » separa descendientes alternativos.■ DTD – Los paréntesis « () » permiten crear subgrupos.□ XSD – Los elementos (o subgrupos) pueden ser opcionales « ? » señala componentes opcionales. « * » permite varios componentes opcionales. « + » exige uno o más componentes. – #PCDATA se emplea para contenido textual. 12/43 <!DOCTYPE padre [ <!ELEMENT padre ( hijo+ ) > <!ELEMENT hijo ( #PCDATA | a | b )* > <!ELEMENT a ANY> <!ELEMENT b ANY> ]> <padre> <hijo /> <hijo><a/></hijo><hijo><b/></hijo> <hijo><a/><b/></hijo><hijo><b/><a/></hijo> <hijo><b/>1<a/>2<b/>¡Hola mundo!<b/>4<b/>5<b/></hijo> </padre>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Elementos (IV)□ Introducción■ DTD□ XSD <!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> <!ELEMENT caption %Inline;> 13/43 <!ELEMENT thead (tr)+> <!ELEMENT tfoot (tr)+> <!ELEMENT tbody (tr)+> <!ELEMENT colgroup (col)*> <!ELEMENT col EMPTY> <!ELEMENT tr (th|td)+> <!ELEMENT th %Flow;> <!ELEMENT td %Flow;>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. <!DOCTYPE ...>□ Introducción DTD internos■ DTD <!DOCTYPE elemento0 [ <!ELEMENT elemento0 ANY> ]>□ XSD DTD externos – Con prólogo donde se indica la codificación: <?xml version="1.0" encoding="utf-8"?> 14/43 • Basados en URI <!DOCTYPE elemento0 SYSTEM "dtd0.dtd"> • Basados en identificador – Si está almacenado no requiere descarga. – URI opcional. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> DTD mixtos <!DOCTYPE elemento1 SYSTEM "dtd0.dtd" [ <!ELEMENT extra ANY> ]>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad II: diseño de DTD Diseñar un DTD para almacenar libros, permitiendo la incorporación de los bloques o simplemente capítulos que lo componen. <libro> <título>Egolatría</título> <autor>Yo mismo</autor> <autor>Conmigo mismo</autor> <bloque> <título>Yo</título> <capítulo><título>El Yo</título></capítulo> <capítulo><título>Mí</título></capítulo> <capítulo><título>Menda</título></capítulo> </bloque> <bloque> <título>Lo demás</título> <capítulo><título>La Nada</título></capítulo> <capítulo><título>El vacío</título></capítulo> </bloque> </libro>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad III: codificación DTD Con el archivo DTD del ejercicio anterior. Convertirlo a codificación Windows-1252 y comprobar la necesidad de indicar la codificación en la declaración de XML en el prólogo. Probar si es compatible un documento XML en UTF-8 con un DTD en la codificación de Windows española.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad V: CSS y XML Buscar información sobre cómo enlazar XML con CSS y preparar una hoja de estilos para el documento del libro. Es conveniente aplicar el formato “display: block;” a los elementos definidos para visualizarlos en líneas separadas. http://www.w3schools.com/Xml/xml_display.aspFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Atributos (I)□ Introducción <!ATTLIST –elemento– –nombre– –tipo– –opcionalidad– >■ DTD□ XSD nombre + tipo + opcionalidad • Tipos: restricciones sobre los valores admisibles. • Opcionalidad: 18/43 – Atributos obligatorios/opcionales – Valores por defecto • Hay dos nombres reservados, de uso habitual. – Idioma (BCP 47) del elemento xml:lang – Preservar el espaciado xml:space – Aún requieren declaración para ser usados. <!ATTLIST ejemplo xml:lang CDATA "es-ES" xml:space (default|preserve) "preserve" >Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Atributos (II)□ Introducción • Tipos: restricciones sobre los valores admisibles■ DTD – CDATA: general, texto no procesado.□ XSD ID: identificador de elementos, único. IDREF, IDREFS: referencia a un identificador existente. NMTOKEN, NMTOKENS: palabras, nombres válidos. ENTITY, ENTITIES: nombre de entidad definida antes. 19/43 Enumeración de valores permitidos: (a1|a2|b1|c2) • Opcionalidad y valores por defecto – #REQUIRED: obligatorio – #IMPLIED: opcional – Opcional con valor por defecto: "valor" – Opcional, valor por defecto y obligado: #FIXED "valor" <!ELEMENT e0 ANY > <!ATTLIST e0 id ID #REQUIRED refs IDREFS #IMPLIED a0 CDATA #IMPLIED a1 CDATA "220V" a2 CDATA #FIXED "siempre" a3 (pc|mac) #REQUIRED >Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Atributos (III)□ Introducción■ DTD□ XSD <!DOCTYPE padre [ 20/43 <!ELEMENT padre (hijo+) > <!ELEMENT hijo EMPTY > <!ATTLIST hijo id ID #REQUIRED a0 CDATA #REQUIRED rel IDREF #IMPLIED > ]> <padre> <hijo id="c6" a0="eso" rel="c7"/> <hijo id="c7" a0="eso"/> </padre>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad V: Diseño DTD Diseñar un modelo de documento DTD para la información de los horarios de los alumnos aplicando las posibilidades explicadas hasta el momento. Ej.: empleando identificadores únicos para los módulos.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Entidades□ Introducción <!ENTITY –nombre– –definición– >■ DTD□ XSD Constantes, valores reutilizables Varios tipos • Internas / externas 22/43 – Internas. Ej.: <!ENTITY HMundo "Hola mundo"> – Externas. Ej.: <!ENTITY ENT0 SYSTEM "algo.ent"> Ej.: <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"> • Generales (&nombre;) / de parámetros (%nombre;) – De parámetros, para usar en el propio DTD: Ej.: <!ENTITY % comunes "id ID #IMPLIED"> Predefinidas: &lt; – &gt; – &amp; – &apos; – &quot;Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos DTD: Entidades□ Introducción <?xml version="1.0" encoding="utf-8"?>■ DTD <!ENTITY % contenido "(#PCDATA|p)*">□ XSD <!ELEMENT html (head,body)> <!ELEMENT head (title)> <!ELEMENT body %contenido;> <!ELEMENT title (#PCDATA)> <!ELEMENT p %contenido;> 23/43 <?xml version="1.0" encoding="utf-8"?> <!ENTITY % ENT0 SYSTEM "htmltrucado.ent"> %ENT0; <!ELEMENT html (head,body)> <!ELEMENT head (title)> <!ELEMENT body %contenido;> <!ELEMENT title (#PCDATA)> <!ELEMENT p %contenido;> <?xml version="1.0" encoding="utf-8"?> <!ENTITY % contenido "(#PCDATA|p)*"> <!ENTITY firma "<p>DHMA2011</p>">Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Espacios de nombres□ Introducción XML Namespaces – xmlns□ DTD■ XSD • Espacios de nombres. • Permiten la coexistencia de escenarios – Combinación de elementos en el mismo archivo. – Definiciones separadas 24/43 • Se identifican mediante un nombre, un URI – ATENCIÓN: no es una dirección web, sólo un nombre. – Puede no estar disponible si tratamos de acceder a él. Atributo xmlns. Heredado por los elementos hijo. • Espacio de nombres por defecto <html xmlns="http://www.w3.org/1999/xhtml"> • Espacios alternativos, identificados con prefijo <padre xmlns:svg="http://www.w3.org/2000/svg"> … <svg:ellipse cx="2cm" cy="4cm" rx="2cm" ry="1cm" />Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Usando espacios de nombres ● En un mismo documento XML pueden coexistir varios vocabularios/gramáticas que llamamos «espacios de nombres» . ● Cada espacio de nombres se identifica mediante un nombre único, con formato URI, que generalmente no devuelve ninguna página. ● Se selecciona con el atributo «xmlns» y afecta a todos los nodos hijo. ● Se le puede asignar un prefijo para identificar solo a algunos elementos <padre xmlns:prefijo="…"> <prefijo:nombre> … </prefijo:nombre>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Esquemas XML (I)□ Introducción XML Schema Definition Language (XSD)□ DTD■ XSD – Confusión con el nombre genérico: Esquema XML • Modelo estructural del documento – Nombre adoptado de las bases de datos – Conjunto de restricciones de estructura y contenido verificables por medios automáticos. • Mejoras sobre DTD 26/43 – Formato XML  los esquemas son validables por separado – Mejoras en tipaje: aplicable también al contenido – Mejoras en tipaje: más tipos y permite ampliarlos  + permite una validación más estricta + mejora la comunicación entre aplicaciones, rigor en datos – Soporte para espacios de nombres  reutilización – Muy completo ≠ sencillo ... the syntax of XML Schema was obviously produced by someone who grew up at the ... the syntax of XML Schema was obviously produced by someone who grew up at the bottom of a deep well in the middle of a dark, wasteful moor where he was tortured daily by bottom of a deep well in the middle of a dark, wasteful moor where he was tortured daily by abusive giant squirrels and wishes to share his pain with the world. abusive giant squirrels and wishes to share his pain with the world. Robin Berjon (co-author SVG 1.1 spec) Robin Berjon (co-author SVG 1.1 spec)Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Esquemas XML (II)□ Introducción Objetos: Tipos predefinidos:□ DTD■ XSD element – string attribute – decimal simpleType – float complexType – date group –… 27/43 attributeGroup Compositores sequence choice allFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos XSD: Elementos□ Introducción <xs:element name="título" type="xs:string"/>□ DTD <xs:element name="autor" type="xs:string"/>■ XSD <xs:element name="capítulo"> <xs:complexType> <xs:sequence> 28/43 <xs:element ref="título"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bloque"> <xs:complexType> <xs:sequence> <xs:element ref="título"/> <xs:element ref="capítulo" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. El esquema XSD□ Introducción • Elemento raíz del esquema: schema XSD□ DTD <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"■ XSD targetNamespace="http://www.mio.es/xsd1" xmlns="http://www.mio.es/xsd1"> Vocabulario ... XML Schema </schema> Vocabulario definido 29/43 • Espacio de nombres del propio XML Schema. – Nombres con prefijo – Elementos de XML Schema para construir las definiciones. • Espacio de nombres objeto de la definición. – Nombres sin prefijo – Permite referencias entre elementos propios de forma clara. Vocabulario XML <raíz xmlns="http://www.mio.es/xsd1" a usar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mio.es/xsd1 xsdlibros.xsd"> ... </raíz> Localización del vocabularioFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. xs – xsi□ Introducción Usamos dos especificaciones estándar.□ DTD■ XSD – XML Schema: dos espacios de nombres implicados. – Prefijos estándar, ampliamente utilizados pero cambiables. • Schema Namespace – Nombre: http://www.w3.org/2001/XMLSchema 30/43 – En el archivo XSD que contiene las definiciones. – Habitualmente usa los prefijos xs: o xsd: – Elementos XML Schema para construir las definiciones. • Schema Instance Namespace – Nombre: http://www.w3.org/2001/XMLSchema-instance – En el archivo que contiene el documento XML con datos. – Habitualmente usa el prefijo xsi: – Localización de archivos XSD. – Opcional y muy reducido. Solo schemaLocation y noNamespaceSchemaLocationFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Elementos XSD□ Introducción • Elementos globales□ DTD – Hijos directos de <schema … >■ XSD – Definidos con <element … > – Incorporación directa y obligatoria al espacio. – Atributo name para darle nombre y type para el tipo. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" … > 31/43 <xs:element name="título" type="xs:string"/> <xs:element name="libro" type="grupo"/> ... – Se pueden reutilizar/referenciar posteriormente <xs:complexType name="grupo"> <xs:sequence> <xs:element ref="título"/> </xs:sequence> </xs:complexType> </xs:schema> – Tipos complejos: definición en elemento o separada. – Repeticiones: minOccurs="1" maxOccurs="unbounded"Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos XSD: Elementos (II)□ Introducción <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"□ DTD targetNamespace="http://www.mio.es/xsd2" xmlns="http://www.mio.es/xsd2"> <xs:element name="título" type="xs:string"/>■ XSD <xs:element name="autor" type="xs:string"/> <xs:element name="capítulo"> <xs:complexType> <xs:sequence> <xs:element ref="título"/> </xs:sequence> </xs:complexType> </xs:element> 32/43 <xs:element name="bloque"> <xs:complexType> <xs:sequence> <xs:element ref="título"/> <xs:element ref="capítulo" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="libro"> <xs:complexType> <xs:sequence> <xs:element ref="título"/> <xs:element ref="autor" minOccurs="1" maxOccurs="unbounded"/> <xs:choice> <xs:element ref="bloque" minOccurs="1" maxOccurs="unbounded"/> <xs:element ref="capítulo" minOccurs="1" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Atributos XSD□ Introducción • Atributos globales□ DTD – Hijos directos de <schema … >■ XSD – Definidos con <attribute … > – Atributo name para darle nombre y type para el tipo. – use="required" o use="optional" con default="…" 33/43 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" … > <xs:attribute name="cód" type="xs:decimal"/> ... – Se pueden referenciar posteriormente – Van al final (tras sequence/choice/all) <xs:complexType name="codificado"> ... <xs:attribute ref="cód" use="required"/> </xs:complexType> </xs:schema>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad VI: Tipos simples Buscar en las referencias los tipos de datos simples predefinidos y ponerlos a prueba. W3Schools Dankert, E. XML Schema TutorialFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. simpleType vs. complexType□ Introducción • Tenemos tipos predefinidos que podemos adaptar□ DTD – restriction / extension■ XSD – Sobre el tipo indicado con base="…" – También se pueden aplicar a los nuevos tipos creados. – Definiciones globales con nombre, reutilizables. – Definiciones locales sin nombre, en elementos y atributos. 35/43 • simpleType – Aplicables a texto: válido para contenido o atributos • complexType – Cuando hay atributos, elementos hijo o contenido mixto. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" … > <xs:simpleType name="díasemana"> <xs:restriction base="xsd:string"> <xs:enumeration value="miércoles"/> <xs:enumeration value="viernes"/> </xs:restriction> </xs:simpleType> <xs:element name="jornada" type="díasemana"/> </schema>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Ejemplos XSD: Tipos□ Introducción <?xml version="1.0" encoding="utf-8"?>□ DTD <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"■ XSD targetNamespace="http://www.mio.es/xsd3" xmlns="http://www.mio.es/xsd3"> <xs:simpleType name="díasemana"> <xs:restriction base="xs:string"> <xs:enumeration value="miércoles"/> 36/43 <xs:enumeration value="viernes"/> </xs:restriction> </xs:simpleType> <xs:element name="jornada" type="díasemana"/> <xs:element name="clase"> <xs:complexType> <xs:sequence> <xs:element ref="jornada" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad VII: esquemas Reconstruir el ejemplo anterior para que <jornada> sea un elemento vacío con dos atributos día1 y día2 donde indiquemos el día de la semana. Rehacer alguno de los ejercicios de diseño de DTD realizados empleando ahora esquemas XML Schema.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Definiciones globales y locales□ Introducción • Globales: definiciones en primer nivel, en schema.□ DTD – Nombre obligatorio name="…", también para tipos.■ XSD – Reutilizables usando ref="…" o type="…" • Locales: definiciones dentro de otras definiciones – Permite omitir nombres si no es elemento ni atributo. 38/43 • Se pueden construir esquemas alternativos con unas y otras. • Calificación: prefijos obligatorios o no. – Por defecto los elementos y atributos locales no requieren calificación por prefijo, se identifican por el contexto. – Incompatible con espacio de nombres por defecto. – Se puede forzar el uso del prefijo elementFormDefault="qualified" attributeFormDefault="qualified"Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad VIII: otros modelos Existen otros lenguajes para especificar las características de documentos XML. Relax NG es uno de los más citados con una sintaxis más sencilla que XML Schema. Buscar información sobre él y construir y validar ejemplos.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Actividad IX: SVG y MathML Familiarizarse con los lenguajes SVG y MathML. Aprovechar la actividad para revisar conceptos básicos sobre formatos de imágenes y resoluciones e introducir el uso de la aplicación de diseño gráfico Inkscape, pero sin perder nunca de vista la parte técnica analizando el código XML/SVG/CSS.Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Referencias W3C Recommendation (2008, W3C) XExtensible Markup Language http://www.w3.org/TR/xml/ W3Schools (WWW) DTD Tutorial http://www.w3schools.com/DTD/ W3Schools (WWW) XML Schema Tutorial http://www.w3schools.com/Schema/ Boulanger, T. y Lecomte, S. (2009, ENI). XML práctico: bases esenciales, conceptos y casos prácticos. ISBN: 978-2-7460-4958-1. Dankert, E. (2005, edankert...) XML Grammars. http://www.edankert.com/grammars/ Webucator (2009) XML Schema Tutorial. http://www.learn-xml-schema-tutorial.com/ Wilde, E. (2010, UC Berkeley) XML Foundations –INFO 242 (CCN 42593)– . http://dret.net/lectures/xml-fall10/ Bibliografía actualizada en delicious: http://www.delicious.com/dhmartin/LM-ASIRFebrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. Licencia Este material está disponible bajo una Licencia Creative Commons, http://creativecommons.org/licenses/by-nc-sa/3.0/es/Febrero de 2011 CIFP Juan de Colonia
    • XML (I): ESQUEMAS Y VOCABULARIOS. ¿Dudas o cuestiones?Febrero de 2011 CIFP Juan de Colonia