Si XML / XSL transforma es su domian, entonces hay momentos en los que quieren un pedazo de código dinámico para ser utilizado elemento de la biblioteca (que se hizo re-utilizables). Lo que quiero decir, probablemente podría ser más claro con este escenario de ejemplo.
Imagínese que usted está creando un sitio web (y el uso de XML, XSL transfroms por supuesto) y la mayoría de las páginas que tienen un módulo de comentarios. Bueno! entonces o bien copiar o pegar este código en todas las plantillas de página (que yo no tienen voz, pero que el mantenimiento y la modificación de un pesadilla) o mejor aún, crear un archivo de inclusión que puede ser tirado en donde quiera que usted lo desea en su página ( s) ...
Así que ¿cómo podemos crear un archivo XSL INCLUDE e incluirlo dentro de otro archivo XSL? Aquí es cómo ...
Sólo para dejar las cosas claras ... aquí está la lista rápida de los archivos que usted crea ... aquí, estaremos incluyendo información acerca de las frutas y verduras en una página principal llamada de los alimentos.
1. food.xml - archivo de datos XML en el que se aplica la transformación
2. food.xsl - principal archivo XSL que transformará nuestra food.xml
3. inc_fruits.xsl - XSL archivo de inclusión que se procesan los datos de las frutas
4. inc_vegtables.xsl - XSL archivo de inclusión que se procesan los datos vetetables
No creo que tengo que explicar mucho, los códigos de los elementos anteriores, se explica por sí mismo ...
FOOD.XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>
FOOD.XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>
<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>
<hr/>
</ Body>
</ Html>
</ Xsl: template>
</ Xsl: stylesheet>
INC_FRUITS.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
INC_VEGETABLES.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Descargar todos los archivos anteriores aquí (250 descargas)