paramInfo.xsd 4.51 KB
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="param" type="paramType"></xs:element>
    
    <xs:complexType name="paramType">
    	<xs:sequence>
    		<xs:element name="info" type="paramInfoType" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"></xs:any>
    	</xs:sequence>
    	<xs:anyAttribute processContents="skip"></xs:anyAttribute>
    </xs:complexType>

	<xs:element name="TableDef" abstract="true" />

	<xs:attributeGroup name="TableGroup">
		<xs:attribute name="dim" type="xs:int" />
 		<xs:attribute name="name" type="xs:string" />
		<xs:attribute name="units" type="xs:string" />
		<xs:attribute name="variable" type="xs:boolean" />
		<xs:attribute name="fullVariable" type="xs:boolean" />
        </xs:attributeGroup>

	<xs:element name="boundsTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="boundsName" type="xs:string" use="required" />
		</xs:complexType>
	</xs:element>
	
	<xs:element name="minMaxTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="minName" type="xs:string" use="required" />
			<xs:attribute name="maxName" type="xs:string" use="required" />
		</xs:complexType>
	</xs:element>
	
	<xs:element name="centerTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="centerName" type="xs:string" use="required" />
			<xs:attribute name="size" type="xs:double" use="required" />
		</xs:complexType>
	</xs:element>
	
	<xs:element name="centerWidthTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="centerName" type="xs:string" use="required" />
			<xs:attribute name="widthName" type="xs:string" use="required" />
		</xs:complexType>
	</xs:element>
	
	<xs:element name="centerAutoTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="centerName" type="xs:string" use="required" />
			<xs:attribute name="log" type="xs:boolean" use="required" />
		</xs:complexType>
	</xs:element>

	<xs:element name="linkTable" substitutionGroup="TableDef">
		<xs:complexType>
			<xs:attributeGroup ref="TableGroup" />
			<xs:attribute name="originParamId" type="xs:string" use="required" />
			<xs:attribute name="originTableDim" type="xs:int" />
		</xs:complexType>
	</xs:element>
	

   <xs:attributeGroup name="StatusGroup">
      <xs:attribute name="minVal" type="xs:double" />
      <xs:attribute name="maxVal" type="xs:double" />
      <xs:attribute name="name"   type="xs:string" />
      <xs:attribute name="color"   type="xs:string" />
    </xs:attributeGroup>

    <xs:complexType name="paramInfoType">
    	<xs:all>
    		<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="short_name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
            <xs:element name="components" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
            <xs:element name="units" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="coordinates_system" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="tensor_order" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="si_conversion" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="table" minOccurs="0" maxOccurs="1">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="TableDef" minOccurs="0"
							maxOccurs="unbounded" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
    		<xs:element name="fill_value" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="ucd" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="status_def" minOccurs="0" maxOccurs="1">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="status" minOccurs="0"
							maxOccurs="unbounded" >
							<xs:complexType>
								<xs:attributeGroup ref="StatusGroup" />
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
    		<xs:element name="dataset_id" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
		<xs:element name="instrument_id" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
    	</xs:all>
    </xs:complexType>
</xs:schema>