Subject:CDISC Author:Simon Berry Date:24 Oct 2008 11:33 AM
I'm looking at creating xml files which use the schema defined in ODM1-2-0.xsd.
I downloaded the schema from the CDISC site, opened it in Stylus Studio and then did a validation which gave the following error:
Validating ODM1-2-0.xsd... http://www.w3.org/2001/XMLSchema.dtd:121,9: warning: Attribute 'xmlns' has already been declared for element 'schema'
:0,0: Complex type '__AnonC1' violates the Unique Particle Attribution rule in its components 'Signature' and '##other'
The XML document ODM1-2-0.xsd is NOT valid (1 errors)
where %nds; is expanded into "xmlns" because the 's' entity in the internal DTD is set to an empty string. So the ATTLIST has two definitions for the xmlns attribute, hence the warning "Attribute 'xmlns' has already been declared for element 'schema'".
The other error is caused by this structure in the ODM1-2-0.xsd schema
The final entry, <xs:any namespace="##other"> means "anything that is not part of the targetNamespace namespace can be placed here"; but the previous entry, <xs:element ref="ds:Signature"> is indeed allowing an element that is not part of the ODMG namespace. So there is ambiguity on which declaration should be used to validate what comes after the Association element.