David wrote:
Upayavira wrote:
David wrote:
Sylvain Wallez wrote:
David wrote:
I am writing a cocoon transformer and need to know when any of
multiple xpaths match. I'm sure there must be a be a more efficient
way then converting it to a DOM document and then running each
xpath to get the nodelist of each.
What is the best way to do this?
The problem with XPath is that it's intrinsically tied to the DOM
hierarchical model. So you need to have a DOM ready to query the
document with XPath.
You may want to have a look at STX [1], which uses a subset of XPath
that is suited to streamed processing.
Sylvain
[1] http://stx.sourceforge.net/
I was looking at STX too but couldn't find a way to use it from Java.
Anyone know how you use it without making an stx file?
I understand the issue with xpaths and needing DOM. I know xalan has
its Document Table Model (DTM) that improves on performance. Anyone
know if we can tap into that without writting a XSL file?
For an example of using STX in java, see the STX block, that allows
you to use STX as a normal Cocoon transformer.
Regards, Upayavira
I looked in there already :-)
There are no Java examples. Only xmap and stx files. Maybe in some
branch of cocoon?
D'ya know why? Because stx iomplements TRAX, so all you need is a
configuration for the existing TRAX (XSLT) transformer. Look in
src/blocks/stx/conf/stx-transformer.xmap, you'll see the relevant
config. So, whatever you do for XSLT, you do the same for STX.
Regards, Upayavira