On 2004.03.05, Ross Simpson <[EMAIL PROTECTED]> wrote:
>
> Sorry, should have mentioned what I tried..
>
> <xsl:include href="../poi_list.xsl"/>
> and
> <xsl:include href="/poi_list.xsl"/>
>
> both give errors:
> couldn't open "map_results.xsl/../poi_list.xsl": no such file or direc..
> and
> couldn't open "map_results.xsl//poi_list.xsl": no such file or directory
> respectively.
Okay, that's strange. The first one (the one I suggested) as a relative
URI should have worked. Maybe ...
Here's what XSLT spec. says:
| 2.6.1 Stylesheet Inclusion
| <!-- Category: top-level-element -->
| <xsl:include
| href = uri-reference />
|
| An XSLT stylesheet may include another XSLT stylesheet using an
| xsl:include element. The xsl:include element has an href attribute
| whose value is a URI reference identifying the stylesheet to be
| included. A relative URI is resolved relative to the base URI of
| the xsl:include element (see [3.2 Base URI]).
> It seems that the href argument, whether relative or absolute, gets
> appended to the current node.
>
> Looks like maybe a bug to me, but maybe I'm just misunderstanding
> things.
Yes, if tDOM doesn't handle relative URI path normalization correctly,
that's probably a bug.
i.e., the appending is the right thing to do, but then the fact that it
doesn't normalize the path and open the right file, that's a problem.
However, reading this in the spec. makes me wonder:
| It is an error if a stylesheet directly or indirectly includes
| itself.
Perhaps by not normalizing the path, it becomes easier to prevent a
stylesheet from including itself. Of course, symlinks can still fool
the XSLT processor, but that would likely be an intentional attempt to
break things.
-- Dossy
--
Dossy Shiobara mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
"He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of
your email blank.