documento xml receta.xml dtd (receta -...

6
1 Documento XML (receta.xml) <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <?xml-stylesheet href="rec.html.xsl" type="text/xsl"?> <!--<?xml-stylesheet href="receta.css" type="text/css"?>--> <!DOCTYPE receta SYSTEM "receta.dtd" [ <!ENTITY comer "Bon appétit! "> ]> <receta tipo="postre" tiempoprep="15" comensales="4"> <titulo>Tarta de queso</titulo> <lista-ingredientes> <item>3 yogures naturales</item> <item>3 huevos</item> <item>una cucharada de maicena</item> <item>1 tarrina de crema de queso</item> <item>6 cucharadas de azúcar</item> </lista-ingredientes> <preparacion> <paso necesario="no">Tener a mano todos los ingredientes, la batidora y el recipiente para la tarta.</paso> <paso>Batir todos los ingredientes.</paso> <paso>Verter en un molde previamente caramelizado y cocer durante 13 minutos en el microondas a máxima potencia.</paso> <paso necesario="no">Servir cubierta de mermelada.</paso> <paso necesario='no'>&comer;</paso> </preparacion> </receta> 2 DTD (receta.dtd) <!ELEMENT receta (titulo, lista-ingredientes, preparacion)> <!ATTLIST receta tipo CDATA #IMPLIED comensales CDATA #IMPLIED tiempoprep CDATA #IMPLIED > <!ELEMENT titulo (#PCDATA)> <!ELEMENT lista-ingredientes (item+)> <!ELEMENT item (#PCDATA)> <!ELEMENT preparacion (paso+)> <!ELEMENT paso (#PCDATA)> <!ATTLIST paso necesario (si|no) "si"> 3 Un ejemplo de hoja de estilo XSL (rec.htm.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html><xsl:apply-templates/></html> </xsl:template> <xsl:template match="receta"> <head><title> <xsl:value-of select="titulo"/> </title></head> <body style="background-color: #FFC;"> <xsl:apply-templates/> </body> </xsl:template> <xsl:template match="titulo"> <h1 align="center"><xsl:value-of select="."/> (<xsl:value-of select="../@tiempoprep" /> min.)</h1> </xsl:template> Declaración de espacio de nombres Patrón de concordancia Valor de instanciación: texto literal + instrucciones XSL Plantilla o regla XSL 4 <xsl:template match="lista-ingredientes"> <hr/> <ul class="ingredientes" style="font-size: 10pt; color: blue;"> <xsl:apply-templates/> </ul><hr/> </xsl:template> <xsl:template match="item"> <li><xsl:value-of select="."/></li> </xsl:template> <xsl:template match="preparacion"> <ol><xsl:apply-templates/></ol> </xsl:template> <xsl:template match="paso[@necesario='si']"> <li><xsl:value-of select="."/></li> </xsl:template> <xsl:template match="paso[@necesario='no'] "> <li style="color: green;"> <xsl:value-of select="."/></li> </xsl:template> </xsl:stylesheet>

Upload: buithuan

Post on 06-Oct-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

1César I. G. Osorio. Área de LSI. Universidad de Burgos.

Documento XML (receta.xml)<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><?xml-stylesheet href="rec.html.xsl" type="text/xsl"?><!--<?xml-stylesheet href="receta.css" type="text/css"?>--><!DOCTYPE receta SYSTEM "receta.dtd" [

<!ENTITY comer "Bon appétit! "> ]> <receta tipo="postre" tiempoprep="15" comensales="4"><titulo>Tarta de queso</titulo><lista-ingredientes>

<item>3 yogures naturales</item> <item>3 huevos</item><item>una cucharada de maicena</item><item>1 tarrina de crema de queso</item><item>6 cucharadas de azúcar</item>

</lista-ingredientes><preparacion>

<paso necesario="no">Tener a mano todos los ingredientes,la batidora y el recipiente para la tarta.</paso>

<paso>Batir todos los ingredientes.</paso><paso>Verter en un molde previamente caramelizado y cocer

durante 13 minutos en el microondas a máxima potencia.</paso><paso necesario="no">Servir cubierta de mermelada.</paso><paso necesario='no'>&comer;</paso>

</preparacion></receta> 2César I. G. Osorio. Área de LSI. Universidad de Burgos.

DTD (receta.dtd)

<!ELEMENT receta (titulo, lista-ingredientes, preparacion)>

<!ATTLIST receta

tipo CDATA #IMPLIED

comensales CDATA #IMPLIED

tiempoprep CDATA #IMPLIED >

<!ELEMENT titulo (#PCDATA)>

<!ELEMENT lista-ingredientes (item+)>

<!ELEMENT item (#PCDATA)>

<!ELEMENT preparacion (paso+)>

<!ELEMENT paso (#PCDATA)>

<!ATTLIST paso

necesario (si|no) "si">

3César I. G. Osorio. Área de LSI. Universidad de Burgos.

Un ejemplo de hoja de estilo XSL (rec.htm.xsl)<?xml version="1.0"?>

<xsl:stylesheet

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0">

<xsl:template match="/">

<html><xsl:apply-templates/></html>

</xsl:template>

<xsl:template match="receta">

<head><title><xsl:value-of select="titulo"/></title></head>

<body style="background-color: #FFC;">

<xsl:apply-templates/></body>

</xsl:template>

<xsl:template match="titulo">

<h1 align="center"><xsl:value-of select="."/>

(<xsl:value-of select="../@tiempoprep"/> min.)</h1>

</xsl:template>

Declaración de espacio de nombres

Patrón de concordancia

Valor de instanciación: texto literal + instrucciones XSL

Plantilla o regla XSL

4César I. G. Osorio. Área de LSI. Universidad de Burgos.

<xsl:template match="lista-ingredientes">

<hr/>

<ul class="ingredientes" style="font-size: 10pt; color: blue;"><xsl:apply-templates/>

</ul><hr/>

</xsl:template>

<xsl:template match="item">

<li><xsl:value-of select="."/></li>

</xsl:template>

<xsl:template match="preparacion">

<ol><xsl:apply-templates/></ol>

</xsl:template>

<xsl:template match="paso[@necesario='si']">

<li><xsl:value-of select="."/></li>

</xsl:template>

<xsl:template match="paso[@necesario='no']">

<li style="color: green;"><xsl:value-of select="."/></li>

</xsl:template>

</xsl:stylesheet>

Page 2: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

5César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos

1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

Verter en un molde ...

itemitem itemitem itemitem itemitempasopaso

pasopaso

necesario="no"

necesario="si"

necesario="si"

pasopaso &comer;

//

...

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

6César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

//

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

<xsl:template match="/">

<html><xsl:apply-templates/></html></xsl:template>

<html></html>

Plantilla que se aplica

Salida que se produce

7César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

//

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

No hay plantilla aplicable en la hoja de estilo.

El patrón de una plantilla que concordara sería: <xsl:template match="processing-instruction()">

...

</xsl:template>

<html></html>

Plantilla que se aplica

Salida que se produce

8César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

pasopasoTarta de queso Tener a mano todos los ingredientes ...

necesario="no"

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

<xsl:template match="receta">

<head><title><xsl:value-of select="titulo"/></title></head>

<body style="background-color: #FFC;">

<xsl:apply-templates/> </body>

</xsl:template>

<html><head><title>Tarta de queso</title></head>

<body style="background-color: #FFC;">

</body>

</html>

Plantilla que se aplica

Salida que se produce

Page 3: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

9César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

pasopasoTarta de queso Tener a mano todos los ingredientes ...

necesario="no"

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

<xsl:template match="titulo">

<h1 align="center"><xsl:value-of select="."/>

(<xsl:value-of select="../@tiempoprep"/> min.)

</h1>

</xsl:template>

<html><head><title>Tarta de queso</title></head>

<body style="background-color: #FFC;">

<h1 align="center">Tarta de queso (15 min.)</h1>

</body>

</html>

Plantilla que se aplica

Salida que se produce

10César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

pasopasoTarta de queso Tener a mano todos los ingredientes ...

necesario="no"

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

<xsl:template match="lista-ingredientes">

<hr/><ul class="ingredientes" style="font-size: 10pt; color: blue;">

<xsl:apply-templates/>

</ul><hr/>

</xsl:template>

...<h1 align="center">Tarta de queso (15 min.)</h1>

<hr/><ul class="ingredientes"

style="font-size: 10pt; color: blue;">

</ul><hr/>

...

Plantilla que se aplica

Salida que se produce

11César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos 1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitem

pasopaso

necesario="no"

necesario="si"

necesario="si"<xsl:template match="item">

<li><xsl:value-of select="."/></li></xsl:template>

...<hr/><ul class="ingredientes"

style="font-size: 10pt; color: blue;">

<li>3 yogures naturales</li>

</ul><hr/>

...

Plantilla que se aplica

Salida que se produce

12César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos 1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitem

pasopaso

necesario="no"

necesario="si"

necesario="si"<xsl:template match="item">

<li><xsl:value-of select="."/></li></xsl:template>

...<hr/><ul class="ingredientes"

style="font-size: 10pt; color: blue;">

<li>3 yogures naturales</li>

<li>3 huevos</li>

</ul><hr/>...

Plantilla que se aplica

Salida que se produce

Page 4: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

13César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos 1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitem

pasopaso

necesario="no"

necesario="si"

necesario="si"<xsl:template match="item">

<li><xsl:value-of select="."/></li></xsl:template>

...<hr/><ul class="ingredientes"

style="font-size: 10pt; color: blue;">

<li>3 yogures naturales</li>

<li>3 huevos</li>

<li>1 cucharadita de maicena</li></ul><hr/>

Plantilla que se aplica

Salida que se produce

14César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos 1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitem

pasopaso

necesario="no"

necesario="si"

necesario="si"<xsl:template match="item">

<li><xsl:value-of select="."/></li></xsl:template>

...<li>3 yogures naturales</li>

<li>3 huevos</li>

<li>1 cucharadita de maicena</li>

<li>1 tarrina de crema de queso</li>

</ul><hr/>...

Plantilla que se aplica

Salida que se produce

15César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

3 huevos 1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitem

pasopaso

necesario="no"

necesario="si"

necesario="si"<xsl:template match="item">

<li><xsl:value-of select="."/></li></xsl:template>

...<li>3 huevos</li>

<li>1 cucharadita de maicena</li>

<li>1 tarrina de crema de queso</li>

<li>6 cucharadas de azucar</li>

</ul><hr/>...

Plantilla que se aplica

Salida que se produce

16César I. G. Osorio. Área de LSI. Universidad de Burgos.

recetareceta

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

pasopasoTarta de queso Tener a mano todos los ingredientes ...

necesario="no"

<?xml-stylesheet href="rec.html.xsl" type="text/xsl"?>

tipo=“postre"

tiempoprep=“15"

comensales=“4"

<xsl:template match="preparacion">

<ol><xsl:apply-templates/></ol></xsl:template>

...<li>1 tarrina de crema de queso</li>

<li>6 cucharadas de azucar</li>

</ul><hr/>

<ol>

</ol>...

Plantilla que se aplica

Salida que se produce

Page 5: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

17César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

1 cucharadita de maicena

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitempasopaso

necesario="no"

necesario="si"

<xsl:template match="paso[@necesario='no']">

<li style="color: green;"><xsl:value-of select="."/>

</li>

</xsl:template>

...<ol>

<li style="color: green;">

Tener a mano todos los ingredientes

</li>

</ol>...

Plantilla que se aplica

Salida que se produce

18César I. G. Osorio. Área de LSI. Universidad de Burgos.

titulotitulo lista-ingredienteslista-ingredientes preparacionpreparacion

itemitem

pasopasoTarta de queso

3 yogures naturales

1 cucharadita de maicena

6 cucharadas de azucar

Tener a mano todos los ingredientes ...

Batir todos los ingredientes

itemitem itemitem itemitem itemitempasopaso

necesario="no"

necesario="si"

<xsl:template match="paso[@necesario=‘si']">

<li><xsl:value-of select="."/>

</li>

</xsl:template>

...<li style="color: green;">

Tener a mano todos los ingredientes

</li>

<li>Batir todos los ingredientes</li>

</ol>...

Plantilla que se aplica

Salida que se produce

19César I. G. Osorio. Área de LSI. Universidad de Burgos.

itemitem3 yogures naturales

3 huevos

1 cucharadita de maicena

1 tarrina de crema de queso

6 cucharadas de azucar

Batir todos los ingredientes

Verter en un molde ...

itemitem itemitem itemitem itemitempasopaso

pasopaso

necesario="si"

pasopaso &comer;

...

<xsl:template match="paso[@necesario=‘si']">

<li><xsl:value-of select="."/>

</li>

</xsl:template>

...<li>Batir todos los ingredientes</li>

<li>Verter en un molde caramelizado</li>

</ol>

...

Plantilla que se aplica

Salida que se produce

20César I. G. Osorio. Área de LSI. Universidad de Burgos.

Resultado de aplicar rec.htm.xsl<html>

<head><title>Tarta de queso</title></head>

<body style="background-color: #FFC;">

<h1 align="center">Tarta de queso (15 min.)</h1>

<hr/>

<ul class="ingredientes" style="font-size:10pt; color:blue;">

<li>3 yogures naturales</li> <li>3 huevos</li><li>una cucharada de maicena</li><li>1 tarrina de crema de queso</li><li>6 cucharadas de az&#250;car</li>

</ul>

<hr/>

<ol><li style="color: green;">Tener a mano todos los ingredientes,la batidora y el recipiente para la tarta.</li>

<li>Batir todos los ingredientes.</li>

<li>Verter en un molde &quot;caramelizado&quot; y cocer13 minutos en el microondas a m&#225;xima potencia.</li>

<li style="color: green;">Servir cubierta de mermelada.</li>

<li style="color: green;">Bon appétit!</li>

</ol>

</body>

</html>

Page 6: Documento XML receta.xml DTD (receta - cgosorio.escgosorio.es/Docencia/PLFolder/UD6/HojasEstilo.pdf · César I. G. Osorio. Área de LSI. Universidad de Burgos. 5 receta titulo lista-ingredientes

21César I. G. Osorio. Área de LSI. Universidad de Burgos. 22César I. G. Osorio. Área de LSI. Universidad de Burgos.

Un ejemplo de hoja de estilo CSS (receta.css)receta { display: block;

background-color: #FFC; }

titulo { display: block;font-size: 24pt; }

lista-ingredientes {display: block;

font-size: 10pt;color: blue;

margin: 5pt 30pt;

}item { display: list-item; }

paso { display: block; }paso[necesario="no"] { color: green; }

23César I. G. Osorio. Área de LSI. Universidad de Burgos.

Un ejemplo de hoja de estilo CSS (receta.css)receta { display: block;

background-color: #FFC; }

titulo { display: block;font-size: 24pt; }

lista-ingredientes {display: block;font-size: 10pt;color: blue;margin: 5pt 30pt;

}item { display: list-item; }

paso { display: block; }

paso[necesario="no"] { color: green; }

Regla CSS

Selector de tipo de elemento

Propiedades Valores

24César I. G. Osorio. Área de LSI. Universidad de Burgos.