W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > March 2002

RE: RDF C14N Inclusive or Exclusive

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Tue, 5 Mar 2002 09:49:51 -0000
To: <reagle@w3.org>, <w3c-rdfcore-wg@w3.org>, <w3c-ietf-xmldsig@w3.org>
Message-ID: <JAEBJCLMIFLKLOJGMELDCEDDCDAA.jjc@hplb.hpl.hp.com>
>
> On Monday 04 March 2002 09:45, Jeremy Carroll wrote:
> > Under exclusive C14N the literal value is:
> > "\n    <foo xmlns=""
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:type="xsd:decimal">10.09</foo>\n  "
> >
> > because only the xsi and default namespaces are visibly used.
> >
> > I note that in some sense the exclusive C14N has got this example wrong,
> > since we need to preserve the binding of the xsd prefix to preserve the
> > semantics of this example.
Joseph Reagle:
> Hrmm... this is interesting. This is the second of two issues (potential
> bugs) that have been raised this week that we need to give
> serious thought
> to.
> 1. In your email: should we emit a namespace for prefixes found in an
> attribute value (or even element content?!).
>

I note that I was silent through last call on XC14N, so I don't much want to
call it an issue.

What I find counter-intuitive is that foobar is invisible in
   xmlns:foobar="http://example.org/foo/bar/"

I understand this. The namespace decl is not in the XPath nodeset, and not
accessible from XSLT. It does not appear to be a requirement of XML
namespaces.

From the document writers point of view, IMO, the obvious response to being
told that xsd is invisible is to reiterate such a namespace decl in my
example:

  <eg:bar rdf:parseType="Literal">
    <foo xsi:type="xsd:decimal">10.09</foo>
  </eg:bar>

map it to

  <eg:bar rdf:parseType="Literal">
    <foo xsi:type="xsd:decimal"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema">10.09</foo>
  </eg:bar>

and this doesn't work.

Of course, the RDF group could say that namespace declarations on the
propertyElt (the one with rdf:parseType="Literal") are put on the
InclusiveNamespace PrefixList. That would then be a bit more natural and
less of a change than modifying the "Literal" word as I suggested in:

http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Mar/0041.html

This example would then become:

  <eg:bar rdf:parseType="Literal"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <foo xsi:type="xsd:decimal">10.09</foo>
  </eg:bar>

where the RDF parser treats the namespace decl as asserting that
 InclusiveNamespace PrefixList = { xsd }
and then canonicalizes the xml literal on that basis.

Doesn't work well with putting the C14N into xml literal equality though.

Jeremy
Received on Tuesday, 5 March 2002 04:50:06 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:46:14 EDT