<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/101857/">http://git.reviewboard.kde.org/r/101857/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If you fix the things I commented on, I think it can go in.</pre>
 <br />





<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32125#file32125line268" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.h</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">private:</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">268</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">KoXmlDocument</span><span class="p">(</span><span class="k">const</span> <span class="n">KoXmlDocument</span><span class="o">&</span> <span class="n">node</span><span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">268</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">KoXmlDocument</span><span class="p">(</span><span class="k">const</span> <span class="n">KoXmlDocument</span><span class="o">&</span> <span class="n">node</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="n"><span class="hl">bool</span></span><span class="hl"> </span><span class="n"><span class="hl">stripSpaces</span></span><span class="hl"> </span><span class="o"><span class="hl">=</span></span><span class="hl"> </span><span class="nb"><span class="hl">true</span></span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I am not in favour of passing the stripSpaces parameter to the copy constructor. It should copy the value from the passed KoXmlDocument, that is the semantic of a copy constructor. I one wants to change the strip whitespace behaviour, the setter setWhitespaceStripping can still be used.</pre>
</div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32125#file32125line296" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.h</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class KOODF_EXPORT KoXmlDocument: public KoXmlNode</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">296</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="kt">void</span> <span class="n">setWhitespaceStripping</span><span class="p">(</span><span class="n">bool</span> <span class="n">stripSpaces</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Please add some documentation for the setting here.</pre>
</div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32125#file32125line301" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.h</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class KOODF_EXPORT KoXmlDocument: public KoXmlNode</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">299</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">KoXmlDocument</span><span class="p">(</span><span class="n">KoXmlNodeData</span><span class="o">*</span><span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">301</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">KoXmlDocument</span><span class="p">(</span><span class="n">KoXmlNodeData</span><span class="o">*</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="n"><span class="hl">bool</span></span><span class="hl"> </span><span class="n"><span class="hl">stripSpaces</span></span><span class="hl"> </span><span class="o"><span class="hl">=</span></span><span class="hl"> </span><span class="nb"><span class="hl">true</span></span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You should not pass the paramter here. KoXmlNodeData should properly initialize its stripSpace member in the constuctor.
And as this KoXmlDocument constructor is private, nobody could ever pass a different value here anyway.</pre>
</div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32126#file32126line1256" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>

  </tr>
 </tbody>






 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1212</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="kt">bool</span> <span class="n">setContent</span><span class="p">(</span><span class="n">QXmlStreamReader</span> <span class="o">*</span><span class="n">reader</span><span class="p">,</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1256</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="kt">bool</span> <span class="n">setContent</span><span class="p">(</span><span class="n">QXmlStreamReader</span> <span class="o">*</span><span class="n">reader</span><span class="p">,</span></pre></td>
  </tr>

 </tbody>


 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1213</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="n">QString</span><span class="o">*</span> <span class="n">errorMsg</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="kt">int</span><span class="o">*</span> <span class="n">errorLine</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="kt">int</span><span class="o">*</span> <span class="n">errorColumn</span> <span class="o">=</span> <span class="mi">0</span><span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1257</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="n">QString</span><span class="o">*</span> <span class="n">errorMsg</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="kt">int</span><span class="o">*</span> <span class="n">errorLine</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="kt">int</span><span class="o">*</span> <span class="n">errorColumn</span> <span class="o">=</span> <span class="mi">0</span><span class="p"><span class="hl">,</span></span><span class="hl"> </span><span class="kt"><span class="hl">bool</span></span><span class="hl"> </span><span class="n"><span class="hl">stripSpaces</span></span><span class="hl"> </span><span class="o"><span class="hl">=</span></span><span class="hl"> </span><span class="kc"><span class="hl">true</span></span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't think you have to pass the stripSpaces parameter here, it is already a member of that class. You can just access the member inside this function.</pre>
</div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32126#file32126line1288" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">QString KoXmlNodeData::text()</pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">KoXmlNodeData::KoXmlNodeData() : nodeType(KoXmlNode::NullNode),</pre></td>

  </tr>
 </tbody>






 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1241</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">packedDoc</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">nodeIndex</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">loaded</span><span class="p">(</span><span class="kc">false</span><span class="p">)</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1288</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">packedDoc</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">nodeIndex</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">loaded</span><span class="p">(</span><span class="kc">false</span><span class="p">)</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You should initialize the stripSpaces member to true here.</pre>
</div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/101857/diff/3/?file=32126#file32126line2651" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/KoXmlReader.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void  KoXmlDocument::setWhitespaceStripping(bool stripSpaces)</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">2651</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">  <span class="n">d</span><span class="o">-></span><span class="n">stripSpaces</span> <span class="o">=</span> <span class="n">stripSpaces</span><span class="p">;</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Please use 4 spaces for indentation.</pre>
</div>
<br />



<p>- Jan</p>


<br />
<p>On August 18th, 2011, 12:04 a.m., Jaime Torres Amate wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Calligra.</div>
<div>By Jaime Torres Amate.</div>


<p style="color: grey;"><i>Updated Aug. 18, 2011, 12:04 a.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.
</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The 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)
</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>libs/odf/KoXmlReader.h <span style="color: grey">(3f9ddf4)</span></li>

 <li>libs/odf/KoXmlReader.cpp <span style="color: grey">(ad5e9d2)</span></li>

 <li>libs/odf/tests/CMakeLists.txt <span style="color: grey">(ad632c8)</span></li>

 <li>libs/odf/tests/TestXmlReaderWithoutSpaces.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101857/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>