[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is whitespace within general entities ignorable?
- From: "Christopher R. Maden" <crism@maden.org>
- To: xml-dev@lists.xml.org
- Date: Tue, 27 Feb 2001 21:20:43 -0800
At 03:40 27-02-2001, Rob Lugt wrote:
>Back to basics time again. I'm looking for clarification within the XML 1.0
>recommendation whether or not white space within GEs should be treated as
>ignorable or significant.
>
>Section 2.10 mentions the distinction between significant and insignificant
>white space but doesn't give a definition. The validity constraint in
>Section 3(2) for element content talks about the white space surrounding
>child elements having to match the non terminal S[3] - but is this after
>entity substitution has been performed?
>
>Time for an example. There is an element <test> which has element-only
>content. In the document the general entity &entws; is referenced within
>the <test> element. Given that &entws; contains only white space, do you
>think
>that a validating processor should complain or not? And if the processor
>lets it through, should the white space
>be reported as ignorable or not?
>
><?xml version = "1.0"?>
><!DOCTYPE test [
><!ELEMENT test (child)*>
><!ENTITY entws " ">
>]>
><test>
> &entws;
></test>
I believe your example is legal, to contradict John Cowan. ("Ask two
rabbis, get three answers.") He mentions that a CDATA marked section
containing only white space is not legal, and that's explicitly true per
VC: Element Valid, item number 2. However, that section does not say that
entities containing whitespace don't count.
See, however, clause 4.4, which indicates that your reference is
"Included", and 4.4.2, which indicates that an Included entity "is
retrieved and processed, in place of the reference itself, as though it
were part of the document at the location the reference was recognized." I
believe that your entity reference is recognized, its whitespace
substituted as though it had occurred there, and then the content model
evaluated per VC: Element Valid. It passes.
-Chris
--
Christopher R. Maden, XML Consultant
<URL: http://crism.maden.org/consulting/ >