This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Conditional variable assignment with node-set as value
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Conditional variable assignment with node-set as value
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Wed, 18 Jul 2001 09:22:59 +0100
- References: <20010717211935.2582.qmail@web11104.mail.yahoo.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
> select="saxon:node-set(RFQDomainAttributeDefinition[@Domain
> = 'lbid']/ExtendedAttributeDefinition)" />
You can't use (and don't need) node-set there: node-set() converts
a result tree fragment to a node set, but an XPath expression always
returns a node set (or at least, it never returns a result tree
fragment).
If you remove all occurrences of saxon:node-set then your code looks
right. On th eother hand If what you want is a node set as a result you
would be better to use xsl:variable with a select expression rather than
content, otherwise you will have to use
saxon:node-set($extended-attrs-bid)
every time you use it.
It looks likey you just want
<xsl:variable name="x"
select="normalize-space(RFQDomainAttributeDefinition)"/>
<xsl:variable name="extended-attrs-bid" select="
RFQDomainAttributeDefinition[$x][@Domain =
'lbid']/ExtendedAttributeDefinition
|
Bid[not($x)]/ExtendedAttribute[generate-id()
= generate-id(key('extended-attrs-bid-index',
@ExtendedAttributeCode))]
"/>
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list