On Thu, 2004-02-05 at 15:52, Varley, Roger wrote:
On Wed, 2004-02-04 at 14:51, Varley, Roger wrote:
<xsl:template match="//note">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
Oh rats! Just when I thought I'd got my head around XSLT.
Gin and tonic required?
Would you explain why this works, in particular why it prints only
the values of the <note> elements
Because that's what it says it will do. The template
will match every note in the document, at any depth
or location, and for each one, output a LI element
containing the value of the note.
Sorry - I wasn't being very clear. I was suprised to get output without an
<xsl:value-of select="."/>
The default (in the absence of any matching template) is to output the
content. value-of is useful for out-of-line processing, or putting a
value in more than one place in the output tree, or handling attributes.
It's not needed when all you want is the default: the character data
content.
and no blank lines for the <sub1> <sub2 .... elements
Because there's nothing there to do that. Where did you
want space to appear?
I was expecting the standard default template to be invoked for the <sub1>
<sub2> elements because there is no template provided to match them.
What is the "standard default template" you refer to? If you mean the
one I just mentioned, then it *is* being invoked...just that there is
nothing to output, only further elements to match.
///Peter
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list