Review Request: read XML in the rigth way. ie. <a> <b>\n<c> has 5 nodes, not 3
Sebastian Sauer
mail at dipe.org
Sat Aug 6 18:04:28 BST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101857/#review5443
-----------------------------------------------------------
Thinking a bit more in my opinion we should not change how whitespaces are handled atm if there is no good reason for it (like a performance-boost or ...). The "2.10 White Space Handling" section from http://www.w3.org/TR/REC-xml/#sec-white-space makes it rather clear that;
<quote>
<!ATTLIST poem xml:space (default|preserve) 'preserve'>
The value "default" signals that applications' default white-space processing modes are acceptable for this element; the value "preserve" indicates the intent that applications preserve all the white space.
</quote>
What means that there are 2 modes. The default one (we are currently using) and the preserved one (which this patch tries to implement). Per ODF-specs the ODF XML-content is using the default but not the preserve mode (see e.g. http://blogs.oracle.com/lars/entry/whitespace_in_odf ).
So, this patch would result in us not proper handling ODF documents any longer :-/
- Sebastian
On Aug. 6, 2011, 10:56 a.m., Jaime Torres Amate wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101857/
> -----------------------------------------------------------
>
> (Updated Aug. 6, 2011, 10:56 a.m.)
>
>
> Review request for Calligra.
>
>
> Summary
> -------
>
> Quoting the w3 consortium:
> [Definition: All text that is not markup constitutes the character data of the document.]
>
> And in section
> http://www.w3.org/TR/REC-xml/#sec-white-space
>
> In editing XML documents, it is often convenient to use "white space" (spaces, tabs, and blank lines) to set apart the markup for greater readability.
> Such white space is typically not intended for inclusion in the delivered version of the document.
> On the other hand, "significant" white space that should be preserved in the delivered version is common, for example in poetry and source code.
>
> An XML processor MUST always pass all characters in a document that are not markup through to the application.
> A validating XML processor MUST also inform the application which of these characters constitute white space appearing in element content.
>
> [Definition: An element type has mixed content when elements of that type may contain character data, optionally interspersed with child elements.]
> ------------------
> The attached patch modifies the xml parser to return the spaces between > and < as text elements.
>
> I needed to change the TestXmlReader to remove all the additional spaces between nodes.
> (I'll need to modify the patch to remove all the additional spaces I've introduced).
>
>
> Diffs
> -----
>
> libs/odf/KoXmlReader.cpp ad5e9d2
> libs/odf/KoXmlReaderForward.h 4ca9a74
> libs/odf/tests/TestXmlReader.cpp 6631b64
>
> Diff: http://git.reviewboard.kde.org/r/101857/diff
>
>
> Testing
> -------
>
> The modified TestXmlReader test is OK.
> There are only 2 regressions in the tests that I do not know how to fix:
> 147 - krita-ui-KisKraLoaderTest (Failed)
> 148 - krita-ui-KisKraSaverTest (Failed)
>
> Also, I've been able to read with calligrawords and calligrastage all the .od* that I have without problems.
>
>
> Thanks,
>
> Jaime Torres
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110806/45a196f3/attachment.htm>
More information about the calligra-devel
mailing list