- From: Jonas Sicking <sicking@bigfoot.com>
- Date: Thu, 4 May 2000 00:46:12 +0200
- To: <www-style@w3.org>
Ian Graham wrote: > On Tue, 25 Apr 2000, Jonas Sicking wrote: > > <E xml:space="preserve"> </E> > > should NOT qualify as empty since I think that setting xml:space="preserve" > > means that white-space characters should be treated as normal characters. > > When setting "preserve" you have to be extra careful that you don't produce > > any extra whitespace since it will probobly affect the end resault. For > > example, should this really be considered empty? > > <PRE> > > > > > > </PRE> > > > > How does the DOM handle this? When are textnodes created? does xml:space > > affect this? > > > > / Jonas Sicking > > The DOM doesn't say how and when text nodes should be created -- it simply > assumes that they do or don't exist. As far as I know this is the domain > of the overall application, which can choose (if xml:space="default") to > discard white space, if it deems this to be the 'better' choice [1]. This > means that the situation is essentially undetermined unless you explicitly > set xml:space="preserve" in the document. Note that a non-validating > parser will make no assumptions about the value for xml:space unless it is > explicitly set for an element. Notably it is _not_ globally set for the > XHTML 1.0 DTDs (it is set for script, style, and pre elements) [2]. But, a > nonvalidating parser will not know this, and can still do what it wants > ... Thus default can mean either preserve or dont .. which is > somewhat confusing, to say the least... > > For example, the MSXML processor will by default prune text nodes > containing only white space from the DOM tree. Thus the markup <a> </a> > becomes an element node with no text node child. However, the MSXML > processor will _preserve_ this text node if you set a processor parameter > (processorObjName.preserveWhiteSpace = 1 ). I believe it will also > preserve this text node if you explicitly set xml:space="preserve", but > haven't tested this. Nav6, on the other hand, preserves white space by > default. > > But I see the problem you are raising -- that, if I set > xml:space="preserve" then I am really saying that whitespace is real > content, and I don't want my CSS to think it's empty. In that case, it > might be better to change the proposal so that :empty does not match > elements that have xml:space="preserve" and that contain child nodes of > any type. > > Does that seem more reasonable? > > [1] http://www.w3.org/TR/REC-xml.html#sec-white-space > [2] http://www.w3.org/TR/xhtml1/DTD/ (and therein) This seems perfect IMHO : ) / Jonas Sicking
Received on Wednesday, 3 May 2000 18:45:33 UTC