Re: [xsl] multiple XML tags -> single output

Subject: Re: [xsl] multiple XML tags -> single output
From: Mike Brown <mike@xxxxxxxx>
Date: Wed, 27 Dec 2000 21:05:29 -0700 (MST)
zbrown@xxxxxxxxxxxxx wrote:
> OK, the docs I've got say that '//issue' will match all <issue> elements
> anywhere in the document. As opposed to 'issue' which only matches children
> in the current context.

True, but...

<xsl:value-of select="//issue/@num"/> 

Here you are selecting the 'num' attribute of *all* issue elements in the
document.

xsl:value-of takes the string-value of its select attribute and makes a
text node out of it in the result tree. Check the XPath spec and see that
the string-value of a node-set is the string-value of only the *first*
node in the set.

So no matter what the current node is, this will only ever give you the
value of the first num attribute of the first issue element that has one.
Is this really what you want?

Also, the concat() function is standard XPath/XSLT and will work with your
processor. You just need to be sure the paths are correct. Doing 3
xsl:value-of instructions in a row is relatively wasteful.

   - Mike
____________________________________________________________________
Mike J. Brown, software engineer at            My XML/XSL resources: 
webb.net in Denver, Colorado, USA              http://skew.org/xml/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread