On 01/06/2006 14:26, VK wrote:
Michael Winter wrote:
[VK's admission to lacking XML knowledge]
Full ACK. Any relevance to this particular thread?
This thread is a discussion of an application of XML: XHTML. If you
don't understand XML properly, the OP should be aware of your propensity
for error.
[snip]
The standalone document declaration is irrelevant here.
Either you did not read 2.9 or it escaped you completely. You may
want to try again.
That's quite funny, considering that it was I that explained to you what
the standalone document declaration meant.
I wrote at the time:
The standalone document declaration doesn't instruct a
validating processor to 'do' anything. It is a requirement of
validating processors themselves to process the DTD and any
referenced external entities.
The standalone document declaration does have an impact on
well-formedness (see Entity Declared in section 4.1 [p.33]),
and on non-validating processor when reading parameter
entities.
-- oY************* *****@text.news .blueyonder.co. uk
As far as the specification reference is concerned, I meant the
following paragraph in particular:
Note that non-validating processors are not obligated to to
read and process entity declarations occurring in parameter
entities or in the external subset; for such documents, the
rule that an entity must be declared is a well-formedness
constraint only if standalone='yes '.
-- 4.1 Character and Entity References, XML 1.0, 3rd ed.
As the document under discussion is not a standalone document and we are
dealing with non-validating processors, it is not a well-formedness
error to encounter a reference to an undeclared entity (I've explained
all of this before). That Firefox and Opera do report errors is
complicated in part[1] by the presence of a public identifier; this
identifier will match entries in their internal catalogues, resulting in
the definition of entities common to XHTML (á, and the like). The
external subset itself is ignored.
<supposition>Th e public identifier, and the subsequent use of internal
definitions, produces behaviour somewhat like the processing of an
internal subset. As the TestText entity isn't defined in that internal
DTD, the later reference is considered an error.</>
If validation against the XHTML Basic DTD is desired, then perhaps the
internal subset should define the TestText entity:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd" [
<!ENTITY TestText "This is some test text">
]>
Your opinion on the matter is irrelevant. The required behaviour is
what it is. Validating processors must read and process the
complete DTD, and any external parsed entities. Non-validating
processors are only required to process the internal subset (if
present) up to the first unread parameter entity (except when
processing a standalone document).
b.s. - and a plain one.
If that's your opinion, then why don't you suggest to the W3C that the
next major version of XML makes processing external markup declarations
a requirement? If they say that doing so would be a bad idea, ask them
why they think so. Certainly stop bitching about it here. It won't
change anything, I don't care what you think about the W3C, and I doubt
anyone else does, either.
[snip]
Mike
[1] ...complicated in part
Firefox features a bug that causes a well-formedness error to
be raised for non-standalone documents containing undeclared
entities. Opera acts correctly in this instance by bypassing
the reference. Remove the public identifier and compare the
behaviour of both browsers.
--
Michael Winter
Prefix subject with [News] before replying by e-mail.