On the other hand, if one strips the <div> element, then :xhtml can
no longer be an inverse functional property, as contents with
different bases could have very different meanings. Just think of
xhtml content with a picture, which in one subtree points to bush,
and in another one points to Gore, the relative uri references being
the same in both cases.
This seems to make it more reasonable to create a new literal type
which contains the <div>. (it makes finding duplicates in an rdf
database easier).
On that topic are there not xhtml ways to create xml:base and
xml:lang elements? Should those not perhaps be used instead on the
<div> element?
Henry
On 29 Jun 2006, at 00:11, Henry Story wrote:
Thanks everyone for this really interesting discussion. I have
added a note to this effect to the latest atom-owl ontology [1].
In Atom-Owl we could easily do both.
[] :content "<xhtml:div xml:lang="fr">Oui!</xhtml:div>"^:xhtml.
or we could have
[] :content "Oui!"@fr^:xhtml .
or
[] :content [ :xhtml "oui";
:lang "en" ].
It would be simplest I suppose to have the :xhtml type be defined
as always having an <div ...> element. Except that of course it
would look odd for xhtml content that contains an <html> base tag
such as
<div>
<html><head>...<body>...</body></head>
</div>
From this discussion it looks like the most reasonable would be to
strip the <div> element. In which case one may wonder what the
whole purpose of putting the <div> in the content really was in the
first place.
Henry
[1] https://sommer.dev.java.net/atom/2006-06-06/awol.html#term_xhtml
On 28 Jun 2006, at 23:53, Antone Roundy wrote:
On Jun 28, 2006, at 3:10 PM, Robert Sayre wrote:
The content in the entries below should be handled the same way:
<entry xml:lang="en" xml:base="http://example.com/foo/">
...
<content type="xhtml">
<xhtml:div xml:lang="fr" xml:base="http://example.com/
feu/"><xhtml:a href="axe.html">axe</xhtml:a></xhtml:div>
</content>
</entry>
<entry xml:lang="en" xml:base="http://example.com/foo/">
...
<content type="xhtml" xml:lang="fr" xml:base="http://
example.com/
feu/">
<xhtml:div ><xhtml:a href="axe.html">axe</xhtml:a></
xhtml:div>
</content>
</entry>
Of course the end result of both should be identical. Is that
what you mean by "should be handled the same way"? The question
is, if the xhtml:div is stripped by the library before handing it
off to the app, how is the app going to get the attributes that
were on the div? Is the library going to push those values down
into the content or act as if they were on the atom:content
element (or something similar to that)?
BTW, it just occurred to me that pushing them down into the
content won't work. Here's an example where that would fail:
<entry xml:lang="en">
...
<content type="xhtml">
<xhtml:div xml:lang="fr">Oui!</xhtml:div>
</content>
</entry>
Notice that there are no elements inside the xhtml:div for
xml:lang to be attached to (and even if there were any, any text
appearing outside of them would not have the correct xml:lang
attached to it).
So it looks like the options (both of a which a single library
could support, of course) are:
* Strip the div, but provide a way to get the attributes that were
on it
or
* Leave the div