Vključi XSL znotraj XSL
Če XML / XSL preoblikuje je vaš domian, nato pa so časi, ko želimo peice dinamične kode, ki se uporabljajo knjižnice element (ki se je ponovno uporabiti). Mislim, bi verjetno bolj jasno, na primer s tem scenarijem.
Predstavljajte si, da ustvarjate spletno stran (in z uporabo XML, XSL transfroms gredo zraven) in večina strani bi imela Komentarji modula. No! potem kopirate ali prilepite to kodo v vsako stran (predlogo, ki dont sem rekel, vendar se za vzdrževanje in predelava nočno moro) ali še bolje, ustvarite Vključi datoteko, ki bi ga lahko potegnil v povsod, kjer želite, da na svojo stran ( i) ...
Torej, kako bomo POVZROČIJO XSL Vključi datoteko in jo vključujejo v notranjosti druge datoteke XSL? Tukaj je, kako ...
Samo, da bi stvari jasno ... tukaj je hiter seznam datotek, ki bi si ustvarili ... tukaj bomo tudi informacije o sadju in zelenjavi v matično stran, imenovano hrane.
1. food.xml - xml datoteko podatkov, na katerih bo treba uporabiti preoblikovanje
2. food.xsl - Glavni XSL datoteko, ki preoblikujejo naše food.xml
3. inc_fruits.xsl - XSL vsebuje datoteko, ki bo postala sadje podatkov
4. inc_vegtables.xsl - XSL vsebuje datoteko, ki bo postala vetetables podatkov
I dont mislim, da imajo veliko razložiti, bodo kode za zgornje elemente, so samoumevne ...
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>










































