Not an issue. XHTML <div> may contain text (i.e. they have mixed content) and have no xml:space="preserve" attribute ==> XXE may do whatever it wants with the whitespace contained in such elements.
Daniel Dekany wrote: > Here is the problematic example (from the attached > ws-between-blocks-test-fails.html): > > ... > <body> > <div> > <p>Para 1</p> > <p>Para 2</p> > <p>Para 3</p> > </div> > </body> > ... > > At least with the default XHTML CSS, between each p element a text > node will be displayed that contains a space (visually a space). But > of course the page should look the same as without that div (the > attached ws-between-blocks-test-ok.html), or as with the div but > without the whitespaces between the the p-s: > > ... > <body> > <div> > <p>Para 1</p><p>Para 2</p><p>Para 3</p> > </div> > </body> > ... > > If I create and modify the XML document exclusively with XXE, this > problem doesn't arise, as when I put that tree of p-s into a div, XXE > converts it to this lastly shown form (i.e. not linebreak between > p-s). But if the XML was not created exclusively with XXE... And it's > indeed an important point of XML, that you can use various tools to > deal with it. > > I guess that this in principle is a CSS implementation problem, i.e. > whitespace between *CSS* blocks shouldn't have visual effect. However, > maybe for this thing to work correctly in XXE, it's rather that XXE > should know if whitespace between which *elements* are irrelevant > according the XML schema defined meaning of the elements. So the > white-spaces just wouldn't reach the CSS implementation, they would be > deleted right when XXE loads the XML. > > So, what's about this kind of issue? It's really a problem with > schemas that allow "mixed content" inside certain block elements. > XHTML is a prime example of a such schema, because putting parts of a > document inside div-s that has an id (or class) is a quite common > practice. And unless you have added the div with XXE, you get a quite > messy view if you open it with XXE. > > > > ------------------------------------------------------------------------ > > Para 1 > > Para 2 > > Para 3 > > > ------------------------------------------------------------------------ > > Para 1 > > Para 2 > > Para 3 > > > ------------------------------------------------------------------------ >

