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: Conditional variable assignment with node-set as value



> 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


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