Inside Xslt

Creating Match Patterns

As you might expect from the discussion on how "child::MASS" can be abbreviated as "MASS" , and the use of patterns such as "/", "/PLANETS" , and so on, its going to take a little work to get thoroughly familiar with creating match patterns Chapter 4 is devoted to doing that.

Match patterns are a subset of the full XPath language, and you use them in <xsl:template> , <xsl:key> , and <xsl:number> . In particular, you can set the match attribute of <xsl:template> and <xsl:key> , and the count and from attributes of <xsl:number> to a pattern. The following list includes a few examples of match patterns; youll see many more in Chapter 4 during the detailed discussion on using Xpath to select nodes and attributes:

You can also use patterns in the select attribute of the <xsl:apply-templates> , <xsl:value-of> , <xsl:for-each> , <xsl:copy-of> , and <xsl: sort > elements; in fact, the select attribute of these elements can hold full XPath expressions and is not limited to just match patterns. The select attribute of <xsl:value-of> indicates for which child node you want the value, as follows :

<xsl:template match="PLANET"> <TR> <TD><xsl:value-of select="NAME"/></TD> <TD><xsl:value-of select="MASS"/></TD> <TD><xsl:value-of select="RADIUS/"></TD> <TD><xsl:value-of select="DAY"/></TD> </TR> </xsl:template>

Now its time to use the select attribute of <xsl:apply-templates> because doing so enables you to specify what template to use at what time.

Категории