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

AW: for-each with included variable

Subject: AW: for-each with included variable
From: "Machelett, Renato (FA.G+M-EP/ETK)" <fa-gm-renato.machelett@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 19 Apr 2001 15:26:18 +0200
renato machelett
Thank you David and Mike, 


David's solution didn't bring the result I expected, I'm not sure why, but
the output stays exactly the same as before. Which I find unsettling - like
always when I'm clueless.

Mike's approach won't work because I cannot use key() inside a template.
I'll try the generate-id() part once I've gotten more familiar with this
whole thing, which might take a while as far as I can tell. I'm still
struggling with the basics. :)

For now I picked another solution (found it in the FAQ, which is a good
one), that might not be overly elegant, but works. The variable now holds
the entire expression, not just a list of single literals.

IncludeMe.xsl:

<xsl:variable name="myOPTypeList" select="(.//*[@OPTypeRef='Type1'])[1] |
(.//*[@OPTypeRef='Type2'])[1] | (.//*[@OPTypeRef='Type3'])[1]"/>

DoSomeStuff.xsl:

<xsl:include href="IncludeMe.xsl"/>
<xsl:for-each select="$myOPTypeList">
  <!-- do some stuff -->
</xsl:for-each>

Not exactly the way I wanted it, but at least I have a central place for
changes, and I have it when I need it - NOW. :)


Renato

> > <xsl:for-each select="(.//*[@OPTypeRef='Type1'])[1] |
> > (.//*[@OPTypeRef='Type2'])[1] | (.//*[@OPTypeRef='Type3'])[1]">
> >   <!-- do some stuff -->
> > </xsl:for-each>
> >
> Someone else has pointed out your simple coding error, but how about a
> completely different approach:
> 
> <xsl:key name="OKtypes"
>          match="*[@OPTypeRef[.='Type1' or .='Type2' or .='Type3']]"
>          use="1"/>
> 
> <xsl:for-each select="key('OKtypes', 1)[1]"> ...
> 
> (This only works if ".//*" in your code is searching the 
> whole document: if
> not, you could change the use= in the key to be the 
> generate-id() of the
> relevant ancestor node.)
> 
> Mike Kay
> Software AG

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


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.