我需要在Xalan转换期间挂钩事件触发器。
即。当找到一个节点时,正在处理它的字符串内容时,基本上是startElement(),endElement(),characters()等方法。
我已经创建了一个TransformerHandler实例,但我很难看到如何将它添加到Transformer ......
有没有人有我如何做到这一点的例子。
我一直在网上搜寻但找不到任何东西 - 也许我只是在寻找错误的东西......
非常感谢
答案 0 :(得分:0)
根据您添加的评论
,监控XML SAX事件将无法提供您所需的信息输出将是基于输入XML的HTML。我基本上需要跟踪输出文本的大小。例如,当我达到10k时,我需要触发一个事件。我还需要知道我当时的节点。
根据样式表的复杂性,变换器可能需要在处理开始之前将整个XML文件加载到内存中,如DOM树。
你需要2个钩子:
对于#1,您唯一知道输出大小的位置在输出流中,因此您必须将FileOutputStream
包裹起来,以监视大小。< / p>
对于#2,您可以使用TraceListener
执行此操作,监控SelectionEvent
。我从未使用它,但它听起来像你在寻找。