Re: [xsl] document() path created from xml

Subject: Re: [xsl] document() path created from xml
From: Jeroen Janssen <jeroen@xxxxxxxx>
Date: Tue, 04 Sep 2001 12:47:45 +0200
on 04-09-2001 12:34, Jeni Tennison at mail@xxxxxxxxxxxxxxxx wrote:

Sorry, I made a mistake with the xsl example I sent (apart from the fact
that it doesn't work :-) stupid me!!

My problem is that I want to take the id from one xml document and I want to
use that id to load another document, something like this:

<xsl:variable name="path">

<xsl:apply-templates select="$path"/>

Except that this doesn't work..

By the way, you guys are a great help! Sorry I ask so many questions, but
I'm still learning and I find some stuff quite abstract and difficult to
comprehend, especially the xpath stuff.. but thanks to this list (and a
couple of books) I'm learning something new every day.

> Hi Jeroen,
>> I'm trying to load an xml document with document(), every file has
>> an id and I need to take this id from the originaly loaded xml, I
>> tried this with a variable but I can't get it to work, this one of
>> the xsls I tried:
>> <xsl:variable name="path">
>> document('../data/institutions/institutions_country0.xml')/institutions
>> </xsl:variable>
>> <xsl:apply-templates select="$path"/>
> When you set a variable using its content, then you create a result
> tree fragment; in this case, you create a result tree fragment with a
> single text node whose value is
> "document('../data/institutions/institutions_country0.xml')/institutions".
> Instead, you want to evaluate the XPath, to make the $path variable
> hold the resulting institutions element (I think). To do that, use the
> select attribute on xsl:variable, rather than its content, to set the
> variable:
> <xsl:variable name="path"
> select="document('../data/institutions/institutions_country0.xml')
> /institutions" />
>> A related question; is there any way of seeing what the result of an
>> expression is? I know I'm doing something wrong but "Reference to
>> variable or parameter 'path' must evaluate to a node list" is a bit
>> vague, I would like to see what's actually happening...
> I find it helpful to send debugging messages with xsl:message and use
> xsl:copy-of to show the value of variables. For example:
> <xsl:message>
> $path: <xsl:copy-of select="$path" />
> </xsl:message>
> Where you see the messages depends on the way you're using the
> processor.
> I hope that helps,
> Jeni
> ---
> Jeni Tennison
> XSL-List info and archive:

 XSL-List info and archive:

Current Thread