Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Hi Mohammed,

        Let me CC the dev list on the fag-end of this conversation; hopefully
it will get more interesting over time =)

On Mon, 2016-06-27 at 22:01 +0530, Mohammed Abdul Azeem wrote:
I'm looking into the code paths which misuses defined namespaces
without resolving them. I will make test cases to cover them. 

        Ah - right =)

Sure we can do this, but it would only account for element's namespace
and not attributes namespaces. Also some of the implementations of
XDocumentHandler expects namespace declaration( looking for "xmlns" )
and tries to resolve them, and I think this approach wouldn't cover
all the namespace declaration.

        Ah ! fair enough - then (I guess) we need to implement a new
XFastNamespaceHandler which we can register with a setNamespaceHandler()
call on XFastParser - and which can be NULL for all the interesting
cases where we need to be truly fast =)

        Then (I guess) we could pass namespace prefixed names through for the
unknown attributes so eg. "office:foo" - and still have the information
we need to properly resolve them.

        Failing that (I guess) - we could as you've done push xmlns: statements
through in attributes - it would best match the css::xml::Attribute
approach that expat_wrap used in the past - and would simplify things
for us.

        In this case - I'd want to see:

        a) comprehensive test cases, with assertions for all
           code-paths.
        b) never creating these or slowing code-paths where
           the XFastParser is being used and tokenizing correctly
           and really needs to be fast.

        I fear that b) is not met by the previous patch.

        Thoughts ? =)

        ATB,

                Michael.

-- 
michael.meeks@collabora.com <><, GM Collabora Productivity
 Skype: mmeeks, Google Hangout: mejmeeks@gmail.com
 (M) +44 7795 666 147 - timezone usually UK / Europe


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.