首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个sax解析器的管道?

两个sax解析器的管道?
EN

Stack Overflow用户
提问于 2011-11-14 08:20:40
回答 1查看 138关注 0票数 1

我有以下的实现任务,我不知道如何解决它。

我们有一个基于SAX的语法检查器,用于在关闭的endElement()中检查哈希和。这个hashsum是使用一种筛选InputStream构建的,它在读取内容时更新MessageDigest。SAX-同步检查器使用这个输入流作为它的InputSource。

问题(我的任务)是,hashsum应该构建在输入xml的一些规范化部分上(参见http://www.w3.org/TR/xml-c14n)。

现在,棘手的事情是:我们有一个规范化器,它也使用SAX来规范输入。(它需要知道当前的上下文来区分属性和节点等,这就是我们使用SAX的原因)

我想重用这个Canonicalizer,但我看不出如何将这两个SAX解析器组合起来。

我想我想要一种流水线:

InputFile -> Canonicalizer -> HashCalculation-InputStream -> SyntaxChecker.

有什么想法/参考如何做到这一点?蒂娅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-14 10:05:51

由于哈希计算从输入流中读取,规范化的结果最终必须显示为输入流。您可以使用连接到PipedInputStream的PipedOutputStream,或者使用临时字节数组上的一对ByteArrayOutputStream / ByteArrayInputStream。

相反,如果这两个组件的设计考虑到管道衬里,您可以使用org.xml.sax.XmlFilter将规范化程序中的事件与哈希计算/语法检查器的处理程序连接起来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8118899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档