This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: another xpath question
- From: David Carlisle <davidc at nag dot co dot uk>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Mon, 7 Jan 2002 16:28:49 GMT
- Subject: Re: [xsl] another xpath question
- References: <000e01c19793$598c2cf0$8ac809c0@ajw>
- Reply-to: xsl-list at lists dot mulberrytech dot com
> It matches the first xref correctly, but not the second xref that is within
no your template does match the second xref but you never apply
templates to the children of title so the template never fires.
<xsl:template match="title">
<xsl:value-of select="."/>
</xsl:template>
value-of gives the string value (ie character data) of the source node,
it never applies _any_ templates.
> I get the output:
you first do
<xsl:value-of select="."/>
which gives you
Renew LP Piston Seal (Fig 5.5.1
)
ie the character data of the input, ignoring element markup,
then you apply templates so you'll get the character data again, but
this time elements will be replaced by the result of applying their
matching templates.
You don't want <xsl:value-of select="."/> at all, just apply templates.
> And, why will it not match the inner <xref> without calling apply-templates?
I think you misunderstand the term "match". Templates may or may not
match any number of nodes, but they are only actually executed when
doing apply-templates on a node in which case the highest priority
template is executed for each node selected by the apply-templates call.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list