Print

Print


Running in a J2EE is somewhat different from running in a CGI environment.
Specifically, variables such as REMOTE_ADDR, etc. are not stored in
environment variables that are easily accessible.

Assuming that your XSLT is executed for each request (which, btw, is not a
given since Voyager may well be caching the results of the style-sheet
application), your vendor may set up the XSLT processor environment to
provide access to variables related to the current request, for instance,
via XALAN-J extensions. If they did that, it would probably be in the
documentation to which you have access under NDA.

If not, things will be a lot more complicated. You'll probably have to wrap
the servlet in your own; store the current servlet request in a thread-local
variable, then create an xalan extension to access it during the XSLT
processing. That requires a fair bit of Java/J2EE "trickery," but is
definitely possible (and will likely void your warranty.)

 - Godmar

On Fri, Jun 19, 2009 at 9:42 PM, Tom Pasley <[log in to unmask]> wrote:

> Hi,
>
> I see Michael's here too - (he's a bit of a guru on the Voyager-L listserv
> :-D).
>
> Michael, if you have a look at the Vendor URL, there's some info there, but
> you might also try having a look through some of these G.search results:
>
> site:xml.apache.org inurl:"xalan-j" "system"
>
> - see if that helps any - like to help more, but I've got to go!
>
> Tom
>
> On Sat, Jun 20, 2009 at 10:11 AM, Doran, Michael D <[log in to unmask]> wrote:
>
> > Hi Jon,
> >
> > > Try putting somewhere in one of the xslt pages
> >
> > Cool!  Here's the output:
> >
> >        Version: 1
> >        Vendor: Apache Software Foundation
> >        Vendor URL: http://xml.apache.org/xalan-j
> >
> > -- Michael
> >
> > # Michael Doran, Systems Librarian
> > # University of Texas at Arlington
> > # 817-272-5326 office
> > # 817-688-1926 mobile
> > # [log in to unmask]
> > # http://rocky.uta.edu/doran/
> >
> >
> > > -----Original Message-----
> > > From: Code for Libraries [mailto:[log in to unmask]] On
> > > Behalf Of Jon Gorman
> > > Sent: Friday, June 19, 2009 5:05 PM
> > > To: [log in to unmask]
> > > Subject: Re: [CODE4LIB] How to access environment variables in XSL
> > >
> > > Try putting somewhere in one of the xslt pages
> > >
> > > <p>
> > > Version:
> > > <xsl:value-of select="system-property('xsl:version')" />
> > > <br />
> > > Vendor:
> > > <xsl:value-of select="system-property('xsl:vendor')" />
> > > <br />
> > > Vendor URL:
> > > <xsl:value-of select="system-property('xsl:vendor-url')" />
> > > </p>
> > >
> > > Jon
> > >
> > > On Fri, Jun 19, 2009 at 4:53 PM, Doran, Michael
> > > D<[log in to unmask]> wrote:
> > > > Hi Dave,
> > > >
> > > >> What XSLT processor and programming language are you using?
> > > >
> > > > I'm embarrassed to say that I'm not sure.  I'm making
> > > modifications and enhancements to already existing XSL pages
> > > that are part of the framework of Ex Libris' new Voyager 7.0
> > > OPAC.  This new version of the OPAC is running under Apache
> > > Tomcat (on Solaris) and my assumption is that the programming
> > > language is Java; however the source code for the app itself
> > > is not available to me (and I'm not a Java programmer anyway,
> > > so it's a moot point).  I assume also that the XSLT processor
> > > is what comes with Solaris (or Tomcat?).  As you can probably
> > > tell, this stuff is new to me.  I've been trying to take a
> > > Sun Ed XML/XSL class for the last year, but it keeps getting
> > > cancelled for lack of students.  Apparently I'm the last
> > > person left in the Dallas/Fort Worth area that needs to learn
> > > this stuff. ;-)
> > > >
> > > > -- Michael
> > > >
> > > > # Michael Doran, Systems Librarian
> > > > # University of Texas at Arlington
> > > > # 817-272-5326 office
> > > > # 817-688-1926 mobile
> > > > # [log in to unmask]
> > > > # http://rocky.uta.edu/doran/
> > > >
> > > >
> > > >> -----Original Message-----
> > > >> From: Code for Libraries [mailto:[log in to unmask]] On
> > > >> Behalf Of Walker, David
> > > >> Sent: Friday, June 19, 2009 2:48 PM
> > > >> To: [log in to unmask]
> > > >> Subject: Re: [CODE4LIB] How to access environment variables in XSL
> > > >>
> > > >> Micahael,
> > > >>
> > > >> What XSLT processor and programming language are you using?
> > > >>
> > > >> --Dave
> > > >>
> > > >> ==================
> > > >> David Walker
> > > >> Library Web Services Manager
> > > >> California State University
> > > >> http://xerxes.calstate.edu
> > > >> ________________________________________
> > > >> From: Code for Libraries [[log in to unmask]] On Behalf
> > > >> Of Doran, Michael D [[log in to unmask]]
> > > >> Sent: Friday, June 19, 2009 12:44 PM
> > > >> To: [log in to unmask]
> > > >> Subject: [CODE4LIB] How to access environment variables in XSL
> > > >>
> > > >> I am working with some XSL pages that serve up HTML on the
> > > >> web.  I'm new to XSL.   In my prior web development, I was
> > > >> accustomed to being able to access environment variables (and
> > > >> their values, natch) in my CGI scripts and/or via Server Side
> > > >> Includes.  Is there an equivalent mechanism for accessing
> > > >> those environment variables within an XSL page?
> > > >>
> > > >> These are examples of the variables I'm referring to:
> > > >>     SERVER_NAME
> > > >>     SERVER_PORT
> > > >>     HTTP_HOST
> > > >>     DOCUMENT_URI
> > > >>     REMOTE_ADDR
> > > >>     HTTP_REFERER
> > > >>
> > > >> In a Perl CGI script, I would do something like this:
> > > >>     my $server = $ENV{'SERVER_NAME'};
> > > >>
> > > >> Or in an SSI, I could do something like this:
> > > >>     <!--#echo var="REMOTE_ADDR"-->
> > > >>
> > > >> If it matters, I'm working in: Solaris/Apache/Tomcat
> > > >>
> > > >> I've googled this but not found anything useful yet (except
> > > >> for other people asking the same question).  Maybe I'm asking
> > > >> the wrong question.  Any help would be appreciated.
> > > >>
> > > >> -- Michael
> > > >>
> > > >> # Michael Doran, Systems Librarian
> > > >> # University of Texas at Arlington
> > > >> # 817-272-5326 office
> > > >> # 817-688-1926 mobile
> > > >> # [log in to unmask]
> > > >> # http://rocky.uta.edu/doran/
> > > >>
> > > >
> > >
> >
>