Re: On what it means for a spec to be "normative" (re HTML5 & normative language spec)

Le 12 juin 2011 à 17:30, Larry Masinter a écrit :
> However, specifically, the TAG has asked the HTML working group to produce a normative HTML language reference,

This is a good practice only in the QA Framework, for the simple reason that a formal language (such as a schema language for example) doesn't necessary address all use cases.

    Good Practice 11: Use formal languages when possible.

    What does it mean? 
    If an existing formal language (e.g. DTD, XML
    Schema, …) is expressive enough to describe the
    technical requirements of the specification, use it,
    and when the English prose and the formal language
    overlap, make it clear which one takes precedence in
    case of discrepancy. Taking such a position doesn't
    relieve the Working Group from dealing with any
    discrepancies as errata as defined in the W3C
    Process Document [PROCESS-DOC].

    (real all the prose of this section)

    — http://www.w3.org/TR/qaframe-spec/#formal-language-gp

The HTML5 Specification is quite clear in its Conformance definition.

    2.2 Conformance requirements

    All diagrams, examples, and notes in this specification
    are non-normative, as are all sections explicitly marked
    non-normative. Everything else in this specification is
    normative.

    The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD",
    "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
    the normative parts of this document are to be
    interpreted as described in RFC2119. For readability,
    these words do not appear in all uppercase letters in
    this specification. [RFC2119]

    Requirements phrased in the imperative as part of
    algorithms (such as "strip any leading space characters"
    or "return false and abort these steps") are to be
    interpreted with the meaning of the key word ("must",
    "should", "may", etc) used in introducing the algorithm.

    Conformance requirements phrased as algorithms or
    specific steps may be implemented in any manner, so long
    as the end result is equivalent. (In particular, the
    algorithms defined in this specification are intended to
    be easy to follow, and not intended to be performant.)

    — http://www.w3.org/TR/html5/infrastructure.html#conformance-requirements



# Further reading

On schema quality and schema limitations Bjoern Hoehrmann
http://lists.w3.org/Archives/Public/www-qa/2004Apr/thread.html#msg6

Question of Meaning
http://tools.ietf.org/html/rfc3930#section-2.2

Guidelines for the Use of Formal Languages in IETF Specifications
http://www.ietf.org/iesg/statement/pseudocode-guidelines.html



-- 
Karl Dubost - http://dev.opera.com/
Developer Relations & Tools, Opera Software

Received on Sunday, 12 June 2011 22:33:22 UTC