Re: [xsl] (Possible) pitfall: XSLT 2, 9.4 Creating implicit document nodes

Subject: Re: [xsl] (Possible) pitfall: XSLT 2, 9.4 Creating implicit document nodes
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 09 May 2012 16:23:53 +0100
On 09/05/2012 16:02, Christian Roth wrote:
Is there a technique or pattern I could employ (maybe utilizing the
@as attribute somehow?) to unify the access to variable contents
where I know that the sequences are node sequences, regardless of
their content construction using @select or<xsl:sequence>?


well you could for example

select="if($a instance of document-node()) then $a/node() else $a"/>

possibly fixes some cases but of course if the select attribute on
xsl:variable returned a document node this would descend into it perhaps
incorrectly.

Just not using the xsl:variable with content form is the simplest.

There's no reason to write
<xsl:variable name="v1"><xsl:sequence select="a"/></xsl:variable>
since it's so much longer (and costly) than
<xsl:variable name="v2" select="a"/>
You could write
<xsl:variable name="v1" as="item()*"><xsl:sequence
select="a"/></xsl:variable>

which then doesn't construct the implicit document node, but that's even
longer.

David


________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________


Current Thread