This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 11259 - Use "MUST" consistently to express normative requirements
Summary: Use "MUST" consistently to express normative requirements
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML/XHTML Compatibility Authoring Guide (ed: Eliot Graff) (show other bugs)
Version: unspecified
Hardware: PC All
: P2 minor
Target Milestone: ---
Assignee: Eliot Graff
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-08 11:26 UTC by James Clark
Modified: 2011-08-04 05:07 UTC (History)
5 users (show)

See Also:


Attachments

Description James Clark 2010-11-08 11:26:52 UTC
The current WD does not use consistent language to express normative requirements.

In many places it says "Polygot markup uses" or "Polygot markup does not use" to convey normative requirements.  In other places, it says "MUST" or "MUST NOT".  I suggest it use "MUST" and "MUST NOT" throughout.
Comment 1 Jonas Sicking (Not reading bugmail) 2010-11-08 11:55:18 UTC
One of the outstanding issues on this spec is if it's normative or not at all. Seems like that has to be resolved first.
Comment 2 Eliot Graff 2010-12-08 19:05:21 UTC
"Polyglot Markup: HTML-Compatible XHTML Documents" is a normative specification that defines and prescribes behavior for "polyglot markup," as defined within that specification. However, because there are no consequences to user agents, only to authors (not having the same DOM and not creating content that validates as either HTML5 or XML), I have consciously removed any RFC 2119 language, UNLESS it is required by an original normative specification. 

I believe that the spec is now consistent throughout in this use.

Thanks for your help and your patience.

Eliot
Comment 3 James Clark 2010-12-10 02:01:52 UTC
Hmm. That doesn't altogether make sense to me.

If Polyglot Markup is a normative spec, then it is important that it carefully defines conformance.  For this sort of spec, the possibilities are:

1. Conformance for documents
2. Conformance for software:
(a) Software that produces documents
(b) Software that consumes documents

The fact that there are no consequences for user agents means that 2(b) is not really meaningful here. But I think 1 and 2(a) are.

You can define 2(a) in terms of 1 (producing software is conforming if it produces conforming documents).

I believe the right approach is to use MUST whenever it is a constraint that conforming documents must obey.

Perhaps I should open a separate bug for this.
Comment 4 Eliot Graff 2010-12-16 21:11:22 UTC
(In reply to comment #3)
> Hmm. That doesn't altogether make sense to me.
> 
> If Polyglot Markup is a normative spec, then it is important that it carefully
> defines conformance.  For this sort of spec, the possibilities are:
> 
> 1. Conformance for documents
> 2. Conformance for software:
> (a) Software that produces documents
> (b) Software that consumes documents
> 
> The fact that there are no consequences for user agents means that 2(b) is not
> really meaningful here. But I think 1 and 2(a) are.
> 
> You can define 2(a) in terms of 1 (producing software is conforming if it
> produces conforming documents).
> 
> I believe the right approach is to use MUST whenever it is a constraint that
> conforming documents must obey.
> 
> Perhaps I should open a separate bug for this.

Hi James.

I am going to leave this bug as resolved. As early as last June, the Director has indicated that the use of RFC2116 language is not required for a normative spec of this nature, and, in fact, should be discouraged [1].

]]
In normative text, as this is a specfication of a set of documents, we prefer the "A polyglot document is" to a "A polyglot document MUST be" style, as we are not talking about the behaviour of software.
[[

Tim's reiterated this as recently as last month, when we talked about this at TPAC.

Thanks for the feedback.

Eliot

[1] http://lists.w3.org/Archives/Public/public-html/2010Jun/0225.html
Comment 5 Michael[tm] Smith 2011-08-04 05:07:04 UTC
mass-move component to LC1
Comment 6 Michael[tm] Smith 2011-08-04 05:07:28 UTC
mass-move component to LC1