Re: first pass parseType="Literal" text for primer

On 29 Jul 2003 10:45:35 +0100
Brian McBride <bwm@hplb.hpl.hp.com> wrote:

> <rdf:Description>
>   <eg:prop rdf:parseType="Literal"><em></eg:prop>
> </rdf:Description>

This isn't good XML, see below.

<snip/>

> If the xml literal *denotes* the character string "<em>", and in,
> 
> <rdf:Description>
>   <eg:prop>&lt;em&gt;</eg:prop>
> </rdf:Description>

<snip/>

> Concrete Syntax                 | Abstract Syntax       | Denotation
> -----------------------------------------------------------------
> <eg:prop>a</eg:prop>            | "a"                   | "a"
> <eg:prop>&lt;em&gt;</eg:prop>   | "<em>"                | "<em>"
> <eg:prop pt="L"><em></eg:prop>  | "<em>^^rdf:XMLLiteral | C("<em>")
> <eg:prop pt="L">&amp;</eg:prop> | "&"^^rdf:XMLLiteral   | C("&")

The reason is that <em> is a start tag without an end tag.
So, you should use <em></em> instead

Note also that the canonical XML form of empty elements such as
"<br/>" is "<br></br>"
(see Element Nodes in
 http://www.w3.org/TR/2001/REC-xml-c14n-20010315#ProcessingModel 
)

(Also, unless there is a particular reason, maybe don't stick with
HTML-evocative tags?)

Is this form teaching you too many things at once: ?

 Concrete Syntax                  | Abstract Syntax       | Denotation
 -----------------------------------------------------------------
 <eg:prop>a</eg:prop>             | "a"                   | "a"
 <eg:prop>&lt;ab&gt;</eg:prop>    | "<ab>"                | "<ab>"
 <eg:prop pt="L"><ab/></eg:prop>  | "<ab></ab>^^rdf:XMLLiteral | C("<ab></ab>")
 <eg:prop pt="L">&amp;</eg:prop>  | "&"^^rdf:XMLLiteral   | C("&")

I'm not sure whether I'm capturing what you say here, your version of
the table sort of implies the the canonical XML form isn't in the
lexical form of the XML literal in the abstract syntax (as written in N-Triples).

Dave

Received on Tuesday, 29 July 2003 06:25:28 UTC