Oliver Wong said:
<rose id="x" ownedBy="Jack"/>
<rose id="x" ownedBy="Jill"/>
While your suggestion might be possible for Prolog-like
databases of assertions, it might be difficult to apply
it to text markup, where one actually would like to write:
<p>He met
<span class="name" class="person">Peter Miller</span> in
<span class="name" class="town">London</span>.</p>
It could be written in XML as:
<p>He met
<span id="563">Peter Miller</span> in
<span id="564">London</span>.</p>
<attribute idref="563" class="name"/>
<attribute idref="563" class="person"/>
<attribute idref="564" class="name"/>
<attribute idref="564" class="town"/>
But this looks as if it might be more difficult to maintain.
NB: If "id" was declared as an »ID attribute« in the DTD, then
<rose id="x" ownedBy="Jack"/>
<rose id="x" ownedBy="Jill"/>
might not be valid XML, because in XML »ID values must
uniquely identify the elements which bear them« is a validity
constraint. But here, »id« might be declared as an »IDREF
attribute«.
depending on what exactly is the main message being conveyed
(i.e. the XML different documents here all say the same thing,
but they put emphasis on different things: the roses, the
persons, or the ownership-relationships themselves).
... and some of these choices then will be restricted by the
restrictions of XML. For example, when one wants to put
emphasis on the roses by mapping each rose to an XML element,
some of the restrictions mentioned in my previous post apply.