Академический Документы
Профессиональный Документы
Культура Документы
Qu es el XML?
Repasemos lo conocido...
Comparando con...
HTML (HyperText Markup Language). SGML (Standard Generalized Markup Language). PDF (Portable Document Format).
HTML: Lo bueno.
El hipertexto funciona. Es multiplataforma. Tiene una curva de aprendizaje muy plana. Barato (muchos editores, visores, verificadores, etc., gratuitos). Base de informacin grande. Los navegadores son baratos, sencillos de construir y de usar y poderosos.
HTML: Lo malo.
Pobre herramienta de presentacin.
Poco control de espaciado. Problemas con el control de guiones, kerning, justificacin y otras manipulaciones de texto. EL uso de columnas es problemtico.
HTML: Lo peor.
No puede ser extendido elegantemente.
Las etiquetas son fijas. Las compaas y personas involucradas en hacer extensiones no saben de composicin (typesetting) ni edicin estructurada. Es campo de batalla comercial (Mozilla vs IE).
HTML: Lo nuevo.
Las hojas de estilo en cascada (cascading style sheets, CSS).
Netscape 4.0 y superior. Internet Explorer 3.0 y superior. Opera y otros navegadores en sus ltimas versiones.
La versin 1, (CSS1) emitida como recomendacin del W3C en 1996. Separa la estructura del formato. Mayor control sobre la apariencia y posicin.
SGML: Lo bueno.
Es multiplataforma. Es un estndar ISO estable. Hay disponibles muchas herramientas gratuitas para edicin y conversin. Es un conjunto de reglas, no un conjunto de etiquetas fijas. Separa completamente la estructura del formato.
SGML: Lo malo.
Es complicado. Es costoso.
El diseo de documentos es costoso. La mano de obra es cara. El entrenamiento es caro. Aunque hay herramientas gratuitas, las que no lo son son muy costosas.
PDF: Lo bueno.
Rpido y barato. Preserva perfectamente la composicin (layout) del documento. Excelente para imprimir en cualquier dispositivo. Multiplataforma.
PDF: Lo malo.
Archivos muy grandes. Poca flexibilidad. Pobres capacidades de bsqueda y navegacin. Pobre capacidad para reconvertir en otros formatos. Pobre accesibilidad.
Extensible:
Un conjunto de reglas, no un conjunto de etiquetas.
Necesitamos XML.
Metas de diseo.
XML debe ser utilizable a travs de Internet. XML debe soportar muchos escenarios de aplicacin. XML debe ser compatible con el SGML. Los programas que procesen documentos XML deben ser fciles de crear. Las caractersticas opcionales deben ser idealmente cero. Lso documentos en XML deben de ser legibles por humanos y razonablemente claros.
Metas de diseo.
El diseo con XML debe ser rpido. El diseo de documentos XML debe de ser formal y conciso. Los documentos XML deben de ser fciles de crear. El laconismo en el uso de etiquetas no es importante.
Ahora... un ejemplo.
<Cliente ID=HVet950283"> <Nombre>Hospital Veterinario Kermit</Nombre> <Direccion verificada=si"> <Calle>Padre Mier 1528</Calle> <Ciudad>Monterrey</Ciudad> <Estado>NL</Estado> <CodigoPostal>64000</CodigoPostal> </Direccion> </Cliente>
Sintaxis simple
El XML es...
El Lenguaje de Marcaje Extensible (Extensible Markup Languaje, XML).
Un metalenguaje de marcaje. Una sintaxis utilizada para crear lenguajes declarativos.
Libre (y gratuito).
El XML no es...
Un lenguaje de marcaje (markup).
No. Es un estndar que especifica una sintaxis para crear lenguajes de marcaje.
Un invento de [x compaa].
No. XML es un estndar creado por el W3C y soportado por compaas e instituciones de todo el mundo.
Dos versiones.
XML bien formado.
Las etiquetas de inicio y final coinciden. Los elementos vacos tienen una forma especial. No hay elementos traslapados. Los atributos van en comillas.
XML vlido.
Es cdigo bien formado con funciones adicionales. Se adhiere a una estructura predefinida dictada por un esquema,
DTD, DCD, SOX, etc.
Jerarqua de datos.
E m p le a d o L o c a liz a c i n D iv is i n D e p a rta m e n to O f ic in a I d e n tif ic a c i n N o m b re A p e llid o p a t e r n o A p e llid o m a t e r n o N o m b re s C a rg o
Contenedor = elemento.
Declarativo (sustantivo). Lo que est encerrado entre las etiquetas. De lo que habla la sintaxis. Cinco cosas necesarias:
Cmo se llama el elemento. Dnde inicia el elemento. Dnde termina el elemento. Qu contiene el elemento. Qu relacin tiene el elemento con otros elementos.
Etiquetas.
El XML diferenca entre maysculas y minsculas.
<Libro>, <libro>, <LIBRO> y <LiBrO> son etiquetas
La declaracin XML.
Dice Soy un documento XML!. Tiene partes especficas: <?xml apertura version=1.0 versin encoding= codificacin de caracteres standalone= doc. independ. (yes/no) ?> fin Cada entidad XML que no est en UTF-8 o UTF-16 debe contener la declaracin de codificacin (encoding).
<Bienvenida>Hola mundo!</Bienvenida>
Entidades carcter.
Para documentos bien formados: > > (greater than) < < (less than) & & (ampersand) ' (apstrofe) " (double quote) Los documentos vlidos deben de definir estas entidades antes de usarlas. Ejemplos:
AT&T Nombre=Mario Moreno 'Cantinflas'
Atributos.
Propiedades (adjetivos). Contienen informacin acerca del elemento.
Informacin sobre grficos. Fechas, nombres, colores, etc.
Sugerencias:
Cualquier editor de texto o procesador de palabras. Editores especiales para XML.
Variantes de editores de SGML. Editores de XML.
Editores de SGML.
Requiere hacer algunos ajustes, no recomendable.
XML vlido.
El control de la DTD.
La DTD proporciona:
Una sintaxis formal que sirva de gua a un intrprete/analizador (parser). La habilidad de definir valores predeterminados para los atributos. Especificaciones para la estructura.
Una DTD es una buena manera (pero no la nica) de controlar la creacin de datos.
Creando DTDs.
Apertura y palabra clave. Nombre del elemento. Modelo de contenido o contenido declarado. Cierre.
Palabras clave para el contenido declarado: EMPTY Sin elemento o contenido. ANY Cualquier combinacin de elementos descendientes y datos caracter.
Modelo de contenido.
Elementos o #PCDATA. Conectores.
, | seguido de uno u otro Uno y solo uno Cero o uno Uno o ms Cero o ms
(a,b) (a|b) configuracion Nombre? Controlador+ Opciones*
Indicadores de ocurrencia.
? + *
Contenido mixto.
Caracteres (#PCDATA) que aparecen solos o en combinacin con elementos descendientes en un modelo de contenido. Pueden ser expresados en combinaciones como un grupo o un contenido repetible:
(#PCDATA | grafico | tabla | lista)
Comentarios XML.
Los comentarios pueden aparecer en cualquier parte del documento fuera de otros marcajes. Pueden aparecer dentro de la declaracin de tipo de documento. Un procesador XML puede, pero no requiere, ser capaz de leer y recuperar los comentarios.
Apertura y palabra clave. Nombre del elemento. Nombre del atributo. Lista de valores o valor declarado. Valor predeterminado o palabra clave de valor predeterminado. Cierre.
<!DOCTYPE novela [ <!ELEMENT novela (titulo, parrafo+) <!ELEMENT titulo (#PCDATA) <!ELEMENT parrafo (#PCDATA) ]>
<!DOCTYPE novela
SYSTEM novela.dtd
>
Cdigo XML.
fuerza="ligera"/>
Esquemas W3C.
Nueva especificacin del W3C.
Semntica XML.
Semntica XML.
El papel de la semntica.
Agrega procesamiento (verbos) al documento XML (sustantivos y adjetivos).
Semntica de visualizacin.
Indica cmo debe de formatearse un elemento.
Semntica de procesamiento.
Indica cmo debe procesarse cada elemento.
El XSL.
Lenguaje extensible de hojas de estilo (extensible stylesheets languaje).
XSL.
HTML: Formato sin estructura.
Lenguaje de composicin (typesetting). No extensible.
XSL.
Un lenguaje para expresar hojas de estilo. Proporciona semntica de visualizacin para el XML.
Relaciona elementos XML con HTML o con otros lenguajes de formato (PDF, LaTeX, PostScript, etc).
XSL
Arbol resultado (xmlsn:fo)
Intrprete
Transform. XSL
Intrprete
Intrprete
Navegador XSL
Transform. XSL
Salida en HTML
XSL
Transform. XSL
Salida en HTML
XSL
Transform. XSL
Salida en HTML
XML + XSL
Un documento XML referenca a un documento XSL por medio de un fragmento de cdigo como este:
<?xml-stylesheet type=text/xsl href=clima.xsl?>
Plantillas XSL.
Un documento XSL aplica una o varias plantillas (templates) al cdigo fuente XML. Un archivo XSL es una secuencia de plantillas que se aplican a una o ms etiquetas XML de acuerdo a un patrn.
<xsl:template match="/"> . . . coincide con </xsl:template> <xsl:template match=clima/ciudad"> . . . </xsl:template>
el elemento raz.
Plantillas XSL.
<xsl:template match=etiqueta> Define el cdigo HTML asociado con una etiqueta XML dada. <xsl:value-of select=nombre_nodo> <xsl:value-of select=@nombre_atributo> Regresa el texto asociado con el atributo o nodo. <xsl:for-each select=nombre_nodo> . . . </xsl:for-each> Repite un proceso para cada elemento con la etiqueta especificada.
Plantillas XSL.
<xsl:apply-templates match=Nombre> <xsl:apply-templates match=@Atributo> Aplica todas las plantillas posibles a todos los elementos que coincidan.
Patrones XSL.
Elemento. clima/ciudad Elemento de un ancestro dado. precip[@tipo] Filtro para atributo. precip[@tipo=lluvia] Filtro para atributo. .[@total_dia > 0] Filtro para nodo actual.
ciudad
XSL condicional.
Cuando la generacin de HTML depende del valor de algn atributo o elemento hay dos opciones:
Estatutos XSL condicionales. Scripts.
Extensin de IE, no estndar.
Ejemplo:
<xsl:template match="precip"> <xsl:if test=".[@total_dia > 0]"> <xsl:value-of select="@total_dia"/> mm </xsl:if> </xsl:template>
Islas XML.
XML dentro de una pgina HTML. Invoca una instancia del procesador XML del cliente. Puede ser identificada por un ID. Puede controlarse y modificarse con scripts en el cliente.
XML en el DOM.
Isla de datos XML
<XML id=Arch-XML src=clima.xml></XML> <XML id=Arch-XSL src=clima.xsl></XML>
Navegador Instanca
XML
Base de datos Consultar
XML
XML
Mantener
XML
BD
XML
BD
Consultar en XML.
Crear salidas desde la BD a un formato de presentacin (como el HTML).
Exportar en XML.
Crear vistas lgicas de la base de datos.
Almacenar y consultar los documentos XML desde una base de datos. Conversin a HTML usando XSL en el servidor. Enviar al navegador. Ventajas:
XML para manejo de documentos. HTML para mxima compatibilidad con los navegadores.
Nivel de datos.
Cdigo para accesar y transformar bsicamente el contenido de bases de datos.
XML
XML
BDs
Aplicaciones
Navegador
Ms informacin.
MSDN Latinoamrica,
http://www.microsoft.com/latam/msdn/
W3C,
http://www.w3.org/xml/
Architag,
http://architag.com/xmlu/
XML en DevX,
http://www.xml-zone.com/
Tutorial de XML.
Mario A. Valdez-Ramrez, Interactive Bureau Mxico. Editor de MSDN Latinoamrica.
Partes de esta presentacin basadas en la presentacin de Da XML de TechEd 1999 (a su vez con secciones basadas en contenido del X Simposium de XML por Architag.
Qu es el XML?
Repasemos lo conocido...
Comparando con...
HTML (HyperText Markup Language). SGML (Standard Generalized Markup Language). PDF (Portable Document Format).
HTML: Lo bueno.
El hipertexto funciona. Es multiplataforma. Tiene una curva de aprendizaje muy plana. Barato (muchos editores, visores, verificadores, etc., gratuitos). Base de informacin grande. Los navegadores son baratos, sencillos de construir y de usar y poderosos.
HTML: Lo malo.
Pobre herramienta de presentacin.
Poco control de espaciado. Problemas con el control de guiones, kerning, justificacin y otras manipulaciones de texto. EL uso de columnas es problemtico.
El cdigo invlido no es culpa del HTML sino de la falta de verificacin formal durante su creacin y lectura. Veremos como el XML resuelve este problema. Es como cuando usan Basic vs Pascal, no es culpa de Basic que la gente escriba cdigo mal con l, simplemente que favorece la creacin de cdigo incorrecto. Escribir HTML, igual que cualquier trabajo de programacin, requiere que se pueda reciclar cdigo de manera limpia y lo ms automatizadamente posible. Es posible usar herramientas externas para lograrlo con HTML, pero el XML (como veremos ms adelante) lo facilita. Es importante recordar que cuando se creo el HTML no se hizo como un mecanismo de diseo grfico, sino como una herramienta de presentacin de hipertexto, es decir solo describa el formato bsico del texto y qu elementos del texto estaban relacionados (por hiperenlaces) con otros texto. Su propsito era describir el hipertexto de manera independiente de la plataforma.
HTML: Lo peor.
No puede ser extendido elegantemente.
Las etiquetas son fijas. Las compaas y personas involucradas en hacer extensiones no saben de composicin (typesetting) ni edicin estructurada. Es campo de batalla comercial (Mozilla vs IE).
No es un conjunto de reglas. El HTML ya no es adecuado para los editores, ni los diseadores ni para nadie. Es una mezcla bizarra que se est tratando de limpiar con el HTML 4.0 y las CSS. El estndar es usado como un club.
HTML: Lo nuevo.
Las hojas de estilo en cascada (cascading style sheets, CSS).
Netscape 4.0 y superior. Internet Explorer 3.0 y superior. Opera y otros navegadores en sus ltimas versiones.
La versin 1, (CSS1) emitida como recomendacin del W3C en 1996. Separa la estructura del formato. Mayor control sobre la apariencia y posicin.
Las CSS permiten hacer manipulaciones de elementos HTML que no se podan hacer antes. Adems, permite centralizar el formato y apariencia de un sitio completo, por ejemplo, al modificar una sola CSS se altera la apariencia de todo el sitio, sin tener que editar cada pagina individualmente. Requiere soporte de parte del navegador.
SGML: Lo bueno.
Es multiplataforma. Es un estndar ISO estable. Hay disponibles muchas herramientas gratuitas para edicin y conversin. Es un conjunto de reglas, no un conjunto de etiquetas fijas. Separa completamente la estructura del formato.
SGML: Lo malo.
Es complicado. Es costoso.
El diseo de documentos es costoso. La mano de obra es cara. El entrenamiento es caro. Aunque hay herramientas gratuitas, las que no lo son son muy costosas.
10
Lo complicado es relativamente con el HTML. EL entrenamiento es caro en trminos de tiempo y/o dinero.
11
De nuevo, no cualquiera aprende SGML ni lo hace en un tiempo muy corto. Si una persona o compaa desea convertir sus documentos usando SGML tardar mucho ms y le constar mucho ms que usando HTML.
PDF: Lo bueno.
Rpido y barato. Preserva perfectamente la composicin (layout) del documento. Excelente para imprimir en cualquier dispositivo. Multiplataforma.
12
Adobe ha hecho una gran trabajo mejorando la especificacin PDF, hijo de PS, y hacindola abierta. Es decir, ya no es una especificacin propietaria. Actualmente hay muchas herramientas para convertir texto en PDF, en varias plataformas.
PDF: Lo malo.
Archivos muy grandes. Poca flexibilidad. Pobres capacidades de bsqueda y navegacin. Pobre capacidad para reconvertir en otros formatos. Pobre accesibilidad.
13
El precio que pagan los PDF por su excelente conservacin de la composicin es la falta de flexibilidad. No siempre es posible presentar el mismo documento en diferentes dispositivos con caractersticas muy distintas. Sobre la accesibilidad, me refiero a la capacidad de extrar el texto para convertirlo a otras formas como Braille o voz, para personas discapacitadas.
14
Sabemos que imprimir no es lo nico que se puede hacer, pero generalmente los visores estn optimizados para eso, no para navegar. No es lo mismo querer imprimir en una impresora de 1200x1200 dpi a color que un la pantalla LCD de una Palm Pilot.
Extensible:
Un conjunto de reglas, no un conjunto de etiquetas.
15
Extensible de una manera estndar, es decir, sin oportunidad de que una modificacin lo convierta en incompatible. La solucin es crear reglas, no etiquetas. Acaso el SGML tiene complejidades no necesarias? No, el SGML es complejo porque es el padre de todos los lenguajes de marcaje (markup) incluyendo al XML, pero nuestra nueva alternativa no tiene que ser tan extenso.
Necesitamos XML.
16
Metas de diseo.
XML debe ser utilizable a travs de Internet. XML debe soportar muchos escenarios de aplicacin. XML debe ser compatible con el SGML. Los programas que procesen documentos XML deben ser fciles de crear. Las caractersticas opcionales deben ser idealmente cero. Lso documentos en XML deben de ser legibles por humanos y razonablemente claros.
17
Metas de diseo.
El diseo con XML debe ser rpido. El diseo de documentos XML debe de ser formal y conciso. Los documentos XML deben de ser fciles de crear. El laconismo en el uso de etiquetas no es importante.
18
Ahora... un ejemplo.
<Cliente ID=HVet950283"> <Nombre>Hospital Veterinario Kermit</Nombre> <Direccion verificada=si"> <Calle>Padre Mier 1528</Calle> <Ciudad>Monterrey</Ciudad> <Estado>NL</Estado> <CodigoPostal>64000</CodigoPostal> </Direccion> </Cliente>
Sintaxis simple
El XML es...
El Lenguaje de Marcaje Extensible (Extensible Markup Languaje, XML).
Un metalenguaje de marcaje. Una sintaxis utilizada para crear lenguajes declarativos.
Libre (y gratuito).
20
Es un metalenguaje, no especifica el marcaje (las etiquetas) sino las reglas que gobiernan a las etiquetas. No define lenguajes imperativos (como la mayora de los lenguajes de programacin) sino declarativos, trata de lenguajes que dicen cmo son las cosas, no qu hacen. Si es fcil construir herrmientas para procesar XML entonces las herramientas sern muy baratas. Algunas sern libres.
El XML no es...
Un lenguaje de marcaje (markup).
No. Es un estndar que especifica una sintaxis para crear lenguajes de marcaje.
Un invento de [x compaa].
No. XML es un estndar creado por el W3C y soportado por compaas e instituciones de todo el mundo.
21
22
Quizs no sea tan obvio, pero adems de hacer posible la publicacin sin importar le medio (peridico, revista, pgina Web, generacin de voz, etc.), el XML permite a miembors de una industria hacer intercambio de datos usando DTDs o esquemas comunes. Tambin se puede usar para mejorar la calidad de las bsquedas de informaci, porque ahora los documentos dan significado a cada una de sus partes; es decir proporciona informacin de su propia informacin (metdatos), ya no son ms un depsito de texto e imgenes. Otro efecto colateral de que el XML sea tan simple es que el software de procesamiento es muy simple de crear y por tanto barato.
Dos versiones.
XML bien formado.
Las etiquetas de inicio y final coinciden. Los elementos vacos tienen una forma especial. No hay elementos traslapados. Los atributos van en comillas.
XML vlido.
Es cdigo bien formado con funciones adicionales. Se adhiere a una estructura predefinida dictada por un esquema,
DTD, DCD, SOX, etc.
23
24
25
26
Jerarqua de datos.
E m p le a d o L o c a liz a c i n D iv is i n D e p a rta m e n to O f ic in a I d e n t if ic a c i n N o m b re A p e llid o p a te r n o A p e llid o m a t e r n o N o m b re s C a rg o
27
Contenedor = elemento.
Declarativo (sustantivo). Lo que est encerrado entre las etiquetas. De lo que habla la sintaxis. Cinco cosas necesarias:
Cmo se llama el elemento. Dnde inicia el elemento. Dnde termina el elemento. Qu contiene el elemento. Qu relacin tiene el elemento con otros elementos.
28
29
Etiquetas.
El XML diferenca entre maysculas y minsculas.
<Libro>, <libro>, <LIBRO> y <LiBrO> son etiquetas
30
La declaracin XML.
Dice Soy un documento XML!. Tiene partes especficas: <?xml apertura version=1.0 versin encoding= codificacin de caracteres standalone= doc. independ. (yes/no) ?> fin Cada entidad XML que no est en UTF-8 o UTF-16 debe contener la declaracin de codificacin (encoding).
31
32
<Bienvenida>Hola mundo!</Bienvenida>
33
34
35
Entidades carcter.
Para documentos bien formados: > > (greater than) < < (less than) & & (ampersand) ' (apstrofe) " (double quote) Los documentos vlidos deben de definir estas entidades antes de usarlas. Ejemplos:
AT&T Nombre=Mario Moreno 'Cantinflas'
36
Atributos.
Propiedades (adjetivos). Contienen informacin acerca del elemento.
Informacin sobre grficos. Fechas, nombres, colores, etc.
37
38
Sugerencias:
Cualquier editor de texto o procesador de palabras. Editores especiales para XML.
Variantes de editores de SGML. Editores de XML.
Editores de SGML.
Requiere hacer algunos ajustes, no recomendable.
39
40
41
42
XML vlido.
43
44
El control de la DTD.
La DTD proporciona:
Una sintaxis formal que sirva de gua a un intrprete/analizador (parser). La habilidad de definir valores predeterminados para los atributos. Especificaciones para la estructura.
Una DTD es una buena manera (pero no la nica) de controlar la creacin de datos.
45
Creando DTDs.
46
Apertura y palabra clave. Nombre del elemento. Modelo de contenido o contenido declarado. Cierre.
Palabras clave para el contenido declarado: EMPTY Sin elemento o contenido. ANY Cualquier combinacin de elementos descendientes y datos caracter.
47
Modelo de contenido.
Elementos o #PCDATA. Conectores.
, | seguido de uno u otro Uno y solo uno Cero o uno Uno o ms Cero o ms
(a,b) (a|b) configuracion Nombre? Controlador+ Opciones*
Indicadores de ocurrencia.
? + *
48
49
Contenido mixto.
Caracteres (#PCDATA) que aparecen solos o en combinacin con elementos descendientes en un modelo de contenido. Pueden ser expresados en combinaciones como un grupo o un contenido repetible:
(#PCDATA | grafico | tabla | lista)
50
Comentarios XML.
Los comentarios pueden aparecer en cualquier parte del documento fuera de otros marcajes. Pueden aparecer dentro de la declaracin de tipo de documento. Un procesador XML puede, pero no requiere, ser capaz de leer y recuperar los comentarios.
51
52
Apertura y palabra clave. Nombre del elemento. Nombre del atributo. Lista de valores o valor declarado. Valor predeterminado o palabra clave de valor predeterminado. Cierre.
53
54
55
56
<!DOCTYPE novela [ <!ELEMENT novela (titulo, parrafo+) <!ELEMENT titulo (#PCDATA) <!ELEMENT parrafo (#PCDATA) ]>
<!DOCTYPE novela
SYSTEM novela.dtd
>
57
58
Cdigo XML.
fuerza="ligera"/>
59
60
61
62
Esquemas W3C.
Nueva especificacin del W3C.
63
64
Semntica XML.
65
Semntica XML.
El papel de la semntica.
Agrega procesamiento (verbos) al documento XML (sustantivos y adjetivos).
Semntica de visualizacin.
Indica cmo debe de formatearse un elemento.
Semntica de procesamiento.
Indica cmo debe procesarse cada elemento.
66
La semntica de visualizacin es muy sencilla porque hay un nmero finito de maneras de formatear un documento. La semntica de procesamiento es complicada porque hay una cantidad infinita de maneras de procesar un documento.
El XSL.
Lenguaje extensible de hojas de estilo (extensible stylesheets languaje).
67
XSL.
HTML: Formato sin estructura.
Lenguaje de composicin (typesetting). No extensible.
68
69
XSL.
Un lenguaje para expresar hojas de estilo. Proporciona semntica de visualizacin para el XML.
Relaciona elementos XML con HTML o con otros lenguajes de formato (PDF, LaTeX, PostScript, etc).
70
XSL
Arbol resultado (xmlsn:fo)
Intrprete
Transform. XSL
Intrprete
Intrprete
?
71
Navegador XSL
Transform. XSL
Salida en HTML
72
XSL
Transform. XSL
Salida en HTML
73
XSL
Transform. XSL
Salida en HTML
74
XML + XSL
Un documento XML referenca a un documento XSL por medio de un fragmento de cdigo como este:
<?xml-stylesheet type=text/xsl href=clima.xsl?>
75
76
La primera lnea es la declaracin de que es un doc. XML. Recordemos que la sintaxis del XSL est definida en XML. Lo siguiente describe qu espacio de nombres (namespace) se debe de usar para identificar las etiquetas de este documento. Definimos que hay algunas que inician su identificacin con XSL y otra con html. Definimos finalmente que el espacio de nombres por defecto es el rferenciado con html. Esto significa que una etiqueta <P> es igual que <html:P>. Finalmente, el ltimo atributo especifica que JScript es el lenguaje de script por defecto para este documento.
Plantillas XSL.
Un documento XSL aplica una o varias plantillas (templates) al cdigo fuente XML. Un archivo XSL es una secuencia de plantillas que se aplican a una o ms etiquetas XML de acuerdo a un patrn.
<xsl:template match="/"> . . . coincide con </xsl:template> <xsl:template match=clima/ciudad"> . . . </xsl:template>
el elemento raz.
77
78
79
Plantillas XSL.
<xsl:template match=etiqueta> Define el cdigo HTML asociado con una etiqueta XML dada. <xsl:value-of select=nombre_nodo> <xsl:value-of select=@nombre_atributo> Regresa el texto asociado con el atributo o nodo. <xsl:for-each select=nombre_nodo> . . . </xsl:for-each> Repite un proceso para cada elemento con la etiqueta especificada.
80
Plantillas XSL.
<xsl:apply-templates match=Nombre> <xsl:apply-templates match=@Atributo> Aplica todas las plantillas posibles a todos los elementos que coincidan.
81
Patrones XSL.
Elemento. clima/ciudad Elemento de un ancestro dado. precip[@tipo] Filtro para atributo. precip[@tipo=lluvia] Filtro para atributo. .[@total_dia > 0] Filtro para nodo actual.
ciudad
82
XSL condicional.
Cuando la generacin de HTML depende del valor de algn atributo o elemento hay dos opciones:
Estatutos XSL condicionales. Scripts.
Extensin de IE, no estndar.
83
Ejemplo:
<xsl:template match="precip"> <xsl:if test=".[@total_dia > 0]"> <xsl:value-of select="@total_dia"/> mm </xsl:if> </xsl:template>
84
85
86
87
88
Islas XML.
XML dentro de una pgina HTML. Invoca una instancia del procesador XML del cliente. Puede ser identificada por un ID. Puede controlarse y modificarse con scripts en el cliente.
89
90
91
XML en el DOM.
Isla de datos XML
<XML id=Arch-XML src=clima.xml></XML> <XML id=Arch-XSL src=clima.xsl></XML>
Navegador Instanca
92
93
94
XML
Base de datos Consultar
XML
XML
Mantener
XML
BD
XML
BD
95
En la comunicacin, recordemos que XML no descrime mecanismos para accesar bases de datos; solo describe estructuras para intercambiar informacin.
Consultar en XML.
Crear salidas desde la BD a un formato de presentacin (como el HTML).
Exportar en XML.
Crear vistas lgicas de la base de datos.
96
Almacenar y consultar los documentos XML desde una base de datos. Conversin a HTML usando XSL en el servidor. Enviar al navegador. Ventajas:
XML para manejo de documentos. HTML para mxima compatibilidad con los navegadores.
97
98
Nivel de datos.
Cdigo para accesar y transformar bsicamente el contenido de bases de datos.
99
XML
XML
BDs
Aplicaciones
Navegador
100
101
Ms informacin.
MSDN Latinoamrica,
http://www.microsoft.com/latam/msdn/
W3C,
http://www.w3.org/xml/
Architag,
http://architag.com/xmlu/
XML en DevX,
http://www.xml-zone.com/
102