yasq (yet another syntax question)

Hi,

what's the difference between 

1.
<Description>
  <dc:creator rdf:ID="XXX">
    <Description>
      <myns:name>karl</mynsname>
    </Description>
  </dc:creator>
</Description>

and

2.
<Description>
  <dc:creator rdf:ID="10" myns:name="karl"/>
</Description>

The first case is rather clear:
M&S,[6.12, propertyElt]: 'The value of the
ID Attribute, if specified, is the identifier for the 
resource that represents the reification of the statement.'
Ok, the triples:

(genid0,dc:creator,genid1)
(genid1,myns:name,'karl')
(XXX,rdf:type,rdf:Statement)
(XXX,rdf:subject,genid0)
(XXX,rdf:predicate,dc:creator)
(XXX,rdf:object,genid1)

Let's take a look at the second example.
The spec says:

'Properties and values expressed in XML attribute form 
within an empty XML element E by productions [6.10] and 
[6.12] are equivalent to the same properties and values 
expressed as XML content of a single Description element 
D which would become the content of E. The referent of D
is the value of the property identified by the XML element 
name of E according to productions [6.17], [6.2], and 
[6.3]. Specifically; each propertyElt start tag containing 
attribute specifications other than ID, resource, bagID, 
xml:lang, or any attribute starting with the characters xmlns
results in the creation of the triples {p,r1,r2}, {pa1,r2,va1}
, ..., {pan,r2,van} where

  1.p is the expansion of the namespace-qualified tag name. 
  2.r1 is the resource being referred to by the element 
    containing this propertyElt expression. 
  3.r2 is the resource named by the resource attribute if
    present or a new resource. If the ID attribute is given
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    it is the identifier of this new resource. 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  4.pa1 ... pan are the expansion of the namespace-qualified attribute
names. 
  5.va1 ... van are the corresponding attribute values.'

Thus the triples are:

(genid0,dc:creator,XXX)
(XXX,myns:name,'karl')

The interpretation of the attribute 'rdf:ID="XXX"' is totally 
different in the second example!!!!

Is this correct? If it is, is there any parser available 
that does the right job?

Greetings,
Stefan

Received on Wednesday, 30 August 2000 11:15:49 UTC