Re: Publishing a new draft (HTML5+RDFa)

Thank you very much Maciej! This was the sort of answer I was hoping for
(and indeed something that earns to be called an answer ;).

Cheers,
      Michael

-- 
Dr. Michael Hausenblas
LiDRC - Linked Data Research Centre
DERI - Digital Enterprise Research Institute
NUIG - National University of Ireland, Galway
Ireland, Europe
Tel. +353 91 495730
http://linkeddata.deri.ie/
http://sw-app.org/about.html



> From: Maciej Stachowiak <mjs@apple.com>
> Date: Fri, 31 Jul 2009 02:44:35 -0700
> To: Michael Hausenblas <michael.hausenblas@deri.org>
> Cc: Ian Hickson <ian@hixie.ch>, Manu Sporny <msporny@digitalbazaar.com>, HTML
> WG <public-html@w3.org>, RDFa TF list <public-rdf-in-xhtml-tf@w3.org>
> Subject: Re: Publishing a new draft (HTML5+RDFa)
> 
> 
> On Jul 31, 2009, at 1:59 AM, Michael Hausenblas wrote:
> 
>> Ian,
>> 
>>>>> For example, the use of prefixes
>>>> 
>>>> If I understand you correctly, the use of prefixes is a "personal
>>>> preferences based on design philosophy" disagreement that you have
>>>> as
>>>> you have yet to produce a technical problem with the use of
>>>> prefixes.
>>>> How does that feature break UAs?
>>> 
>>> I don't understand what you mean by "break UAs".
>>> 
>>> Prefixes are widely documented to be an antipattern in language
>>> design.
>>> For example, see this e-mail:
>>> 
>>>   http://lists.w3.org/Archives/Member/w3c-archive/2009Jul/0125.html
>>> 
>>> ...where I give a quite detailed analysis of why prefixes are a
>>> feature of
>>> poor language design.
>> 
>> With my RDFa TF and DERI AC Rep hat off I must say I don't
>> understand this.
>> I indeed took a look at the provided references (interesting) but
>> fail to
>> see the deeper problem.
>> 
>> Let me step back.
>> 
>> I'm not talking about prefixes/XMLNS now, but about namespaces in
>> the sense
>> of [1]. In my understanding *every* 'decentralised' language (be it a
>> programming language such as Java or a markup language such as XML-
>> based
>> things) needs a mechanism to unambiguously assign global names to
>> locally
>> defined items. This is the context necessary to deal with the
>> decentralised
>> aspect: everyone's free to come up with a 'System' class, e.g., in
>> Java -
>> and you put it in your package, say. org.deri.commons.System, and
>> hence both
>> machines and humans know, which System class you mean. Same holds
>> true for
>> XML, RDF, etc. -  this is IMO not poor language design, this is very
>> clever.
> 
> The problem is not namespaces as such, but prefixes. Java doesn't
> require you to make an alias for a namespace identifier (or even allow
> this as far as I know). You can use either a fully qualified
> identifier or import a namespace wholesale, with file-wide scope.
> 
> The common mistake that both content producers and content consumers
> make is to assume the namespace *prefix* rather than the namespace
> *URI* is what carries semantic meaning. This idea may seem simple to
> an expert, but even intelligent people get hopelessly confused about
> this.
> 
> Furthermore, prefixes have a hierarchical scope rather than document-
> wide or universal. That means snippets of markup can silently change
> meaning when moved, not just from document to document, but even from
> one part of the document to another. CURIEs are particularly bad,
> because they use prefixes in attribute values, which means that even
> using the proper DOM APIs can't protect you from the hazards of moving
> content from one place to another in the document. For attributes or
> markup, at least using DOM APIs will push you to get the right
> namespace URI.
> 
> This kind of hazard can be mitigated by a convention of always using
> the same prefix for any given namespace - which seems to be the de
> facto convention that usually evolves for popular namespaces. But this
> seems to miss the point of namespaces - it fails to provide actual
> decentralized extensibility, since there is no control over the prefix
> namespace, yet at the same time it seems to show decentralized
> namespace management is not really necessary, since in practice people
> manage to avoid prefix collisions and indeed have to, to avoid
> hopeless confusion.
> 
> Prefixes are there to work around the deficiency of unwieldy unique
> identifiers for namespaces. Clearly it would be cruel to force authors
> to type (or read!) "http://www.w3.org/1999/xhtml/" over and over,
> instead of just once per document. But a simpler DNS-based convention,
> plus a managed registry for prefixes that name well-known
> vocabularies, would have solved the problem. That way, authors or
> content consumers who mistakenly thought "xhtml:" or "foaf:" or "rdf:"
> or "rss:" as a prefix had an intrinsic magic meaning would be right,
> and could happily go about their lives without having to understand
> the subtleties of prefix mapping.
> 
> For Namespaces in XML, that's water under the bridge. It's too widely
> deployed to fix. But for RDFa in text/html, or solutions that are
> similar in spirit, it's not too late to learn and improve.
> 
> Regards,
> Maciej
> 

Received on Friday, 31 July 2009 09:48:57 UTC