This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: More <xsl:when> questions!



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]