<PERSON>
<NAME>Frederick BLOGGS
<SOURCE>Birth Certificate</SOURCE>
<CONFIDENCE>High</CONFIDENCE>
<CHANGED>
<ON>12 Jan 1983</ON>
<BY>MHK</BY>
</CHANGED>
<NOTE>Generally signed himself "Frederik"</NOTE>
</NAME>
The general form is that the "attributes" of an object are
represented by the content of a first-level child element,
and qualifiers to the attributes (source, confidence level,
alternative values, etc) are represented by grandchild
elements.
This is a direct translation of the GEDCOM metamodel. I have
come across similar things in medical data models where the
aim is to record opinions rather than facts: in such a model
we need to record "facts about facts about facts": e.g.
"John says that his mother told him that his father died of
a heart attack".
Unfortunately I am unable to declare in the DTD that the
element contains "PCDATA content followed by zero or more of
the following child elements", XML's peculiar rules mean
that with mixed content I cannot declare any ordering or
cardinality constraints. (I wonder if someone thought that
there was no requirement?)
Mike Kay