وتشمل XSL داخل XSL
إذا XML / XSL تحول هو دميان الخاص بك، ثم هناك أوقات عندما نريد peice من رمز الحيوي لاستخدامه البند مكتبة (إلى أن يتم إعادة استخدامها). ما أعنيه، أن من المحتمل أن تكون أكثر واضح مع هذا السيناريو المثال.
تخيل أنك تقوم بإنشاء موقع على شبكة الانترنت (وباستخدام XML، XSL transfroms فكورسي)، ومعظم صفحات سيكون لها وحدة التعليقات. حسنا! ثم إما نسخ أو لصق هذه الشفرة في كل قالب الصفحة (التي لا تملك القول، ولكن جعل صيانة وإعادة صياغة كابوسا) أو حتى أفضل، يمكنك إنشاء ملف تضمين التي يمكن سحبها في أي وقت مضى حيث تريد في الصفحة الخاصة بك ( ق) ...
كيف لنا إذن أن إنشاء ملف تضمين XSL وإدراجه داخل ملف آخر 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>










































