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

Reply via email to