Re: New FAQ: entities and NCRs

On Mon, 04 Jul 2005 12:11:26 +0900, Chris Lilley <chris@w3.org> wrote:

> On Monday, July 4, 2005, 5:00:15 AM, Felix wrote:
>
>
> FS> Thanks for the rewording, that's much better! Just an inline comment
> FS> below.
>
>
>>> FS>  but I would like to express that character entities rely
>>> FS>  on the XML DTD mechanism for general entities,
>>> FS>  which is e.g. not available in RELAX NG.
>>>
>>> The DTD mechanism is unaffected by the use of RelaxNG or W3C XML Schema
>>> validation.
>>>
>
> FS> It is unaffected, but I wanted to make a different point: If people
> FS> define their markup language with RelaxNG, they need the DTD
> FS> mechanism in addition.
>
> If they want to use entities.
>
> FS>  Not only the external DTD subset, but also
> FS> the internal DTD subset for character entity declaration might be
> FS> applicable if you use ONLY an RelaxNG processor.
>
> I don't follow. Can you give an example of how one might use a RelaxNG
> processor without using an XML parser?
>
> FS> You'll need an XML DTD processor which expands the entity references
> FS> before RelaxNG validation.
>
> Parsing XML requires an XML parser, which is required to expand entities
> defined in the internal DTD subset. The infoset thus produced may then be
> passed to a RelaxNG processor. There is no such thing as an "XML DTD
> processor" separate from an XML parser.
>
> Perhaps you are confusing  parsing and DTD validation?

Maybe. Do you need an XML parser to produce the infoset on which RelaxNG  
validation takes place? If the answer is yes, then I'm wrong and there is  
no problem. The RelaxNG spec for DTD compatibility [1] doesn't talk about  
that, but just says something like "We don't handle entity declarations":

"This specification does not provide any support for features of XML 1.0  
DTDs, such as entity declarations, that cannot be cleanly separated from  
validation."

-- Felix

[1] http://relaxng.org/compatibility-20011203.html

Received on Monday, 4 July 2005 04:17:02 UTC