Re: [xsl] A little cross referencing problem

Subject: Re: [xsl] A little cross referencing problem
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Wed, 22 Aug 2001 18:09:28 +0100
Hi Steven,

>> Of course the only slight drawback is that the document('') call
>> will only get the current stylesheet document, and therefore won't
>> search for keys defined in imported or included stylesheets (or
>> indeed stylesheets in which this one is imported or included).
>
> Couldn't you, potentially, write a called template which would
> recursively open included or imported stylesheets and check in them
> as well?

Yes, although a named template would only be able to return a result
tree fragment rather than the actual nodes. Extension functions like
saxon:closure() (suggested by Christian Nantwich, I believe) would
help a lot here.

However, you couldn't do the same thing to access the stylesheets in
which this one is included/imported.

Say A.xsl includes B.xsl or C.xsl. There's no way from within B.xsl to
test whether the keys and decimal formats available in A.xsl and C.xsl
exist, unless of course you know through some other means that B.xsl
is being used as part of A.xsl rather than standing on its own. The
references that build include/import trees only point down, not up.

This kind of split between stylesheets could happen if the constructs
were divided up by type, so B.xsl holds all the named templates while
C.xsl holds all the keys and decimal formats and A.xsl holds all the
matching templates, for example.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread