Re: Conformance section

Steven Pemberton <steven.pemberton@cwi.nl> writes:

> In the final sweep to a release version, I would like us to resolve
> these questions in the conformance section:
> 1.
>
> I propose deleting one of these rules, since I believe they are equivalent:
>
> * All rule names that are serialised must match the requirements for
>   an XML name.
> * All nonterminal names which are marked to be serialised must match
>   the requirements of an XML name.

Agreed. The first is clearer to me on casual inspection, and simpler
grammatically, so I’d keep that one if I was editing.

> 2.
>
> I propose deleting the second rule here, since I believe the first one
> covers it:
>
> * For every nonterminal name occurring on the right-hand side of a
>   rule, exactly one rule defining that name must exist in the grammar.
> * The grammar must not contain more than one rule defining any given
> name.

Agreed.

> 3.
>
> For the following rule, 
>  A processor conforms to this specification if it accepts
>  grammars in ixml form and uses those grammars to parse input
>  and produce XML documents ...  A conforming processor must not
>  accept non-conforming grammars.
>
> I propose the wording "A conforming processor must accept grammars in
> ixml form, and use them to parse input and produce XML documents ... "

That’s fine by me.

> An option would be "A conforming processor must accept grammars in
> ixml form, and should accept them in XML form, and use them ..." 
> Do we have an opinion?

Not a strong one. Anyone implementing this is going to be interested in
XML, I assume, so they’re likely to be motivated to support the XML
form. On that basis, I have neither an objection to “should” nor do I
feel it’s really necessary.

> 4.
>
> I have a problem with the third requirement in this list:
>
> For any conforming grammar and any input, processors must: * parse the
> input using the grammar specified, and produce an XML document
> representing a parse tree for the input, or
> * establish that the input is not described by the grammar, and
>   produce an XML document reporting that fact, or
> * fail for whatever reason (e.g. because available resource limits
>   were exceeded).
>
> since it allows a processor that always fails to be conformant.
>
> I'm in favour of dropping the third requirement.

I think that’s fine. Programs fail if they run out of memory or attempt
to write to read-only files, or for any number of reasons entirely
outside the control of the spec and often the implementor. I’m happy to
let that be a quality of implementation issue.

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Friday, 3 December 2021 10:59:48 UTC