Patří XSL v XSL
Pokud XML / XSL transformace je váš domian, pak tam jsou časy, kdy chceme peice Dynamic Kód pro knihovny položky (které mají být provedeny opakovaně použitelné). Co mám na mysli, by pravděpodobně být jasněji v tomto příkladu scénáře.
Představte si, že vytvoření webové stránky (a pomocí XML, XSL transfroms Samozřejmě) a většina stránek by měl Komentáře modul. No! pak buď kopírování nebo vložte tento kód do každé šablony stránky (což Nemám říct, ale aby údržby a oprav noční můra), nebo ještě lépe, můžete vytvořit INCLUDE soubor, který by mohl být vtažena, kde někdy budete chtít do stránky ( y) ...
Tak jak se Vytváříme XSL INCLUDE soubor a zahrnout jej do jiného souboru XSL? Zde je, jak ...
Stačí, aby se věci jasné ... tady je stručný přehled souborů, které si vytvoří ... tady budeme, včetně informací o ovoce a zeleninu do mateřské stránky s názvem jídlo.
1. food.xml - xml soubor dat, na kterých bude aplikovat transformace
2. food.xsl - hlavní XSL soubor, který změní naše food.xml
3. inc_fruits.xsl - XSL patří soubor, který bude skýtat ovoce dat
4. inc_vegtables.xsl - XSL patří soubor, který bude skýtat vetetables dat
I dont myslím, že mám značné míry vysvětlují, kódy pro výše uvedených skutečností bude vysvětlovat ...
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>










































