Kung XML / XSL Transforms ay iyong domian, pagkatapos ay may mga oras na kapag gusto namin ng isang peice ng ng Dynamic code na gagamitin library item (na muling magagamit). Ano ang ibig sabihin ko, marahil ay maaaring gawin mas malinaw na may ganitong sitwasyon halimbawa.
Isipin lumilikha ka ng isang website (at gumagamit ng XML, XSL transfroms ofcourse) at karamihan ng mga pahina ay magkaroon ng isang Puna Module. Na rin! pagkatapos ay alinman mong kopyahin o i-paste ang code na ito sa bawat pahina ng template (na wala ko na sabihin, ngunit maintenance at rework isang bangungot) o mas mahusay, lumikha ka ng isang Isama ang File na ma-pulled sa kung saan man gusto mo ito sa iyong pahina ( s) ...
Kaya PAANO HUWAG TAYO LILIKHA isang XSL MAISASALI file at isama ang mga ito sa loob ng isa pang XSL file? Narito ang kung paano ...
Lamang upang gumawa ng mga bagay na malinaw ... dito ay mabilis na listahan ng mga file na nais mong lumikha ng ... dito, kami ay kabilang ang impormasyon tungkol sa mga prutas at gulay sa isang magulang na pahina na tinatawag na pagkain.
1. food.xml - xml file ng data na kung saan ang pagbabago ay mailalapat
2. food.xsl - pangunahing XSL file, na ibahin ang anyo ng aming food.xml
3. inc_fruits.xsl - XSL isama ang file na magbibigay ng data bunga
4. inc_vegtables.xsl - XSL isama ang file na magbibigay ng data vetetables
Wala ako sa tingin ko ipaliwanag magkano, ang mga code para sa mga elemento sa itaas, sarili paliwanag ...
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>
I-download ang lahat sa itaas na mga file dito (250 download)