[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: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> Date: Sat, 23 Mar 2013 15:59:52 +0100 |
Hi David, I tried this, and the proposed <xsl:variable name="doc"> produces an error. <xsl:variable name="paths" as="item()*"> <xsl:sequence select = "($p1,$p2,$p3)" /> </xsl:variable> <xsl:variable name="doc" as="document-node()*" select="document($paths)/*"/> Warning: on line 34 Required item type of value of variable $doc is document-node(); supplied value has item type element(). The expression can succeed only if the supplied value is an empty sequence. Warning: on line 34 of strip4ilp.xsl: The only value that can pass type-checking is an empty sequence. Required item type of value of variable $doc is document-node(); supplied value has item type element() Warning: on line 34 of strip4ilp.xsl: The only value that can pass type-checking is an empty sequence. Required item type of value of variable $doc is document-node(); supplied value has item type element() Error on line 34 of strip4ilp.xsl: XTTE0570: Required item type of value of variable $doc is document-node(); supplied value has item type element({http://www.w3.org/2001/XMLSchema}schema, xs:anyType) -W On 23/03/2013, David Carlisle <davidc@xxxxxxxxx> wrote: > 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] creating a temporary docu, David Carlisle | Thread | Re: [xsl] creating a temporary docu, David Carlisle |
Re: [xsl] creating a temporary docu, David Carlisle | Date | Re: [xsl] creating a temporary docu, David Carlisle |
Month |
Keywords