Subject: Low-hanging fruit: non-validating parser

From: Tim Bray <[email-masked]>
Date: Tue, 13 Jul 2004 14:52:07 -0700

I'm looking around seeing what we might be able to roll into -01 drafts 
per discussion here.  I think we can update the Format Draft with Rob 
Sayre's language: "Atom documents can be processed by non-validating 
XML processors. An Atom document MUST NOT rely on any behaviors not 
required of such processors."  [But I'd change "document MUST NOT" to 
"software MUST NOT"]. -Tim

---

From: Walter Underwood <[email-masked]>
Date: Tue, 13 Jul 2004 15:17:39 -0700

--On Tuesday, July 13, 2004 2:52 PM -0700 Tim Bray <[email-masked]> wrote:
>
> [But I'd change "document MUST NOT" to "software MUST NOT"]. -Tim

"implementations MUST NOT". I think Bob Wyman could use a hardware
Atom parser.

wunder
--
Walter Underwood
Principal Architect, Verity

---

From: Robert Sayre <[email-masked]>
Date: Tue, 13 Jul 2004 18:34:55 -0400

> "implementations MUST NOT". I think Bob Wyman could use a hardware

Yeah, I like "implementations".

Robert Sayre

---

From: Bjoern Hoehrmann <[email-masked]>
Date: Mon, 19 Jul 2004 11:16:38 +0200

>"software MUST NOT"]. -Tim

Hmm, "An Atom software MUST NOT rely on behaviors not required of such
processors"? That does not make much sense to me. Do you mean, Atom
implementations MUST NOT behave as validating XML 1.0 processors? Or
do you mean that Atom implementations MAY use a validating XML processor
to process Atom documents? It is also not clear what "rely" means, if
I have

  <!DOCTYPE feed [
    <!ENTITY foo SYSTEM "bar">
  ]><feed version="draft-ietf-atompub-format-00.txt: do not deploy"
    xmlns="http://purl.org/atom/ns#draft-ietf-atompub-format-00">
     <title>&foo;</title>
  ...

does that document rely on such behaviors? If yes, is this also true if
the reference to an external parsed entity occurs in the content of an
extension element? Exentsion elements are probably not essential to the
processing of Atom documents, so it would seem that a document using
that would not rely on such behaviors. If that is also not allowed, it
seems that the intent of the statement is, that Atom documents MUST NOT
contain references to external parsed entities and that attributes that
have a default value in the referenced external subset of the document
type declaration must be specified explicitly for the relevant elements.
I am not sure how a document could rely on Validation. So, the change
you suggest seems to yield in very different implications.

---

From: Norman Walsh <[email-masked]>
Date: Mon, 19 Jul 2004 08:17:26 -0400

/ Bjoern Hoehrmann <[email-masked]> was heard to say:
| * Tim Bray wrote:
|>I'm looking around seeing what we might be able to roll into -01 drafts 
|>per discussion here.  I think we can update the Format Draft with Rob 
|>Sayre's language: "Atom documents can be processed by non-validating 
|>XML processors. An Atom document MUST NOT rely on any behaviors not 
|>required of such processors."  [But I'd change "document MUST NOT" to 
|>"software MUST NOT"]. -Tim
|
| Hmm, "An Atom software MUST NOT rely on behaviors not required of such
| processors"? That does not make much sense to me. Do you mean, Atom
| implementations MUST NOT behave as validating XML 1.0 processors? Or

No, I think it just means the spec must not require implementors to
use a validating parser.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <[email-masked]> | Vision is the art of seeing things
http://nwalsh.com/            | invisible.-- Swift

---

From: Robert Sayre <[email-masked]>
Date: Mon, 19 Jul 2004 08:48:08 -0400

Bjoern Hoehrmann wrote:

>to process Atom documents? It is also not clear what "rely" means
>
This language is pretty much copied from the XML 1.0 spec, section 5.2:

"For maximum reliability in interoperating between different XML 
processors, applications which use non-validating processors should not 
rely on any behaviors not required of such processors."

I found it difficult to state more clearly. Feel free to suggest 
alternate wording.

Robert Sayre

---

From: Bjoern Hoehrmann <[email-masked]>
Date: Mon, 19 Jul 2004 15:15:37 +0200

>rely on any behaviors not required of such processors."

You are looking at an outdated revision of the specification, the Third
Edition reads:

[...]
  For maximum reliability in interoperating between different XML
  processors, applications which use non-validating processors SHOULD
  NOT rely on any behaviors not required of such processors.
  Applications which require DTD facilities not related to validation
  (such as the declaration of default attributes and internal entities
  that are or may be specified in external entities) SHOULD use
  validating XML processors.
[...]

It is not clear to me what you have in mind here for Atom documents
and/or Atom implementations. You would copy the text and replace all
instances of "application" with "Atom implementation". I do not know
whether Atom implementations require DTD facilities not related to
validation. They would if Atom documents use DTDs or certain features
from DTDs. If Atom documents are allowed to do that, it would mean
that Atom implementations SHOULD use validating XML processors for
maximum reliability. And if they do not use one, they should not rely
on features optional for non-validating processors. Even then it is
not clear to me what "rely" would mean. So,

>I found it difficult to state more clearly. Feel free to suggest 

since I do not really understand your intent, proposing alternate
wording would be quite difficult for me...