This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: More <xsl:when> questions!
- To: xsl-list at mulberrytech dot com
- Subject: Re: More <xsl:when> questions!
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Thu, 6 Apr 2000 17:52:11 +0100 (BST)
- References: <BB3B8E2BD7EED211935500A0C9C74B7B86EDEE@exch-grimm.btg.com>
- Reply-To: xsl-list at mulberrytech dot com
NO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I think someone else should answer, 'cause I've explained this everyway
I can think of and still your examples have the same feature.
<xsl:template match="packet" >
<xsl:if test="../packet/para/title">
This does _not_ test if the current packet has a title, it says go up
and then look down to see if _any_ packet has a title, so this will
give the same result for all packets (if they are siblings of each
other)
you want
<xsl:if test="para/title">
<xsl:when test="contains(/para/text/@text.role,'normal')">(Where I
This query looks for a para element immediately below the document root
so will always return an empty node set, and thus an empty string.
you want
<xsl:when test="contains(para/text/@text.role,'normal')">(Where I
(<xsl:value-of select="//para/@secur.classif"/>)
This query always, for every packet, returns the value of the first
secur.classif attribute in the whole document.
you want
(<xsl:value-of select="para/@secur.classif"/>)
or perhaps
(<xsl:value-of select=".//para/@secur.classif"/>)
if there are para elements not immediately children of packet.
<xsl:value-of select="para/text"/>
ah finally a query that is looking inside the current packet element.
This one looks right.
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list