I suspect I may embarrass myself with this question, but here goes anyway:
I have defined a schema which includes the following elements in an <xs:sequence>:
<xs:element
ref="dc:relation"
minOccurs="0"
maxOccurs="unbounded"
/>
<xs:element
ref="dcterms:references"
minOccurs="0"
maxOccurs="unbounded"
/>
I'm also declaring the following imports:
<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/>
<xs:import namespace="http://purl.org/dc/terms/" schemaLocation="dcterms.xsd"/>
The result of this is that the xsd throws a "unique particle attribution" error [1]
I'm pretty confident that the reason for this has to do with the fact that dcterms:references has a 'substitutionGroup' attribute which points to dc:relation - it's declared in dcterms.xsd thus:
<xs:element name="references" substitutionGroup="dc:relation" type="dc:SimpleLiteral"/>
I can hack (and indeed have hacked, for now at least) a 'solution' by simply editing dcterms.xsd to remove the substitutionGroup attribute for dcterms:references, but I would like to understand how one might normally use a mixture of dcterms and dc elements in a sequence like this without hitting this issue.
Thanks!
Paul
[1] http://en.wikipedia.org/wiki/Unique_Particle_Attribution
-------------------------------------------
Paul Walk
Blog: http://blog.paulwalk.net
Skype: paulwalk
Twitter: paulwalk
Mobile: 07812 510001
-------------------------------------------
|