- From: Bill de hÓra <bdehora@interx.com>
- Date: Thu, 12 Jul 2001 14:14:12 +0100
- To: "RDF Core" <w3c-rdfcore-wg@w3.org>
:>>>Aaron Swartz said:
:> On this issue I agree with Dan Connolly that an RDF literal with
:> XML content parses to the RDF representation of the XML infoset
:> for that literal.
+1 if it's in scope, but we'll have to talk about the presence of
content models and whitespace. Consider what would expected out
of these samples:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar rdf:parseType="literal"><el/> </foo:bar>
</rdf:Description>
</rdf:RDF>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar rdf:parseType="literal"> <el attr1="v1" attr2="v2"/> </foo:bar>
</rdf:Description>
</rdf:RDF>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar rdf:parseType="literal"><el> </el></foo:bar>
</rdf:Description>
</rdf:RDF>
: Dave Beckett:
:
:Try thinking about these questions for the attached examples:
: [...]
:My answers?
: #1 is a sequence of Unicode characters OR
: a sequence of XML characters (elements are forbidden)
: I need to check XML / XML infoset for some appropriate
:term - CDATA?
:
: #3, #4 are pieces of well formed XML (elements are allowed)
: and cannot be distinguished - parseType has been lost.
: It is not an XML document, or an XML Fragment[1]; and there are
: more issues that could be pulled out with namespaces, entitiy
: declarations etc.
:
: #2 could be either, but more likely well formed XML and not
:an element
1.rdf:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/" foo:bar="<el/>" />
</rdf:RDF>
result: [<el/>]
2.rdf:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar><el/></foo:bar>
</rdf:Description>
</rdf:RDF>
result: [<el/>]
3.rdf:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar rdf:parseType="literal"><el/></foo:bar>
</rdf:Description>
</rdf:RDF>
result: [<el/>]
(ignoring that 'literal' is a syntax error and should be 'Literal')
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foo="http://example.org/property/">
<rdf:Description rdf:about="http://example.org/">
<foo:bar rdf:parseType="blah-blah"><el/></foo:bar>
</rdf:Description>
</rdf:RDF>
result: syntax error.
Realistically, I would expect this literal to come out in
blah-blah form; more specifically to be ignored and passed
onto something that manipulates blah-blah.
But I expect an rdf deserializer to barf. We don't have
productions that allow parseType="blah-blah", though
I doubt that any XML de/serializers are paying attention.
It's interesting that the prose surrounding the productions
in section 6 indicates that...
"""
The parseType attribute should have one of the values
'Literal' or 'Resource'. ^^^^^^
"""
..and...
"""
Other values of parseType are reserved for
future specification by RDF.
"""
...but the productions seem to upgrade to a must...
"""
[6.32] parseLiteral ::= ' parseType="Literal"'
[6.33] parseResource ::= ' parseType="Resource"'
[6.34] literal ::= (any well-formed XML)
"""
...which is inconsistent overall.
[I don't think the RDF wg wants to become a parseType
legislation body. We could open this up and reserve
parseTypes beginning with say, 'rdf:'.]
: Can all the information in the literal be preserved in the RDF
: formal model, such that it can be reserialised to RDF/XML without
: information loss?
I guess that users of the XML serialization SHOULD convert their
literal to infoset happy XML prior to RDF XML serialization and
MUST expect literals qualified with parseType="Literal" to be
deserialized to infoset. I suggest we say this explicitly.
Bill
----
Bill de hÓra : InterX : bdehora@interx.com
Received on Thursday, 12 July 2001 09:14:58 UTC