Re: [xsl] Problem with document() function

Subject: Re: [xsl] Problem with document() function
From: Jörg Heinicke <joerg.heinicke@xxxxxx>
Date: Fri, 12 Oct 2001 17:28:17 +0200

>   <xsl:variable name="data" select="document('contact1.xml')"/>

Yes, with this expression you get the whole document. But you can restrict
the returned nodeset already here.

<xsl:variable name="data" select="document('contact1.xml')/root_elem"/> for
example. So multiple times working on this nodeset would be faster. In this
case not very much, because only the root_elem will not be returned, but you
can restrict it still more of course.

> And also:
>
>   <xsl:value-of select="$data/*//organization"/>
>                                ^
> (to find nested contact info)
>
> It works, but still I'm not sure how to read the XPath expression
> "$data/*//organization". In particular, I'm not yet sure what the '*' adds
> to it. Since '$data' returns the document (starting from the root node I
> assume), it seems logical that only the '//' + [element name] should be
able
> to return the content from any element.
>
> Regards,
>
> Gustaf Liljegren

This means also that the root_elem will not be tested, if it is
'organization'. Only the descendants of the root_elem will be tested.

And be aware: <xsl:value-of select="$data/*//organization"/> returns only
the content of the first occurence of organization in contact1.xml!!

Joerg


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread