xsl-list
[Top] [All Lists]

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

2013-03-09 10:23:15
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.

Once you've gone

<xsl:sequence select="document($paths)/*"/>

It's not document nodes anymore.  Same as 

<xsl:for-each select="collection()/*">

doesn't give the document nodes and

<xsl:for-each select="collection()">

does.

-- Graydon

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--