Hello all,
I usually use my own DCMI XML schema, which contains dc qualifiers, to
assign metadata to electronic documents.
Here is an abstract :
<dcmi:relation qualifier="isPartOf">Batch55</dcmi:relation>
The namespace I used up-to-now is "dcmi" and points to "our" URI ; we will
consider shortly revising this to stick to the actual recommendation, but it
we are not yet ready for this.
I am now facing a case where I'd like to add a new attribute, say
"positionInBatch" to the dcmi:relation element which would give :
<dcmi:relation qualifier="isPartOf"
positionInBatch="12">Batch55</dcmi:relation>
To achieve this, I have created a new schema which declares the simple type
for "positionInBatch", and imported it in my usual DCMI schema, with its own
namespace ("dcmieav" in the example below).
The relation element is declared in the dcmi schema which targetnamespace is
"dcmi" and looks now like follows :
<xs:element name="relation">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="Relation">
<xs:attribute name="positionInBatch"
type="dcmieav:PositionInBatch"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:complexType name="Relation">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="qualifier" type="QualifRelation"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="QualifRelation">
<xs:restriction base="xs:string">
<xs:enumeration value="isVersionOf"/>
<xs:enumeration value="hasVersion"/>
<xs:enumeration value="isReplacedBy"/>
<xs:enumeration value="replaces"/>
<xs:enumeration value="isRequiredBy"/>
<xs:enumeration value="requires"/>
<xs:enumeration value="isPartOf"/>
<xs:enumeration value="hasPart"/>
<xs:enumeration value="isReferencedBy"/>
<xs:enumeration value="references"/>
<xs:enumeration value="isFormatOf"/>
<xs:enumeration value="hasFormat"/>
</xs:restriction>
</xs:simpleType>
In my instance document, where the DCMI schema is imported, I can legally
have :
<dcmi:relation qualifier="isPartOf"
positionInBatch="12">Batch55</dcmi:relation>
where "qualifier" is of a DCMI namespace and "positionInBatch" is originally
from a "dcmieav" namespace.
However, is this "legal" in a DCMI point-of-view ? Is the mixing of
attributes from namespace other than DCMI allowed ?
Thanks in advance for any help or pointers,
Régis Piccand
|