Re: An HTML language specification

Philip TAYLOR (Ret'd) wrote:
> Maciej Stachowiak wrote:
> 
>> HTML5 is indeed defined in prose, unlike many other languages where 
>> important normative requirements are delegated to a DTD or schema.
> 
> Hardly "delegated", Maciej : a DTD or schema is a formal
> language, ideal for (and indeed, intended for) such applications.
> Prose, being natural language, would be considered by
> many to lack the rigour necessary for such a task.

Odd.  I could have sworn that there were people (NOT Maciej, mind you, 
so I'm not sure why you're attacking him on this issue) clamoring for a 
normative natural-language definition of HTML on this list.  They don't 
seem to be happy with the idea of an informative natural-language guide.

That said,

> It may well be beneficial to /supplement/ the DTD or
> schema by prose, to aid its comprehension by those
> unfamiliar with the formal language

In practice, specifications that use a DTD or schema (or any other 
machine-readable syntax description) then use natural language for three 
things:

1)  Informative content, as you describe
2)  Additional normative restrictions that are too complex to express
     in the DTD or schema language involved.
3)  (rarely) Restrictions that need to be subtracted from the ones
     defined in the DTD or schema, but only in conditions
     too complex to describe in the DTD or schema.

Clearly option 2 is preferable to option 3.  ;)  Option 2 is also 
preferable to not having the normative descriptions at all.

And in practice, as an implementor, I've found that one has to read all 
the normative prose very carefully due to item (2) above, so the 
benefits of a machine-readable syntax description are largely lost: just 
because something satisfies the machine-readable description doesn't 
mean it's valid.  At the same time, the readability of prose is also 
lost, of course.  In some ways, a syntax that has a machine-readable 
part but also a natural-language part is harder to understand and 
implement than one that's defined entirely one way or entirely the 
other.  Of course one does have to be very careful with the 
natural-language thing.

-Boris

Received on Friday, 21 November 2008 19:52:49 UTC