Я анализирую XML с помощью Digester.Часть этого содержит контент, отформатированный в загадочных псевдо-HTML XML-элементах, которые мне нужно преобразовать в PDF.Это будет сделано через Apache FOP.Следовательно, мне нужно получить доступ к элементу xml, который непосредственно содержит элементы содержимого, и передать его в FOP.Для этого в Digester FAQ говорится, что один из них
Оберните вложенный XML в CDATA
или
Если это невозможно, вам нужно использовать NodeCreateRule для создания узла DOM, представляющего тег body и его дочерние элементы, а затем сериализовать этот узел DOM обратно в текст
, поскольку он является стороннимXML подход CDATA
может быть реализован только через (другой) XSLT, который я не решаюсь сделать.
Похоже, что эту проблему следует решить с помощью NodeCreateRule , но я не могу понять, какчтобы сделать это.
Документация гласит, что NodeCreateRule
поместит узел в стек, однако я могу только заставить его пройти ноль.
Я пытался
digester.addRule(docPath + "/contents", new NodeCreateRule());
digester.addCallMethod(docPath + "/contents", "setContentsXML");
setContentsXML ожидает параметр Element.
Я также безуспешно пытался это и это .
Я использую последний стабильный Digester.Был бы благодарен за любой совет.
Обновление: Я обнаружил ошибку .Результат в моей системе тоже нулевой.Я использую JDK 6u24