This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: conditional inlcudes -is it possible?
- From: Vedu Hariths <vhariths at yahoo dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Tue, 1 Oct 2002 09:38:32 -0700 (PDT)
- Subject: RE: [xsl] conditional inlcudes -is it possible?
- Reply-to: xsl-list at lists dot mulberrytech dot com
Thanks, that helps.
Vedu
--- Robert Koberg <rob@koberg.com> wrote:
> Hi,
>
> You can't do it in XSL. But you can do it with a
> URIResolver in something like
> java. You can pass the arguments you need to the
> object and determine which file
> to include. For examplpe:
>
> TransformerFactory factory =
> TransformerFactory.newInstance();
> factory.setURIResolver(new
> MyResolver(some_argument));
> ...
>
> class MyResolver implements URIResolver {
> String arg;
>
> public MyResolver(String _arg) {
> this.arg = _arg;
> }
>
> public Source resolve(String href,String base) {
> String file_str = "some starting path";
> if (href.equals("boo")
> file_str = file_str;
> } else if (href.equals("foo")) {
> file_str = file_str + this.arg;
> }
> File file = new File(file_str,href);
> if(file.exists()) return new StreamSource(file);
> return null;
> }
> }
>
> You set the resolver on the factory and then things
> like xsl:include/import and
> document() are handled by 'MyResolver'
>
> best,
> -Rob
>
>
>
>
> > -----Original Message-----
> > From: owner-xsl-list@lists.mulberrytech.com
> > [mailto:owner-xsl-list@lists.mulberrytech.com]On
> Behalf Of Vedu Hariths
> > Sent: Monday, September 30, 2002 1:21 PM
> > To: XSL-List@lists.mulberrytech.com
> > Subject: [xsl] conditional inlcudes -is it
> possible?
> >
> >
> > Hello,
> > This is our situation. We have a global xsl that
> > ensures that all our webpages have a certain
> content.
> > We are trying to make the inclusion of local xsl
> > stylesheets conditional based on where the request
> is
> > coming from so this brings out two questions:
> > a) is there a function like say HTTP_REFERER (in
> php)
> > that tells you the page/uri that requested the
> page
> > and,
> > b) is there a way to include different XSL
> stylesheets
> > into one XSL stylesheet based on the information
> from
> > 'a'.
> >
> > I do know that multiple includes are possible, but
> > when I tried this, as a first step, this also did
> not
> > work:
> >
> > <xsl:variable
> > name="location">http://theurl</xsl:variable>
> > </xsl:include href="$location" />
> >
> > This came out with the error that no stylesheet
> has
> > been speficied. This part would be necessary if
> 'a'
> > and 'b' could be done.
> >
> > Thanks for your help in advance,
> > Vedu
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > New DSL Internet Access from SBC & Yahoo!
> > http://sbc.yahoo.com
> >
> > XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
>
> XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
>
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list