FastSaxParser ans XFastParser

Michael Stahl mst at libreoffice.org
Fri Nov 27 09:20:10 UTC 2020


On 27.11.20 01:20, Regina Henschel wrote:
> The API has an interface XDTDHandler in com::sun::star::xml::sax with 
> the methods "notationDecl" and "unparsedEntityDecl". An OpenGrok search 
> leads to /core/sax/source/expatwrap/sax_expat.cxx. So it seems you need 
> to implement a class which supports this interface. But I'm still a 
> novice in many aspects and it would be better a professional developer 
> gives you ideas for further steps.

true, but
* FastParser doesn't use XDTDHandler, it's only used with the "old" 
expatwrap parser that isn't "fast".
* XDTDHandler is only for unparsed entities, whereas here internal 
entities would be required and those are always parsed entities

there isn't any UNO API for internal entities.

the internal entities should be handled by libxml2 itself, the problem 
is that the DTD isn't read (it's not bundled?) so they aren't declared.

so i guess you could either figure out how to get this DTD bundled (note 
that there are different versions of MathML, and that you should ask 
your local Debian Developer what they think about its license before 
bundling it), or to provide these entities as built-in via some hook as 
Noel proposed in https://gerrit.libreoffice.org/c/core/+/106630.


More information about the LibreOffice mailing list