- From: Johannes Koch <johannes.koch@fit.fraunhofer.de>
- Date: Mon, 19 Mar 2007 23:46:37 +0100
- Cc: public-wai-ert@w3.org
Shadi Abou-Zahra schrieb:
> Johannes Koch wrote:
>> <http:MessageHeader rdf:ID="mh1">
>> <http:fieldName rdf:resource="&http;accept-language"/>
>> <http:fieldValue>en</http:fieldValue>
>> </http:MessageHeader>
>
> ...and where a header is not listed in HTTP-in-RDF, for example the
> header "foo:bar", it could look like this:
>
> <http:MessageHeader rdf:ID="mh13">
> <http:fieldName>foo</http:fieldName>
> <http:fieldValue>bar</http:fieldValue>
> </http:MessageHeader>
>
> Right?
Yep
>> <http:MessageHeader rdf:ID="mh2">
>> <http:fieldName rdf:resource="&http;accept"/>
>> <http:fieldValue rdf:parseType="Collection">
>> <foo:ListItem>
>> <foo:mimeType>application/xhtml+xml</foo:mimeType>
>> <foo:params>q=1.0</foo:params>
>> </foo:ListItem>
>> <foo:ListItem>
>> <foo:mimeType>text/html</foo:mimeType>
>> <foo:params rdf:parseType="Collection">
>> <foo:Param>
>> <foo:paramName>q</foo:paramName>
>> <foo:paramValue>0.9</foo:paramValue>
>> </foo:Param>
>> <foo:Param>
>> <foo:paramName>bar</foo:paramName>
>> <foo:paramValue>blah</foo:paramValue>
>> </foo:Param>
>> </foo:params>
>> </foo:ListItem>
>> </http:fieldValue>
>> </http:MessageHeader>
>
> What namespace is "foo"? I think if we go down that road than at least
> Params/Param should be in "http" namespace.
I originally thought foo is the prefix for Jo's very own namespace URI
:-) But we could put all this stuff into the http namespace.
> I'm concerned about trying "http:mimeType", we would need to add many
> such named properties.
Yes, sorry, this was meant to be just an example.
> Is there a more systematic pattern we can
> implement like the fieldName/fieldValue approach?
Jakarta Commons HttpClient models a header like this:
<http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/Header.html>:
Header
|- name
|- headerValue
<http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/HeaderElement.html>:
headerValue can be parsed into an array of HeaderElement
header = [ element ] *( "," [ element ] )
element = name [ "=" [ value ] ] *( ";" [ param ] )
param = name [ "=" [ value ] ]
So for
Accept: application/xhtml+xml;q=1.0, text/html;q=0.9
we could have
<http:MessageHeader>
<http:fieldName rdf:resource="&http;accept"/>
<http:fieldValue rdf:parseType="Collection">
<http:HeaderElement>
<http:elementName>application/xhtml+xml</http:elementName>
<http:param>
<http:Param>
<http:paramName>q</http:paramName>
<http:paramValue>1.0</http:paramValue>
</http:Param>
</http:param>
</http:HeaderElement>
<http:HeaderElement>
<http:elementName>text/html</http:elementName>
<http:param rdf:parseType="Resource">
<!-- shorter form here -->
<http:paramName>q</http:paramName>
<http:paramValue>0.9</http:paramValue>
</http:param>
</http:HeaderElement>
</http:fieldValue>
</http:MessageHeader>
and for
Content-Type: application/xhtml+xml;charset=UTF-8
we could have
<http:MessageHeader>
<http:fieldName rdf:resource="&http;content-type"/>
<http:fieldValue>
<http:HeaderElement>
<http:elementName>application/xhtml+xml</http:elementName>
<http:param>
<http:Param>
<http:paramName>charset</http:paramName>
<http:paramValue>UTF-8</http:paramValue>
</http:Param>
</http:param>
</http:HeaderElement>
</http:fieldValue>
</http:MessageHeader>
and for
Cache-Control: max-age=2000
we could have
<http:MessageHeader>
<http:fieldName rdf:resource="&http;cache-control"/>
<http:fieldValue>
<http:HeaderElement>
<http:elementName>max-age</http:elementName>
<http:elementValue>2000</http:elementValue>
</http:HeaderElement>
</http:fieldValue>
</http:MessageHeader>
--
Johannes Koch
BIKA Web Compliance Center - Fraunhofer FIT
Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
Phone: +49-2241-142628 Fax: +49-2241-142065
Received on Monday, 19 March 2007 22:47:09 UTC