Включіть в XSL XSL
Якщо XML / XSL перетворення ваш Доміан, тобто часи, коли ми хочемо peice динамічного коду, який буде використовуватися бібліотека пункту (буде зроблено повторного використання). Що я маю на увазі, ймовірно, можна було б зробити більш ясною в цьому прикладі сценарію.
Уявіть, що ви створюєте веб-сайт (з використанням XML, XSL transfroms звичайно ж), і більшість із сторінок матиме модуль коментарів. Ну! то або скопіювати або вставити цей код в кожну сторінку шаблону (який я не маю сказати, але зробити технічне обслуговування та доопрацювання кошмар), або навіть краще, ви створюєте INCLUDE файл, який може вирватися в тому, де б Ви не хочете його в вашу сторінку ( а) ...
Так як ми створюємо файл XSL INCLUDE і включити його в інший файл XSL? Ось як ...
Просто щоб було зрозуміло ... Ось короткий список файлів, які ви можете створити ... от, ми будемо в тому числі інформацію про фруктах і овочах в батьківській сторінки називають їжею.
1. food.xml - XML-файл даних, на яких перетворення будуть застосовуватися
2. food.xsl - основний файл XSL, який перетворить наш food.xml
3. inc_fruits.xsl - XSL включає файл, який буде надавати фрукти даних
4. inc_vegtables.xsl - XSL включає файл, який буде надавати vetetables даних
Я не думаю, що я багато в чому пояснюють, коди для вищевказаних елементів, будуть зрозумілі ...
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: шаблони>
</ XSL: стиль>
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>










































