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.

Reply via email to