عنصر <xsl:apply-templates> لـ XSLT
التعريف والاستخدام
يمكن لـ عنصر <xsl:apply-templates> تطبيق النماذج على العنصر الحالي أو أطفال العنصر الحالي.
إذا أضفنا خاصية select إلى عنصر <xsl:apply-templates>، فإنه سيقوم فقط بمعالجة الأطفال الذين يطابقون قيمة الخاصية. يمكن استخدام خاصية select لتقديم ترتيب معالجة أطفال الفواصل.
النحو
<xsl:apply-templates select="expression" mode="name"> <!-- Content:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
خصائص
خصائص | قيمة | وصف |
---|---|---|
select | عبارة | اختياري. يحدد العقدة التي سيتم معالجتها. علامة النجمة (*) تختار مجموعة العقدات بأكملها. إذا تم تجاهل هذه الخاصية، سيتم اختيار جميع أطفال العقدة الحالية. |
mode | الاسم | اختياري. إذا كان هناك عدة طرق معينة لتعريف العنصر نفسه، يمكن استخدام mode لتقديمها. |
مثال
مثال 1
باستخدام علامة h1 لتقديم كل علامة title:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl=http://www.w3.org/1999/XSL/Transform> <xsl:template match="title"> <h1><xsl:apply-templates/></h1> </xsl:template> </xsl:stylesheet>
مثال 2
باستخدام علامة h1 لتقديم جميع عناصر title التابعة لـ message:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl=http://www.w3.org/1999/XSL/Transform> <xsl:template match="message"> <h1><xsl:apply-templates select="title"/></h1> </xsl:template> </xsl:stylesheet>
مثال 3
باستخدام علامة h1 لتقديم جميع أطفال message المحددة بميزة mode إلى "big":
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl=http://www.w3.org/1999/XSL/Transform> <xsl:template match="message"> <h1><xsl:apply-templates select="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>