W3C home > Mailing lists > Public > www-tag@w3.org > June 2006

Re: CURIEs: A proposal

From: Mark Birbeck <mark.birbeck@x-port.net>
Date: Fri, 9 Jun 2006 10:56:17 +0100
Message-ID: <640dd5060606090256i50c7ba5dt4f94955265ee5b73@mail.gmail.com>
To: www-tag@w3.org, public-rdf-in-xhtml-tf@w3.org, newsml-2@yahoogroups.com

Dom,

> Just FWIW, it actually isn't; you can escape the colon in CSS and get
> whet you want, i.e.
>    span.vCard\:Country { color: blue;}
> would do the right thing (at least in non buggy implementations of CSS).

Exactly...

So there is no problem in either HTML or CSS with using the prefixed
syntax in @rel, @rev and @class since:

 * the attributes just take a list of strings, so they will validate;
 * CSS style rules can escape the ':' character.

Of course, at this level we don't have a truly namespace-aware
document, we just have strings of text with colons in. Whether you can
take the next step and make the prefixes actually mean something to a
parser looking for RDF (using normal XML namespacing techniques)
depends on what you are validating your documents against.

This is because, as some have pointed out in other discussions, adding
namespace prefixes can mean your document "won't validate". However,
it should be said that this depends on what exactly it is that you are
validating against. If you are using the W3C validation service which
use DTDs, then in fact lots of perfectly valid XHTML documents won't
validate, not just those with namespaces in. But if you use XHTML
*schemas* to validate then declaring namespaces is fine.

I would recommend this service:

  <http://schneegans.de/sv/>

if people want to start validating their XHTML documents against XML schemas.

Note by the way that it's only the parser looking for RDF that needs
to know the actual namespaces, as far as browsers or validators are
concerned, they are indifferent to the contents of @rel, @rev and
@class.

So, to summarise the use of the metadata hooks in XHTML for advanced metadata:

 * if you want to be precise, use prefixed names in @rel, @rev and @class;
 * add the corresponding namespace declarations;
 * validate against schemas and not DTDs.

This means that you can cut and paste the following into your XHTML
document, and be fully compliant:

  This document is licensed under a
  <a
    rel="cc:license"
    href="http://creativecommons.org/licenses/by-nc/2.5/"
    xmlns:cc="http://web.resource.org/cc/
  >
    Creative Commons Non-Commercial License
  </a>.

Regards,

Mark


Mark Birbeck
CEO
x-port.net Ltd.

e: Mark.Birbeck@x-port.net
t: +44 (0) 20 7689 9232
w: http://www.formsPlayer.com/
b: http://internet-apps.blogspot.com/

Download our XForms processor from
http://www.formsPlayer.com/
Received on Friday, 9 June 2006 09:56:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:47:40 GMT