Daniel LaLiberte <[log in to unmask]> wrote:
|SGML and HTML have a good grouping construct (i.e. nested content).
|We should use it even if it means changing the HTML spec, which is
|changing anyway.
The idea of establishing a content model for <META> in HTML is a Good Thing.
But it doesn't seem that those interested in this kind of work have very much
pull in the W3C html-erb. I would like to be proven wrong in my pessimism, as
this is the ideal solution to the grouping problem.
If a content model for <META> is not doable, HTML and SGML also allow for the
preservation of the order in which elements occur in a document instance.
While some authoring tools might not preserve the author's intended ordering
in encoding <META> tags into the HTML document instance, broken software is no
reason lose this feature of HTML as an application of SGML in designing a
metadata encoding syntax. Authors who wish to convey this kind of structured
metadata can use tools that faithfully encode their intentions into HTML, and
tool makers will learn that they can't take liberties with their users'
intentions. Cars still have turn signals even though few use them properly.
In a syntax ythat groups by order, elements qualified with type (author.type)
become control elements that define which qualification (in this case type)
apply to subsequent author instances:
<meta name="container" content="dublin core">
<!-- metadata scheme is Dublin Core -->
<META NAME="author.type" CONTENT="name">
<!-- author type in effect becomes "name" -->
<META NAME="author" CONTENT="Jon Knight">
<META NAME="author" CONTENT="Martin Hamilton">
<META NAME="author.type" CONTENT="e-mail">
<!-- author type in effect becomes "e-mail" -->
<META NAME="author" CONTENT="[log in to unmask]">
<META NAME="author" CONTENT="[log in to unmask]">
<META NAME="subject.type" CONTENT="MeSH">
<!-- subject type in effect becomes "MeSH" -->
<META NAME="subject" CONTENT="Nausea -- Etiology">
<META NAME="subject" CONTENT="Meta Analysis">
<META NAME="subject" CONTENT="Giggle Incontinence">
<!-- the following instance overrides subject type -->
<META NAME="subject" CONTENT="(type=LCSH) Consensus -- Etiology">
pro:
no prefix and suffix madness:
- simpler syntax at element level
- non-DC-aware friendly: NAME="author" is understood by more, simpler agents
than NAME="DC.author.1"
con:
eats a few more bytes for the control <META> tags.
bad authoring environments might misorder tags.
|Although grouping is a good idea, the combination of numeric subfields of a
|NAME attribute and parenthesized field qualifiers with labels like "type"
|embedded in the value of the CONTENT attribute ... I'm getting vertigo.
Either a content model for <META> or some kind of positional statefulness is
the compromise required in order to simply and easily shoehorn multidimensional
metadata into a flat <META> tag. But vertigo is a polite word for the feeling
I get when I see element names that begin to look like DNS entries and content
that looks like its trying out for a spot in a LISP program.
-marc
--
|