У меня есть следующая задача по реализации, и я не знаю, как ее решить.
У нас есть синтаксическая проверка на основе SAX для формата xml, который проверяет хэш-сумму в некотором закрывающем endElement (). Эта хеш-сумма построена с использованием своего рода фильтрации InputStream , которая обновляет MessageDigest при чтении содержимого. SAX-syntaxchecker использует этот входной поток в качестве своего InputSource.
Проблема (моя задача) заключается в том, что хеш-сумма должна быть построена на некоторых канонизированных частях входного xml (см. http://www.w3.org/TR/xml-c14n).
Теперь сложная вещь: у нас есть Canonicalizer, который также использует SAX для канонизации ввода. (Необходимо учитывать текущий контекст, чтобы различать атрибуты, узлы и т. Д., Поэтому мы используем SAX)
Я хочу повторно использовать этот Canonicalizer, но не вижу способа объединить эти два SAX-парсера.
Я думаю, я хочу какой-то конвейер:
InputFile -> Canonicalizer -> HashCalculation-InputStream -> SyntaxChecker.
Есть идеи / рекомендации, как этого добиться? ТИА.