Re: [xsl] Relative URLs

Subject: Re: [xsl] Relative URLs
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 19 Sep 2001 12:57:36 -0400
At 10:05 AM 9/19/01, Joerg wrote:
> Does relative path work in document() function?
> Like <xsl:variable name="test" select="document('../test.xml')"/>
> Thanks in advance.

Yes, I think so. But it's relative to the stylesheet - and this is a
frequently bug for using document().

But this can be controlled. The spec says [XSLT 12.1]:

  The URI reference may be relative. The base URI (see 3.2 Base URI) of
  the node in the second argument node-set that is first in document
  order is used as the base URI for resolving the relative URI into an
  absolute URI. If the second argument is omitted, then it defaults to
  the node in the stylesheet that contains the expression that includes
  the call the the document function....

To translate into English, if you say


traversal is relative to the stylesheet (or more specifically, to the place in the stylesheet where the document() call appears, which makes a difference if your stylesheet is modular). But if you say

document('../test.xml', .)

traversal is (should be) relative to the Base URI (think: "file location") of the context node, which is usually going to be in the source document.

Whether processors implement this particular feature correctly, is a different question.



GMX - Die Kommunikationsplattform im Internet.

XSL-List info and archive:

Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
  Mulberry Technologies: A Consultancy Specializing in SGML and XML

XSL-List info and archive:

Current Thread