[whatwg] RDFa Features

Manu Sporny msporny at digitalbazaar.com
Thu Aug 28 21:29:30 PDT 2008

Kristof Zelechovski wrote:
>Manu Sporny wrote:
>> 3. We needed a solution that would map cleanly to non-XML family
>>    languages. In hindsight, we should have picked @prefix instead of
>>    @xmlns to define prefixes, but that ended up going through. We're
>>    looking at alternative mechanisms, such as having a @prefix
>>    attribute, to declare prefixes in RDFa 1.1.
> While we are at that, why not resurrect semantic [profile] instead of adding
> syntactic [prefix]?

Here's the definition for @profile from HTML 4.01, it's the same for
XHTML 1.0 and 1.1:

profile = uri [CT]
    This attribute specifies the location of one or more meta data
profiles, separated by white space. For future extensions, user agents
should consider the value to be a list even though this specification
only considers the first URI to be significant. Profiles are discussed
below in the section on meta data.


The profile attribute of the HEAD specifies the location of a meta data
profile. The value of the profile attribute is a URI. User agents may
use this URI in two ways:

    * As a globally unique name. User agents may be able to recognize
the name (without actually retrieving the profile) and perform some
activity based on known conventions for that profile. For instance,
search engines could provide an interface for searching through catalogs
of HTML documents, where these documents all use the same profile for
representing catalog entries.
    * As a link. User agents may dereference the URI and perform some
activity based on the actual definitions within the profile (e.g.,
authorize the usage of the profile within the current HTML document).
This specification does not define formats for profiles.

This example refers to a hypothetical profile that defines useful
properties for document indexing. The properties defined by this profile
-- including "author", "copyright", "keywords", and "date" -- have their
values set by subsequent META declarations.

So, there are several reasons that we didn't use @profile and used
xmlns:PREFIX instead. Even if we don't use xmlns:PREFIX, we should use
@prefix for the following reasons:

1. The contents of @profile is supposed to be used for "known
   conventions to use with the URI specified" or "dereferenced
   and some activity based on the contents of the reference", neither
   of which map cleaning to the concept of prefixes.
2. We need to be able to define prefixes in-line, anywhere in the
   document if needed - @profile does not allow use outside of the
   HEAD element.
3. @profile is used for specifying the location of GRDDL transforms
   and other such instructions currently. In other words, it is
   used for different purposes than specifying prefixes. Re-defining
   it's scope was unnecessary and could break legacy markup.

--  manu

Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: Bitmunk 3.0 Website Launches

More information about the whatwg mailing list