W3C home > Mailing lists > Public > public-html@w3.org > October 2009

Re: Microdata Issues [was Microdata design philosophies]

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Mon, 19 Oct 2009 09:23:49 -0500
Message-ID: <dd0fbad0910190723w1a55135dwafbd99baa0e7c29a@mail.gmail.com>
To: martin@weborganics.co.uk
Cc: Philip Jägenstedt <philipj@opera.com>, Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>, Ian Hickson <ian@hixie.ch>, public-html@w3.org
On Mon, Oct 19, 2009 at 7:13 AM, Martin McEvoy <martin@weborganics.co.uk> wrote:
> You missed the point, How does my parser tell between attribute, is part of
> a vocabulary defined at "itemtype" and which atribute is part of a custom
> vocab made for just my use as useful script or css hooks?
>
> My parser cant of course,  my parser would have to be re-built or modified
> every time someone wants to define a new vocab.

If it's a generic parser, it doesn't.  Generic parsers just grab all
the data regardless.  Generic parsers don't *act* on the data, though
- their only purpose is to scrape data which can then be fed to
specialized programs which *do* understand particular vocabularies and
can ignore pieces of data that don't exist in the vocab.

If it's a vocab-specific parser (say, one that just looks for vcards)
then it knows what the vocabulary looks like, and can ignore incorrect
values up-front.

So, if your parser is a generic parser, it never has to care about any
particular vocabulary.  If it's a vocab-specific parser that actually
knows the data model for certain vocabularies, then of course it will
have to be modified if someone changes those vocabularies or you
decide you want to start recognizing a new one.

I'm confused about your assertion about "attribute is part of a custom
vocab made for just my use as useful script or css hooks", though.
Microdata is *not* very useful as a script or CSS hook.  Use classes,
or if you must, data-* attributes.  Both of them are much easier for
scripts and CSS to work with.  If you expect to use Microdata for this
purpose, then you're already somewhat off-track.

> Microdata gets around all this by saying this....
>
> "An item can only have one type. The type gives the context for the
> properties."
> http://dev.w3.org/html5/spec/Overview.html#typed-items
>
> The above suggest that I can only define *one* vocab?  or does is? again not
> very clear.

I'm not sure what you mean, or how you are assuming this.  A
particular item (that is, a blob of microdata contained in an HTML
element with the @itemscope attribute), can only have a single type.
Another blob of microdata elsewhere on the page can have a different
type.  Heck, a blob of microdata can contain itemprops which are,
themselves, independent blobs of microdata with their own type.  For
example, a book review vocabulary may have a "reviewer" property which
is a vcard.  The overall book review would be one @itemscope with a
particular @itemtype (the name of the book-review vocabulary), and it
would have an @itemprop which is also an @itemscope with an @itemtype
containing the name of the vcard vocabulary.

> I will give you all some peace now, this conversation is too long and not
> very easy to keep track of because of all the "round the houses" answers. I
> dont like microdata, its an ugly syntax that doesn't answer any problems for
> either the microformats community or the RDFa community. If browser vendors
> want to Implement it, go ahead, I just think it a little premature, when you
> could add some real value to your browsers implementing Microformats or RDFa
> or both.

Unfortunately, I continue to believe that you don't understand the
microdata syntax at all, or how the overall system is supposed to work
(it's almost identical to RDFa).  Until you can demonstrate even a
cursory understanding of the microdata data model or the microdata
syntax, your contribution to any discussion around it is worth very
little.

~TJ
Received on Monday, 19 October 2009 14:24:43 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:39:09 UTC