W3C home > Mailing lists > Public > www-tag@w3.org > September 2009

On BNF and other formal notations in the HTML 5 spec [... TAG Review of HTML 5]

From: Dan Connolly <connolly@w3.org>
Date: Thu, 03 Sep 2009 10:12:21 -0500
To: ashok.malhotra@oracle.com
Cc: noah_mendelsohn@us.ibm.com, www-tag@w3.org
Message-Id: <1251990741.22683.10450.camel@pav.lan>
On Wed, 2009-09-02 at 19:39 -0700, ashok malhotra wrote:
> I did some of my homework re HTML5.  I had some comments and questions 
> on section 2.4
> Section 2.4 describes several datatypes.  The syntax for these datatypes 
> is described informally.
> Q1.  Why not use BNF to describe the syntax?

Editorial style. I don't like the aversion to formalisms, but
he seems to satisfy at least some large part of the readership
without using them, and noone has supplied a combination
of BNF and error handling rules that would serve in place
of the prose he uses.

I happened to discuss this with him even before
the current HTML WG started:

On Wed, 22 Feb 2006, Dan Connolly wrote:
> On Mon, 2006-01-09 at 07:05 +0000, Ian Hickson wrote:
> [...]
> > Personally I would discourage the use of BNF, however, as it makes it very 
> > difficult to define error handling rules, and specifications often forget 
> > to define how to go from the parsed tree to the semantics that the 
> > specification defines, leaving it up to UA implementors to work out the 
> > implied mapping.
> Defining error handling rules is tricky, no doubt. But I wonder why
> you say that BNF makes it more so. What do you prefer?


 -- http://lists.w3.org/Archives/Public/www-qa/2006Feb/0014.html

A similar argument argues against a schema for the language:

"The experience with HTML 4 suggests that  
designating a normative schema causes people to use it and to ignore  
the machine-checkable conformance criteria that the schema does not  
embody. To avoid that kind of situation, it would be better not to  
designate a normative schema and instead consider schemata  
implementation details just like one would consider particular lines  
of C++ implementation details."

-- Henri Sivonen 23 Mar 2007

Dan Connolly, W3C http://www.w3.org/People/Connolly/
gpg D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E
Received on Thursday, 3 September 2009 15:12:31 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:56:30 UTC