Subject: effort to port Saxon7.x to JDK1.3
From: Xiaocun Xu <xiaocunxu@xxxxxxxxx>
Date: Wed, 7 May 2003 13:33:52 -0700 (PDT)
|
Thanks for the reply on confirming the approaches.
I would love to skip straight to Saxon 7.5, but it
requires JDK1.4 and my code has to work with
WebLogic6.1 which does not support JDK1.4.
I really dreaded expanding out the variables. After
much time hoping WebLogic6.1 would certify JDK1.4, I
finally run out of time and have to deal with it, one
single case immediately confirmed my dread. A
xsl:statement of 251 characters, now became 970
characters, it would be a nighmare to read and
maintain. I have about 20 such cases in my code.
Is it possible and how much effort would it be for me
port Saxon 7.5 to JDK1.3_004?
Thanks,
Xiaocun
--- Michael Kay <michael.h.kay@xxxxxxxxxxxx> wrote:
> > I thought this should have been a popular
> question,
> > but somehow I did not find it in the archive.
> > I am in the process of upgrading from Saxon
> 6.0.2 to
> > the latest 6.5.2. While doing regression testing,
> I
> > found compile errors "xsl:key may not contain
> > references to variables". Guess the newer version
> is
> > more tightly following the specs.
>
> I'm surprised that this ever worked, but 6.0.2 is a
> long time ago.
>
> > I can expand the variables so that it no longer
> use
> > variables in both match and use attributes, but it
> > will make the code less-readable and more
> difficult to
> > maintain. Anyone had similar problem and had a
> more elegant solution?
>
> You could skip straight to Saxon 7.4: XSLT 2.0
> allows global variables
> to appear in key definitions, provided there are no
> circularities (i.e.,
> the variables must not be defined in terms of the
> key).
>
> For an XSLT 1.0 solution, I think you've identified
> the only thing
> possible.
>
> Michael Kay
> Software AG
> home: Michael.H.Kay@xxxxxxxxxxxx
> work: Michael.Kay@xxxxxxxxxxxxxx
>
> > Attached are some of the examples of the
> variables
> > and xsl:key currently in my code.
> >
> > Thanks,
> > Xiaocun
> >
> > <!-- Find all lineitems, key on
> > string(LineItemLotName) to handle 0 or 1
> > LineItemLotName -->
> > <xsl:variable name="LineItemLotColumn"
> >
>
select="$LineItemHeader/cell[.=saxon:n2v($mapRFQ,'LineItemLotN
> > ame')]/@column"/>
> > <xsl:key name="lineitemLotsKey" match="//row[@row
> >
> > $LineItemHeaderRow and @row < $BidHeaderRow]"
> > use="string(cell[@column=$LineItemLotColumn])"/>
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Shopping - Send Flowers for Valentine's Day
>
> http://shopping.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!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|