Profiles attribute: A format to be defined

Dan and Dom,

thanks for this document, it's becoming clearer and it seems to be the 
right way to go.
 Reading of RDF in XHTML.
 http://www.w3.org/2004/01/rdxh/spec


It seems you are struggling with a problem that many people have. How 
to use profile in HTML?

The HTML 4.01 doesn't define it clearly:

http://www.w3.org/TR/html4/struct/global.html#adef-profile

"""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."""

Caveats:
 - One and only one white space between URIs?
 - One or more white spaces between URIs?
 - The first URI is significant: What if I want to use many profiles 
from different places.

Later, in the specification, you have

http://www.w3.org/TR/html4/struct/global.html#profiles


"""
Meta data profiles 
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.
"""


Caveats:
 - known conventions: There's no known conventions. Or at least, there 
are multiple ways to describe profile because nothing mandatory has 
been done on the format that should be at the end of this format. So 
browsers are unlikely to implement anything. It's a big 
interoperability problems, which IMHO has killed profile before to be 
used.



"""
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.
"""


Caveats:
 - only private search engines, where you know exactly the vocabulary.


"""
 •  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.
"""

Comments:
 - yes the format is not defined and it's missing a lot.


Ok, is it all that black. There is still room to define a format that 
is usable by search engine. to grab it.

Though another problem is arising. Namespaces.

You have defined xslt2rdf as the value of the attributes.
 <link rel="xslt2rdf" href="http://www.example.org/xhtml2rdf.xsl" />

But let's say, someone has also a profile on his site with the value 
xslt2rdf which is generic enough. How do I differentiate?

 <head
  profile="http://www.w3.org/2003/11/rdf-in-xhtml
                  htpp://mylocal.example.org/profile">

In both profiles I have xslt2rdf. It becomes impossible to 
differentiate which one to use.

I have thought about it and I was wondering if we could create a kind 
of namespace. If the format of the profile at the end of the URI is a 
well known format, it means that someone could declare in a specific 
markup the namespace, why not XHTML for example.

=====================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://www.w3.org/2004/01/profile-format>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>Untitled</title>
</head>
<body>

<h1>Profile cow</h1>

<h2><a id="namespace" rel="namespace">moo</a></h2>

<dl>
 <dt><a rel="term">barn</a></dt>
 <dd><a rel="definition">This is the place where cows are 
living</a></dd>
 <dt><a rel="term">milk</a></dt>
 <dd><a rel="definition">This is what a cow is producing</a></dd>
</dl>
</body>
</html>
===================

so let's say I have a document.

 <head
  profile="http://www.w3.org/2003/11/rdf-in-xhtml
                  htpp://mylocal.example.org/profile">

and in both profile you have barn defined. the first one as a "w3c" 
namespace and the second one as "moo"


so I can write
 <a rel="moo:barn" href="http://www.la-grange.net/">La Grange</a>
 <a rel="w3c:barn" href="http://www.example/barn/">Barn</a>


The value of rel is defined by:

<!ENTITY % LinkTypes "CDATA"
     -- space-separated list of link types
     -->

So it seems perfectly legal because CDATA is defined as.

 •  CDATA is a sequence of characters from the document character set 
and may include character entities. User agents should interpret 
attribute values as follows:
 ◦  Replace character entities with characters,
 ◦  Ignore line feeds,
 ◦  Replace each carriage return or tab with a single space.


Tantek Çelik has tried to put a format for Profiles, XHTML Meta Data 
Profiles XMDP [1], but not in terms of consensus, he has created it 
without consultation. (with a trademark :/) Though It's a good move 
toward something that *could be* usable, but is not now, because it has 
the same issues I talked before. These issues have to be solved.

[1] http://gmpg.org/xmdp/


Sorry to have been long, but it shows a few issues of the "not defined" 
profiles.


 

-- 
Karl Dubost - http://www.w3.org/People/karl/
W3C Conformance Manager
*** Be Strict To Be Cool ***

Received on Thursday, 15 January 2004 19:58:09 UTC