W3C home > Mailing lists > Public > www-rdf-comments@w3.org > April to June 2003

RE: [closed] reagle-01 reagle-02 XMLLiterals and exc-c14n

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Tue, 8 Apr 2003 12:01:52 +0200
To: "Joseph Reagle" <reagle@w3.org>, <www-rdf-comments@w3.org>, <eric@w3.org>, <hendler@cs.umd.edu>
Message-ID: <BHEGLCKMOHGLGNOKPGHDIEHDCBAA.jjc@hpl.hp.com>

> > 2: The syntax document specifies that the lexical form corresponding to
> > the syntax rdf:parsetype="Literal"> XML content </ is the exclusive
> > canonicalization with comments of that XML content. (With empty
> inclusive
> > namespace prefix list)
>
> So just to be very clear, the XML literal is exc-c14n as if it
> were its own
> distinct fragment? So even if a namespace/prefix is declared above in the
> RDF, it will be repeated in the XML literal.

As long as it is visibly used.

>
> > 5. the following implementation note is added to concepts:
> > any other equivalent form.  As an example:
> > literals with datatype <tt>rdf:XMLLiteral</tt>s can be represented
> > in a non-canonical
> > format, and canonicalization performed during the comparison between two
> > such literals
>
> The second fragment after the "and" confuses me.
>
>
I will give an example here and then hope that we can discuss the text.
Example input
Using eg: as an example non-generic scheme.

<rdf:RDF xmlns:rdf="&rdfns;"
       xmlns:e="eg:ns#">
 <rdf:Description rdf:about="eg:a">
   <e:p1 rdf:parseType="Literal"><b xmlns="eg:b"></b></e:p1>
   <e:p2 rdf:parseType="Literal"><b xmlns="eg:b"/></e:p2>
 </rdf:Description>
</rdf:RDF>

In N-triples (using rdf:XMLLiteral as an abbreviation) this is

<eg:a> <eg:ns#p1> "<b xmlns=\"eg:b\"></b>"^^rdf:XMLLiteral .
<eg:a> <eg:ns#p2> "<b xmlns=\"eg:b\"></b>"^^rdf:XMLLiteral .

However, some RDF applications, in their internal representation may choose
to use:
The string '<b xmlns="eg:b"></b>' for the value of eg:p1 and the string '<b
xmlns="eg:b"/>' as the value of eg:p2.
An application that does this as caused trouble for itself if and when a
comparison is made between these two.
The *abstract* syntax form of the RDF/XML is the same so if there is the
possibility of an equality test between two XMLLiterals within the
application the two XMLLiterals given in such an application by '<b
xmlns="eg:b"></b>' and '<b xmlns="eg:b"/>' must compare equal.
This part is the intended "and canonicalization performed during the
comparison between two such literals"

Since we know that there are RDF applications, such as RSS, in which these
comparisons are never made, the application writer can 'optimise' such code
(for cost) by not writing it.

Does this example clairfy the intent of the implementation note?
Could you suggest textual improvements to this note?




> > Joe, also note that we have not yet given detailed consideration to your
> > comment "Confusion about wrapping of XMLLiteral"
> >
> >
http://lists.w3.org/Archives/Public/www-rdf-comments/2003JanMar/0434.html
> >
> > Now that we have removed all freedom in the syntax document, is this
> > sufficiently clear (i.e. that the wrapping happens as part of the
> > datatype mapping).
> > Or would you like us to consider that comment further?

> I still find this section confusing. For example, "The XML document
> corresponding to a string str is formed as the XML document corresponding
> to the pair (str, "")." This is a restatment of the earlier statement,
"The
> XML document corresponding to a pair ( str, lang ) is formed as follows:"
> which leads to confusion.

OK - I will follow up further on that comment. I will discuss this with the
Series Editor first.

Jeremy
Received on Tuesday, 8 April 2003 06:02:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 21 September 2012 14:16:32 GMT