[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] Blank nodes problem



On Wed, Dec 03, 2003 at 05:45:51PM -0500, Ed Day wrote:
> I am working on a DOM application in which I would like to suppress the generation of blank nodes to make the tree easier to work with.  To do this, I call xmlKeepBlanksDefault(0) which seems to work pretty well.  However, I have recently run across a situation in which I have found that if a line in an XML file does not end with a newline character immediately after the closing '>' character, a blank node is inserted into the DOM tree.  In other words, some extra whitespace is present before the newline. 
> 
> For example (using \n to represent newline), this is OK (no blank nodes):
> 
> <a>\n
>    <b>
> 
> this causes a blank node:
> 
> <a>  \n
>    <b>
> 
> Is this the way it is supposed to work (i.e. is this considered 'significant' whitespace) or is this a bug?

  All data whitespace are significant. Only the application really knows 
what can be discarded. The xmlKeepBlanksDefault() is a trick, a leftover
from legacy APIs, it's bad in a number of ways including the fact that
it uses a global variable for changing the library behaviour.
  I don't think it can be considered a bug, the behaviour can't really
be rationalized (people have tried historically and failed), with or
without xmlKeepBlanksDefault(0) some processing and checking is expected
at your level.

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]