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

Subject: Re: [xsl] creating a temporary document from multiple inputs
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Sat, 9 Mar 2013 17:30:11 +0100
See inline.

On 09/03/2013, Graydon <graydon@xxxxxxxxx> wrote:
> On Sat, Mar 09, 2013 at 05:02:19PM +0100, Wolfgang Laun scripsit:
>> 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)"/>
>>
>> What surprised me was that I could use
>>  <xsl:sequence select="document($paths)"/>
>> without an error, which would make the document-nodes of the inputs
>> children of the temporary document-node. Is the XSL processor clever
>
> Betcha you can't.
What, exactly? Both forms - with and without '/*' - appear to work
correctly - at least the key() function delivers.

>
> Once you've gone
>
> <xsl:sequence select="document($paths)/*"/>
>
> It's not document nodes anymore.

That I realized and thought advisable while I put them under the new
temporary document-node.

I just wondered why I don't have to select the document-nodes' *children*.

-W

> -- Graydon

Current Thread