Review Request: read XML in the rigth way. ie. <a> <b>\n<c> has 5 nodes, not 3

Sebastian Sauer mail at dipe.org
Tue Aug 16 11:54:42 UTC 2011



> On Aug. 6, 2011, 5:04 p.m., Sebastian Sauer wrote:
> > 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 :-/
> >
> 
> Jan Hambrecht wrote:
>     I think we have to differentiate between reading xml and reading odf. What i mean with that is not all xml is odf, and that class is an xml reader not an odf reader. So there are more uses cases than just reading odf. Svg reading is one of them. And preserving whitespace when reading svg text is a required feature.
> 
> Thorsten Zachmann wrote:
>     Maybe then it would be a good idea to not always do it but add a flag with that it is possible to preserve the spaces. As a default the current way should be used. And the flag can be set when spaces should be preserved. WIth that both is possible.

Thanks for the explanations and suggestions Jan and Thorsten and lot of thanks to Jaime for implementing that. Amazing work! The patch looks really good (as in perfect) to me and imho we can "ship it" if none else has feedback / sees problems with the updated patch?


- Sebastian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101857/#review5443
-----------------------------------------------------------


On Aug. 15, 2011, 5:56 p.m., Jaime Torres Amate wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101857/
> -----------------------------------------------------------
> 
> (Updated Aug. 15, 2011, 5:56 p.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 have added the TestXmlReaderWithoutSpaces to remove all the additional spaces between nodes.
> 
> The second version of this patch introduces a new method that is called only when setContent is called with the new default boolean parameter set to false.
> 
> 
> Diffs
> -----
> 
>   libs/odf/KoXmlReader.h 3f9ddf4 
>   libs/odf/KoXmlReader.cpp ad5e9d2 
>   libs/odf/tests/CMakeLists.txt ad632c8 
>   libs/odf/tests/TestXmlReaderWithoutSpaces.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/101857/diff
> 
> 
> Testing
> -------
> 
> The modified TestXmlReader test and the new TestXmlReaderWithoutSpaces are OK.
> 
> Today, only the following tests failed:
> 
>          19 - Plan-ScriptingTester (Failed) 
>          20 - KPlato-RCPSTester (Failed) (with a crash)
>          24 - kspread-Formula (Failed)
>          37 - kspread-InformationFunctions (Failed)
>          41 - kspread-TextFunctions (Failed)
>          43 - kspread-ValueFormatter (Failed)
>         172 - libs-widgets-KoResourceTagging_test (Failed)
>         193 - libs-kotext-styles-TestOpenDocumentStyle (Failed)
>         196 - kotext-odf-TestChangeTracking (Failed)
> 
> 
> Thanks,
> 
> Jaime Torres
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110816/49dce0b3/attachment.html>


More information about the calligra-devel mailing list