>From XHTML 2's standpoint, all you need is the URI for your roles. If that's
backed up with some RDFS/OWL statements that tell you more about it, that's
a great bonus, and it's a consequence of XHTML 2 getting it's relationship
to RDF sorted out. But it is still external to XHTML 2.
Misha and the IPTC's interest though is in putting subject codes in the form
of QNames into the object part of the statement, not the predicate part. So
whereas we can easily do this:
we unfortunately have to do this:
<link rel="dc:subject" href="http://codes.com#Chess
In other words you have URIs in one place and QNames in another.
(Note that if we're really committed to using DC in XHTML 2, then we don't
need to invent iptc:subject. ;) )
FINDING A SOLUTION
I don't think the solution is particularly difficult, but those interested
in the discussion should be aware that it is also not completely
For example, the most likely solution would just involve adding a @resource
attribute (or some other name) to be used with @property:
<meta property="dc:subject" resource="codes:Chess" />
It could be used with @rel/@rev instead, but if we keep it with @property
then we have effectively compartmentalised the attributes that concern
'real' linking from those that are about metadata.
However, the moment we introduce this, we get the @about attribute shouting
and waving and saying "I want to be a QName, too". This is required, because
otherwise you can't make statements about the objects you have used in your
other statements, unless you once again use two different syntaxes.
We therefore additionally need to introduce a QName attribute for the
subject position. Since there is no obvious name for this attribute, perhaps
we should reconsider @resource, and call all of the QName versions of our
attributes by the same name as their corresponding attribute but with a 'q'
prefix. This would give us @qabout for the subject, and @qhref for the
But then to be consistent, @rel, @rev, @role and @property should really be
called @qrel, @qrev, @qrole and @qproperty. @rel, @rev, @role and @property
could be retained, but they must now contain URIs instead of QNames. We
therefore end up with:
Subject: qabout about
Predicate: qrel rel
Object: qhref href
(Note that @role is a special type of object identifier where the predicate
is always <http://www.w3.org/2004/06/xhtml2/role
I don't think that using two attributes to represent the same
concept--differing only by syntax--is great.
Personally I would prefer to see a syntax for URIs that copes with both
QNames and URIs in the same attribute--it's what I'd hoped when I first
started work on RDF/A, and is in effect what N3 does. Then it ceases to be
the responsibility of the mark-up, and moves to the realm of the attribute
> Subject: Re: DC in XHTML2