C14N in RDF

Joe Reagle has made some helpful comments reviewing our use of XML C14N:

http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0128.html

In my reply,
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0162.html
I suggest he is raising two issues -
  Problems to do with equality of XMLLiteral.
and
  confusion about the use of C14N or EXC-C14N

Both arise from the desire we had when we finalized this design (in Cannes)
to not rule out certain difficult cases.
These are illustrated by the following example which embeds a piece of XSLT
in RDF:
http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/att-0532/01-msg#I5
.4-002

<rdf:RDF
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/I5.4/consistent002#"
    xml:base="http://www.w3.org/2002/03owlt/I5.4/consistent002" >
    <owl:DatatypeProperty rdf:ID="p"/>
    <owl:FunctionalProperty rdf:about="#p"/>
    <owl:Thing rdf:ID="i">
       <first:p rdf:parseType="Literal"
        xmlns:eg="eg:a"><xsl:template match="eg:foo"/></first:p>
       <first:p rdf:parseType="Literal"
        xmlns:eg="eg:b"><xsl:template match="eg:foo"/></first:p>
    </owl:Thing>
</rdf:RDF>


The fragment <xsl:template match="eg:foo"/> uses the namespace prefix eg but
not visibly.
The position in the LC WDs is that implementations which wish to be clever
can correctly preserve the namespace, but this is not REQUIRED.
e.g. using ARP the following fragment preserves the namespace binding for eg

<owl:Thing rdf:ID="i">
  <first:p rdf:parseType="Literal"
   ><xsl:template match="eg:foo"
     xmlns:eg="eg:a"/></first:p>


However, this is not interoperable.

Moreover, the position taken causes interoperability problems also in the
easier cases e.g.

http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/att-0532/01-msg#I5
.4-001


(this case is non-interoperable even without the comment, because of the rdf
namespace which optionally can be included in the literal value).

==

In summary, I think we should think again about whether we made the right
trade off between the desire to not rule out advanced uses (embedding XSLT,
XML Schema's and xsi:type attributes) and good solutions to the simple case
(XHTML).

Jeremy

Received on Friday, 31 January 2003 09:21:50 UTC