You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Stefano Mazzocchi <st...@apache.org> on 2000/08/18 17:27:26 UTC
Identified problem with FOP 0.14
This a bug report.
The method
org.apache.fop.apps.Driver.buildFOTree(Document document)
is aware of SAX1, while FOTreeBuilder is based on SAX2.
The problem is
case Node.ELEMENT_NODE:
NamedNodeMap map = currentNode.getAttributes();
currentAtts.clear();
for (int i = map.getLength() - 1; i >= 0; i--) {
Attr att = (Attr)map.item(i);
currentAtts.addAttribute("",
att.getName(),
"",
"CDATA",
att.getValue());
}
this.treeBuilder.startElement(
"", currentNode.getNodeName(), "", currentAtts);
^^^^
where the namespace is _always_ set to default, leaving to NPE when the
namespace property list is queried by the FOTreeBuilder.
FOP needs a better DOM->SAX2 tree walker in order to function.
Cocoon1 could provide this adaptation inside the FOPFormatter class that
calls FOP, but FOP should provide this directly since it could influence
other users.
Cocoon2 provides some code that performs SAX1 to SAX2 adaptation (look
under the org.apache.cocoon.xml.util package in the xml-cocoon2 CVS
branch of the xml-cocoon CVS module)
I don't have time to fix this myself and I don't want this to stop the
Cocoon 1.8 release so we'll ship FOP 0.13 until this is fixed.
Hope this helps.
--
Stefano Mazzocchi One must still have chaos in oneself to be
able to give birth to a dancing star.
<st...@apache.org> Friedrich Nietzsche
--------------------------------------------------------------------
Missed us in Orlando? Make it up with ApacheCON Europe in London!
------------------------- http://ApacheCon.Com ---------------------