[jdom-interest] newbie question: parsing in xhtml containing
mathml
Laurent Bihanic
laurent.bihanic at atosorigin.com
Tue Jul 6 05:41:50 PDT 2004
Morten Andersen wrote:
> Well, the task is pretty simple, but I can't get anything working.
>
> I want to parse in an xhtml document containing mathml with all the
> entitities defined like alpha and beta. This should then be transformed
> using xslt into another xml-document.
> The test-xhtml document is shown below:
...
> This results in this error:
> / "org.jdom.IllegalTargetException: The target "IS10744:arch" is not
> legal for JDOM/XML Processing Instructions: Processing instruction
> targets cannot contain colons."
As explained in org.jdom.Verifier.java, JDOM is compliant with section 6 of
the XML namespace specification
(http://www.w3.org/TR/REC-xml-names/#Conformance) which states:
"No entity names, PI targets, or notation names contain any colons"
> /Then I tryed to trick the SAXBuilder so that the DTD's are not used by
> setting the entityResolver to an entityResolver, that doesn't do anything.
> ---
> /SAXBuilder builder = new SAXBuilder();
> builder.setEntityResolver(new NoOpEntityResolver());
> /---
> This results in some output to System.err:
> / "[Fatal Error] :1:66: White spaces are required between
> publicId and systemId."
> /But the transformation seems to occur.
This is caused by 2 bugs in JDOMSource: 1. the way the DTD reference is build
is incorrect (indeed, a white space is missing); 2. No SAX ErrorHandler is set
to correctly process the error.
Except that DTD information is lost to the XSLT processor, the transformation
is performed.
Laurent
More information about the jdom-interest
mailing list