我有以下实现任务,我不知道如何解决它。
我们有一个基于 SAX的 xml 格式语法检查器,它检查某个结束 endElement() 中的哈希和。这个hashsum是使用一种过滤 InputStream构建的,它在读取内容时更新 MessageDigest。SAX-syntaxchecker 使用这个输入流作为它的 InputSource。
问题(我的任务)是,hashsum 应该建立在输入 xml 的一些规范化部分上(参见http://www.w3.org/TR/xml-c14n)。
现在棘手的事情是:我们有一个Canonicalizer,它也使用 SAX来规范化输入。(它需要知道当前上下文来区分属性和节点等,这就是我们使用 SAX 的原因)
我想重用那个 Canonicalizer,但我看不出如何组合这两个 SAX 解析器。
我想我想要某种流水线:
InputFile -> Canonicalizer -> HashCalculation-InputStream -> SyntaxChecker。
任何想法/参考如何做到这一点?TIA。