Re: [xsl] multiple input document question

Subject: Re: [xsl] multiple input document question
From: "Greg Fausak" <lgfausak@xxxxxxxxx>
Date: Wed, 16 Jul 2008 21:23:04 -0500
I am trying to allow the first document to supply a path to the second
document.  For example, all @menu elements from the first document have
an attribute @id.  That could be /complete/xpath/here.  So the concatenation
I'm looking for in that example is document('f1.xml')/complete/xpath/here, which
does work when the xpath is not a variable.


On Wed, Jul 16, 2008 at 9:20 PM, Tony Nassar <tnassar@xxxxxxxxxxxxxxxx> wrote:
> What are you actually trying to do? The document f1.xml has only one document element, so what is $id supposed to mean in document('f1.xml')/$id? If, alternately, you want an element with the same name as $id, that's *[local-name() eq $id]
> -----Original Message-----
> From: Greg Fausak [mailto:lgfausak@xxxxxxxxx]
> Sent: Wednesday, July 16, 2008 7:17 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] multiple input document question
> Hi,
> I'm wondering if there is any way to do the following:
> <xsl:template match="*[@menu]">
>        <xsl:variable name="id" select="@id"/>
>        <xsl:for-each select="document('f1.xml')/$id">
> ...
> I've tried all sorts of combinations.
> I guess I can create an xslt output document
> with the for-each statement selecting by the
> value of the other document and just run
> it through xslt twice.  It just starts getting a little
> weird then!
> Thanks!
> -g
> --
> Greg Fausak
> greg@xxxxxxxxxxxx

Greg Fausak

Current Thread