[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: flatten tree

Subject: RE: flatten tree
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 21 Sep 2004 09:42:35 +0100
michael flatten
> but still I am not seeing through entirely and it does'nt work as
> expected, still.
> 
> *[@lang = $selectedLanguage or (not(@lang) and $defaultLanguage =
> $selectedLanguage)]
> 
> selects every element which lang attribute is set to the
> selectedLanguage or every element which has no lang attribute whenever
> the selectedLanguage matches the defaultLanguage. right?

Yes - I wasn't sure how you wanted defaultLanguage to work. I've no idea
whether this logic matches your requirements, it was only a suggestion.
> 
> this is why, i get the right result whenever
> selectedLanguage=defaultLanguage. When this is not the case I get
> nothing. hmm. strange.
> 
> so i tried
> 	<xsl:template match="*">
> 		<xsl:choose>
> 			<xsl:when test="(@lang = 
> $selectedLanguage) or (not(@lang))">
> 				<xsl:apply-imports/>
> 			</xsl:when>
> 			<xsl:otherwise>
> 				<xsl:if test="@lang = $defaultLanguage">
> 					<xsl:apply-imports/>
> 				</xsl:if>
> 			</xsl:otherwise>
> 		</xsl:choose>
> 	</xsl:template>
> which is not very beautiful, but still, out of reasons i do not
> understand, it seems that the otherwise clause gets executed, even
> when the when-clause returns true.
> 

The otherwise clause won't be executed if the when-clause returns true.
There's a bug in your logic here, but if you want help in finding it, you'll
need to provide complete stylesheet and source document, and information on
the parameter values supplied - preferably cut down to illustrate the
problem.

Michael Kay
http://www.saxonica.com/

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.