Dacă XML / XSL Transformă este domian ta, atunci există momente când ne dorim un peice de cod dinamic pentru a fi utilizate element bibliotecă (să se facă re-utilizabile). Ce vreau să spun, probabil, ar putea fi mai clar, cu acest scenariu de exemplu.
Imaginaţi-vă că sunt crearea unui site web (si folosind XML, XSL transfroms desigur), şi de cele mai multe pagini ar avea un Modul Comentarii. Ei bine! apoi, fie copiaţi sau inseraţi acest cod în fiecare şablon de pagină (pe care I dont au spus, dar face de întreţinere şi revizie un cosmar) sau chiar mai bine, vă creaţi un includ fişiere care ar putea fi tras în cazul în care doriţi vreodată în pagina dvs. ( e) ...
Deci, cum vom crea un fisier XSL include şi o includ în interiorul alt fişier XSL? Iată cum ...
Doar pentru a face lucrurile clar ... aici este lista rapidă de fişiere pe care le-ar crea ... aici, noi vom fi, inclusiv informatii despre fructe şi legume într-o pagină părinte numit alimente.
1. food.xml - XML fişier de date pe care transformarea va fi aplicat
2. food.xsl - principala XSL dosar, care va transforma food.xml nostru
3. inc_fruits.xsl - XSL include fişierul de date care vor face fructe
4. inc_vegtables.xsl - XSL include fişierul de date, care va face vetetables
Nu cred ca am explica mai mult, codurile de elementele de mai sus, va fi de sine explicativ ...
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/>
</ Corp>
</ 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>
Descarcă toate fişierele de mai sus aici (251 de descărcări)