2008 Gegužė 4 2008

Įtraukti XSL viduje XSL

Jei naudodami XML / XSL transformacija yra jūsų domian, tada yra laikas, kai mes nori dinaminį kodas peice, kuris bus naudojamas bibliotekos elementą (turi būti pakartotinai naudoti). Ką reiškia, tikriausiai galėtų būti aiškesnė Šiame pavyzdyje scenarijų.

Įsivaizduokite, kad kuriate svetainę (naudojant XML, XSL transfroms Žinoma) ir daugelis puslapių galėtų turėti Komentarai modulis. Gerai! tada kopijuoti arba įklijuokite šį kodą į kiekvieno puslapio šablone, kurias I dont pasakyti, bet įsitikinkite, techninės priežiūros ir remontuoti košmarą) arba dar geriau, galite sukurti bylą įtraukti, kurie galėtų būti ištrauktas, kur kada nors jūs norite savo puslapyje ( ai) ...
Taigi, kaip mes sukurti XSL Įtraukti failą ir įtraukti jį viduje kitos XSL failą? Štai kaip ...

Tik, kad viskas būtų aišku ... čia yra greitas failų sąrašą, kad galėtumėte sukurti ... čia bus, įskaitant informaciją apie vaisių ir daržovių į pradinio puslapio "maisto.

1. food.xml - XML ​​duomenų failą, kuris bus taikomos transformacija
2. food.xsl - pagrindinis XSL failą, kuris pakeis mūsų food.xml
3. inc_fruits.xsl - XSL failą, kuris perteiks vaisiai duomenis
4. inc_vegtables.xsl - XSL failą, kuris perteiks vetetables duomenis

I dont think turiu paaiškinti daug, pirmiau minėtais elementais kodai, bus savaime suprantama ...

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: Stilių>


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>

Atsisiųsti visus failus čia (251 parsisiųsti)


NDK namo | Išreikšdami IT | Išreikšti paletė | Išreikšti Penmenship | Išreikšti Awe | Išreikšti Pats