From 9b6011c4787f17abe19cf3ea3dcae813cce86bd6 Mon Sep 17 00:00:00 2001 From: "Lee Thomason (grinliz)" Date: Sun, 9 Sep 2012 19:12:06 -0700 Subject: [PATCH] working out whitespace notes --- readme.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/readme.md b/readme.md index 32f25ce..e38161a 100644 --- a/readme.md +++ b/readme.md @@ -104,10 +104,12 @@ by the Document. When the Document is deleted, so are all the nodes it contains. ### White Space +#### Whitespace Preservation (default) + Microsoft has an excellent article on white space: http://msdn.microsoft.com/en-us/library/ms256097.aspx By default, TinyXML-2 preserves white space in a (hopefully) sane way that is almost complient with the -spec.(TinyXML-1 used a completely outdated model.) +spec. (TinyXML-1 used a completely different model, much more similar to 'collapse', below.) As a first step, all newlines / carriage-returns / line-feeds are normalized to a line-feed character, as required by the XML spec. @@ -136,17 +138,18 @@ valuable. TinyXML-2 sees these as the same XML: #### Whitespace Collapse -For some applications, it is preferable to collapse whitespace. TinyXML-2 -supports this with the 'whitespace' parameter to the XMLDocument constructor. +For some applications, it is preferable to collapse whitespace. Collapsing +whitespace gives you "HTML-like" behavior, which is sometimes more suitable +for hand typed documents. + +TinyXML-2 supports this with the 'whitespace' parameter to the XMLDocument constructor. (The default is to preserve whitespace, as described above.) However, you may also use COLLAPSE_WHITESPACE, which will: - * Remove leading and trailing whitespace - * Convert newlines and line-feeds into a space character - * Collapse a run of any number of space characters into a single space character - -This can be useful for text documents stored in XML. +* Remove leading and trailing whitespace +* Convert newlines and line-feeds into a space character +* Collapse a run of any number of space characters into a single space character Note that (currently) there is a performance impact for using COLLAPSE_WHITESPACE. It essentially causes the XML to be parsed twice.