Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
XML
Otro lenguaje de Internet
¿Qué es XML?
Elemento raíz o
CURSO elemento documento
ASIGNATURA
Sobretodo, sencillez
.../...
<PROFESOR>Luis Hdez.</PROFESOR>
<PERIODO>Anual</PERIODO>
<HORARIO>LMX 16-17</HORARIO>
</ASIGNATURA>
<ASIGNATURA>
<NOMBRE>LABORATORIO DE
PROGRAMACION</NOMBRE>
<CREDITOS>4,5</CREDITOS>
<PROFESOR>Luis Hdez.</PROFESOR>
<PERIODO>Cuatrimestre 2</PERIODO>
<HORARIO>LMX 15-16</HORARIO>
</ASIGNATURA>
</CURSO>
Prólogo
<?xml version="1.0"?> Declaración
XML
<!-- File name: Clase.xml -->
Comentario
<CURSO>
<ASIGNATURA>
<NOMBRE>LOGICA</NOMBRE>
<CREDITOS>4,5</CREDITOS>
<PROFESOR>Javier Leach</PROFESOR>
<PERIODO>Cuatrimestre 1</PERIODO> Elementos
<HORARIO>LMX 15-16</HORARIO> anidados
Elemento </ASIGNATURA>
documento ... en el
(raíz) <ASIGNATURA> elemento
<NOMBRE>LABORATORIO DE PROGRAMACION</NOMBRE> documento
<CREDITOS>4,5</CREDITOS>
<PROFESOR>Luis Hdez.</PROFESOR>
<PERIODO>Cuatrimestre 2</PERIODO>
<HORARIO>LMX 15-16</HORARIO>
</ASIGNATURA>
</CURSO>
Prólogo:
Contiene información general sobre el documento:
versión de XML usada, definición de tipo de documento,
instrucciones de procesamiento.
En el ejemplo el prólogo consiste tan sólo en la
declaración XML.
Se pueden colocar líneas en blanco para mayor
legibilidad.
Los comentarios, por supuesto, son opcionales, pero se
anima a que se incluyan para aclarar aspectos que
puedan resultar confusos (iguales que en HTML).
Aunque la especificación XML dice que se debe incluir
la declaración XML, en realidad también es opcional.
Tipo (etiqueta)
Tipo (etiqueta)
<PROFESOR>Javier Leach</PROFESOR>
Con los -
y + se
contrae y
expande
el contenido
Una O
acentuada
<?xml version="1.0"?>
<!-- File name: Clase.xml -->
<?xml-stylesheet type="text/css"
href="Clase.css"?>
<CURSO>
<ASIGNATURA>
<NOMBRE>LOGICA</NOMBRE>
<CREDITOS>4,5</CREDITOS>
<PROFESOR>Javier Leach</PROFESOR>
...
Modelos de contenido
<E> <E>
<F>...</F> <J>...</J>
<F>...</F> <K>...</K>
</E> <K>...</K>
</E>
Definición de atributos
Por ejemplo:
<!ATTLIST TIPO (uno|dos|tres)>
Valor predeterminado: valor concreto o palabra clave.
Ejemplo de valor concreto (ha de ir entrecomillado):
<!ATTLIST TIPO (uno|dos|tres) "uno">
Palabras clave:
#REQUIRED: debe estar necesariamente asignado.
#IMPLIED: puede tomar valor;
si no toma valor queda indeterminado.
Introducción a XSL
El resultado en IE es el siguiente:
<xsl:template match="/">
<H2>Descripción de curso</H2>
<xsl:for-each select="CURSO/ASIGNATURA">
<SPAN STYLE="font-style:italic">Profesor: </SPAN>
<xsl:value-of select="PROFESOR"/><BR/>
<SPAN STYLE="font-style:italic">Asignatura:
</SPAN>
<xsl:value-of select="NOMBRE"/><BR/>
<SPAN STYLE="font-style:italic">Créditos:
</SPAN>
<xsl:value-of select="CREDITOS"/><BR/>
<SPAN STYLE="font-style:italic">Horario: </SPAN>
<xsl:value-of select="HORARIO"/><BR/>
<SPAN STYLE="font-style:italic">Periodo: </SPAN>
<xsl:value-of select="PERIODO"/><P/>
</xsl:for-each>
</xsl:template>
<?xml version="1.0"?>
<!-- File name: Clase2.xsl -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-
xsl">
<xsl:template match="/">
<H2>Descripción de curso</H2>
<xsl:apply-templates select="CURSO/ASIGNATURA"/>
</xsl:template>
<xsl:template match="ASIGNATURA">
<SPAN STYLE="font-style:italic">Profesor:
</SPAN>
<xsl:value-of select="PROFESOR"/><BR/>
<SPAN STYLE="font-style:italic">Asignatura:
</SPAN>
<xsl:value-of select="NOMBRE"/><BR/>
.../...
Múltiples plantillas
.../...
<SPAN STYLE="font-style:italic">Créditos:
</SPAN>
<xsl:value-of select="CREDITOS"/><BR/>
<SPAN STYLE="font-style:italic">Horario: </SPAN>
<xsl:value-of select="HORARIO"/><BR/>
<SPAN STYLE="font-style:italic">Periodo: </SPAN>
<xsl:value-of select="PERIODO"/><P/>
</xsl:template>
</xsl:stylesheet>
<INVENTORY>
<BOOK InStock="yes">
<TITLE>The Adventures of Huckleberry
Finn</TITLE>
<AUTHOR Born="1835">Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK InStock="no">
<TITLE>Leaves of Grass</TITLE>
<AUTHOR Born="1819">Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
.../...
El lenguaje XML XML: 58
.../...
Otro
ejemplo