[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] creating a temporary document from multiple inputs


Subject: Re: [xsl] creating a temporary document from multiple inputs
From: David Carlisle <davidc@xxxxxxxxx>
Date: Sat, 23 Mar 2013 11:18:42 +0000

On 09/03/2013 16:02, Wolfgang Laun wrote:
XSLT 2.0.

I had to create a single document from several inputs (so that a key
lookup could access them all with a single call):

<xsl:variable name="doc" as="document-node()"> <xsl:document>
<xsl:sequence select="document($paths)/*"/> </xsl:document>
</xsl:variable> <xsl:key name="kSkips"
match="element()[@omc:ilp='0']" use="@name"/>

<xsl:variable name="look" select="key('kSkips',$name,$doc)"/>


If you are only concatenating them for the key lookup that's an expensive way to do it (unless your processor internally manages to avoid copying all the nodes).

Why not just look up along the sequence of documents?

<xsl:variable name="docs" as="document-node()*" select="document($paths)/*"/>

<xsl:variable name="look" select="$docs/key('kSkips',$name,.)"/>

David


Current Thread