عنصر <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>