- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Tue, 29 Jul 2003 11:21:35 +0100
- To: Brian McBride <bwm@hplb.hpl.hp.com>
- Cc: Graham Klyne <gk@ninebynine.org>, Martin Duerst <duerst@w3.org>, rdf core <w3c-rdfcore-wg@w3.org>, i18n <w3c-i18n-ig@w3.org>
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><em></eg:prop> > </rdf:Description> <snip/> > Concrete Syntax | Abstract Syntax | Denotation > ----------------------------------------------------------------- > <eg:prop>a</eg:prop> | "a" | "a" > <eg:prop><em></eg:prop> | "<em>" | "<em>" > <eg:prop pt="L"><em></eg:prop> | "<em>^^rdf:XMLLiteral | C("<em>") > <eg:prop pt="L">&</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><ab></eg:prop> | "<ab>" | "<ab>" <eg:prop pt="L"><ab/></eg:prop> | "<ab></ab>^^rdf:XMLLiteral | C("<ab></ab>") <eg:prop pt="L">&</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