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