Microsoft HomeproductssearchsupportshopWrite Us   Microsoft Home
Magazine
 |  Community
 |  Workshop
 |  Tools & Samples
 |  Training
 |  Site Info

Workshop  |  XML (Extensible Markup Language)

xsl:apply-templates Element


Directs the XSL processor to find the appropriate xsl:template to apply based on the results of the pattern.

Syntax

<xsl:apply-templates
    order-by="sort-criteria" 
    select="xsl-pattern" >

Attributes

order-by
Sort criteria in a semicolon-separated list. When the first sort results in two equal items, the second sort criterion is checked, and so on. The first non-white-space character in each sort criterion indicates whether the sort is ascending (+) or descending (-). The sort criterion is expressed as an XSL pattern, relative to the pattern described in the select attribute.
select
Context for which the template should be executed. The default value "node()" indicates selection of the current node, and matches all possible nodes.

Element Information

Number of occurrences Unlimited
Parent elements xsl:attribute, xsl:cdata, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:pi, xsl:template, xsl:text, xsl:when
Child elements xsl:template
Requires closing tag Yes. XSL is an XML grammar and, like all XML grammars, all tags must have closing tags to satisfy the definition of well-formed.

Remarks

The xsl:apply-templates element directs the XSL processor to find the appropriate xsl:template to apply based on the results of an XSL pattern. Each xsl:template within this block has a match attribute containing a pattern that defines the types of nodes the template applies to.

The xsl:apply-templates element is equivalent to calling the XMLDOMNode object's selectNodes method to obtain a node list of all nodes that match the pattern, and comparing each returned node with the select attribute in each of the available templates.

Example


<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <HTML>
      <BODY>
        <TABLE>
          <xsl:for-each select="customers/customer">
            <TR>
              <xsl:apply-templates select="name" />
              <xsl:apply-templates select="address" />
              <xsl:apply-templates select="phone" />
            </TR>
          </xsl:for-each>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="name">
    <TD STYLE="font-size:14pt font-family:serif">
      <xsl:apply-templates />
    </TD>
  </xsl:template>

  <xsl:template match="address">
    <TD> <xsl:apply-templates /> </TD>
  </xsl:template>

  <xsl:template match="phone">
    <TD> <xsl:apply-templates /> </TD>
  </xsl:template>

  <xsl:template match="*">
    <TD> <xsl:copy> <xsl:value-of /> </xsl:copy> </TD>
  </xsl:template>

</xsl:stylesheet>

See Also

XSL Elements


Does this content meet your programming needs? Write us!

Back to topBack to top

© 1998 Microsoft Corporation. All rights reserved. Terms of use.

 

Magazine Home
Ask Jane
DHTML Dude
Extreme XML
For Starters
More or Hess
Servin' It Up
Site Lights
Web Men Talking
Member Community Home
Benefits: Freebies & Discounts
Benefits: Promote Your Site
Benefits: Connect with Your Peers
Benefits at a Glance
Online Special-Interest Groups
Your Membership
SBN Stores
Join Now
Workshop Home
Essentials
Content & Component Delivery
Component Development
Data Access & Databases
Design
DHTML, HTML & CSS
Extensible Markup Language (XML)
Languages & Development Tools
Messaging & Collaboration
Networking, Protocols & Data Formats
Reusing Browser Technology
Security & Cryptography
Server Technologies
Streaming & Interactive Media
Web Content Management
Workshop Index
Tools & Samples Home
Tools
Samples, Headers, Libs
Images
Sounds
Style Sheets
Web Fonts
Training Home
SBN Live Seminars
SBN Live Chats
Courses
Peer Support
CD-ROM Training
Books & Training Kits
Certification
SBN Home
New to SBN?
What's New on SBN
Site Map
Site Search
Glossary
Write Us
About This Site