- 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>
>
> 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 UTC