Schema for the XML headers of the SDM Binary Data Format (vers. 0.94)

Element: sdmDataObject

[Table of contents]

NamesdmDataObject
TypeLocally-defined complex type
Nillableno
Abstractno
DocumentationRoot element to be used when composing the main header and the subset header(s) into a single 100% XML document. This element must not appear in any of the xml attachments in MIME objects.
Logical Diagram
XML Instance Representation
<sdmDataObject>
<!--

Uniqueness Constraint - cid_baselineFlags

Selector - .//dataRef

Field(s) - @baselineFlags

-->
<!--

Uniqueness Constraint - cid_actualTimes

Selector - .//dataRef

Field(s) - @actualTimes

-->
<!--

Uniqueness Constraint - cid_actualDurations

Selector - .//dataRef

Field(s) - @actualDurations

-->
<!--

Uniqueness Constraint - cid_zerolags

Selector - .//dataRef

Field(s) - @zeroLags

-->
<!--

Uniqueness Constraint - cid_autoData

Selector - .//dataRef

Field(s) - @autoData

-->
<!--

Uniqueness Constraint - cid_crossData

Selector - .//dataRef

Field(s) - @crossData

-->
<!--

Uniqueness Constraint - projectPath

Selector - sdmDataSubsetHeader

Field(s) - @projectPath

-->
<!--

Key Constraint - mainHeadId

Selector - sdmDataHeader

Field(s) - @mainHeaderId

-->
<!--

Key Reference Constraint - mainHeadIdRef

Selector - sdmDataSubsetHeader/dataStruct

Field(s) - @ref

Refers to - mainHeadId

-->
<!--

Uniqueness Constraint - basebandId

Selector - .//baseband

Field(s) - @ref

-->
<!--

Key Constraint - corrMode

Selector - sdmDataHeader

Field(s) - correlationMode

-->
<!--

Key Reference Constraint - corrModeRef1

Selector - sdmDataHeader/dataStruct

Field(s) - @mode

Refers to - corrMode

-->
<!--

Key Reference Constraint - corrModeRef2

Selector - sdmDataSubsetHeader/dataRef

Field(s) - @mode

Refers to - corrMode

-->
<!--

Uniqueness Constraint - specResol

Selector - sdmDataHeader

Field(s) - spectralResolution

-->
<!--

Key Reference Constraint - spectralResolutionRef1

Selector - sdmDataHeader/dataStruct

Field(s) - @resolution

Refers to - specResol

-->
<!--

Key Reference Constraint - spectralResolutionRef2

Selector - sdmDataSubsetHeader/dataRef

Field(s) - @resolution

Refers to - specResol

-->


<sdmDataHeader> ... </sdmDataHeader> [1]
<sdmDataSubsetHeader> ... </sdmDataSubsetHeader> [1..*]
</sdmDataObject>
Diagram
Schema Component Representation
<xs:element name="sdmDataObject">
<xs:complexType>
<xs:sequence>
<xs:element ref="sdmDataHeader"/>
<xs:element ref="sdmDataSubsetHeader" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:unique name="cid_baselineFlags">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@baselineFlags"/>
</xs:unique>
<xs:unique name="cid_actualTimes">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@actualTimes"/>
</xs:unique>
<xs:unique name="cid_actualDurations">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@actualDurations"/>
</xs:unique>
<xs:unique name="cid_zerolags">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@zeroLags"/>
</xs:unique>
<xs:unique name="cid_autoData">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@autoData"/>
</xs:unique>
<xs:unique name="cid_crossData">
<xs:selector xpath=".//dataRef"/>
<xs:field xpath="@crossData"/>
</xs:unique>
<xs:unique name="projectPath">
<xs:selector xpath="sdmDataSubsetHeader"/>
<xs:field xpath="@projectPath"/>
</xs:unique>
<-- perfect in case of integ or subinteg but cannot work with TP data ==> dimensionality zero should not have subsetHeader (but Michel does like that...). In theory the depth of the MIME message should be directly related to the dimensionality! <xs:unique name="projectPath"> <xs:selector xpath=".//*"></xs:selector> <xs:field xpath="@projectPath"></xs:field> </xs:unique> -->
<xs:key name="mainHeadId">
<xs:selector xpath="sdmDataHeader"/>
<xs:field xpath="@mainHeaderId"/>
</xs:key>
<xs:keyref name="mainHeadIdRef" refer="mainHeadId">
<xs:selector xpath="sdmDataSubsetHeader/dataStruct"/>
<xs:field xpath="@ref"/>
</xs:keyref>
<xs:unique name="basebandId">
<xs:selector xpath=".//baseband"/>
<xs:field xpath="@ref"/>
</xs:unique>
<xs:key name="corrMode">
<xs:selector xpath="sdmDataHeader"/>
<xs:field xpath="correlationMode"/>
</xs:key>
<xs:keyref name="corrModeRef1" refer="corrMode">
<xs:selector xpath="sdmDataHeader/dataStruct"/>
<xs:field xpath="@mode"/>
</xs:keyref>
<xs:keyref name="corrModeRef2" refer="corrMode">
<xs:selector xpath="sdmDataSubsetHeader/dataRef"/>
<xs:field xpath="@mode"/>
</xs:keyref>
<xs:unique name="specResol">
<xs:selector xpath="sdmDataHeader"/>
<xs:field xpath="spectralResolution"/>
</xs:unique>
<xs:keyref name="spectralResolutionRef1" refer="specResol">
<xs:selector xpath="sdmDataHeader/dataStruct"/>
<xs:field xpath="@resolution"/>
</xs:keyref>
<xs:keyref name="spectralResolutionRef2" refer="specResol">
<xs:selector xpath="sdmDataSubsetHeader/dataRef"/>
<xs:field xpath="@resolution"/>
</xs:keyref>
</xs:element>