<xs:element name="xidml">
<xs:annotation>
<xs:documentation>This is the root node for all XidML 3.0 documents.</xs:documentation>
</xs:annotation>
<xs:complexType mixed="false">
<xs:all>
<xs:element name="AuxiliaryFiles" minOccurs="0">
<xs:annotation>
<xs:documentation xml:lang="en">This element lists all the auxiliary files associated with the XidML document</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AuxiliaryFile" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>This element contains the URI of an auxilliary file. Auxialliary files are considered to be part of the XidML document and archived with main XidML file unless indicated otherwise.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Reference" type="xs:anyURI">
<xs:annotation>
<xs:documentation xml:lang="en">This element contains the URI of an auxilliary file. Auxialliary files are considered to be part of the XidML document and archived with main XidML file unless indicated otherwise.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ModificationStrategy" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">This optional element can be used to add a prefix or suffix to, or to replace a specifc value in the auxiliary file specified in the 'Reference' element. The choice of prefix, suffix or replacement is specified using the 'Mode' element. This element is useful when, for example, one or more Parameters in the referenced auxiliary file are the same as those in the main XidML file or another auxiliary file.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:all>
<xs:element name="Target">
<xs:annotation>
<xs:documentation xml:lang="en">This element contains an XPath expression that is used to completely specify the location(s) of the value(s) that are to be prefixed, suffixed or replaced in the file specified in the 'Reference' element</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Mode">
<xs:annotation>
<xs:documentation xml:lang="en">The modification mode. A modifcation mode of 'Prefix' means that all qualifying values are prefixed by the specified value, a value of 'Suffix' means all qualifying values are suffixed by the specified value and a value of 'Replace' means that all qualifying values are replaced by the specified value.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Replace"/>
<xs:enumeration value="Suffix"/>
<xs:enumeration value="Prefix"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Value">
<xs:annotation>
<xs:documentation xml:lang="en">This element is used to specify the prefix, suffix or replacement value.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Documentation" type="DocumentationType" minOccurs="0">
<xs:annotation>
<xs:documentation xml:lang="en">This element can be used to document a XidML file. It can include information such as short and long descriptions, the creation date, who the author of the XidML file is, references to technical specifications, and other miscellaneous information.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Parameters" minOccurs="0"/>
<xs:element ref="Packages" minOccurs="0"/>
<xs:element ref="Algorithms" minOccurs="0"/>
<xs:element ref="Instrumentation" minOccurs="0"/>
<xs:element ref="Links" minOccurs="0"/>
<xs:element name="Addenda" minOccurs="0">
<xs:annotation>
<xs:documentation xml:lang="en">This element contains a list of "Addenda" that can be used to place any information that is not catered for in XidML.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Addendum" type="AddendumType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation xml:lang="en">This element can be used to add any data to the XidML file that may be missing or other infromation that may be required.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="Version" type="xs:string" use="required" fixed="3.0.0"/>
</xs:complexType>
<xs:unique name="UniqueGlobalParameterName">
<xs:selector xpath=".//Parameter"/>
<xs:field xpath="@Name"/>
</xs |