Re: xalan usage in taglibs

Jeremy Boynes <[email protected]> Sun, 26 Nov 2017 16:12:01 -0800
Newsgroups gmane.comp.jakarta.taglibs.user
Message-ID <[email protected]>
--Apple-Mail=_2D840F43-B70A-43D8-BEF8-103217C78CEF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

> On Nov 26, 2017, at 2:17 PM, Matthew Broadhead =
<[email protected]> wrote:
>=20
> So to run the tests I could reverse the changes of the commit and then =
update to javax.xml.* and run tests?
>=20
> I am still struggling a bit to understand exactly what is happening =
wrt VariableStack and how I can change over to XPathVariableResolver.  =
And also don't see a way to replace XBoolean, XNumber, XString etc...
>=20
> I will keep trying things.   Can I come back to you with specific =
queries?

I did experiment with a pure JAXP based solution - there=E2=80=99s a =
patch =
<https://bz.apache.org/bugzilla/attachment.cgi?id=3D26445&action=3Ddiff> =
attached to #27717 that might be a place to start from. You may need to =
roll back a bit to get it to apply.=20

=46rom what I remember, the performance problem stemmed from the =
evaluation of XPath inside the loop, with both Xalan and JAXP (which =
used a shaded version of Xalan) reinitializing the DTM each time leading =
to N * N scaling. The fix was to use Xalan=E2=80=99s API directly to =
convert the document=E2=80=99s DOM to a DTM once and then apply the =
XPath against the DTM each time leading to 1 * N scaling.=20

The downside is that there was a direct dependency on Xalan 2.7.1. I =
think we tried using 2.7.2 but there was some other problem with that I =
can=E2=80=99t find at the moment. Given the stability of Xalan/Xerces, =
what=E2=80=99s causing the conflict with FOP?=

--Apple-Mail=_2D840F43-B70A-43D8-BEF8-103217C78CEF--