DAP4 XML schema
From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Nathan Potter (OSU-COAS) --> <xs:schema targetNamespace="http://xml.opendap.org/ns/DAP/3.3/dap#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dap="http://xml.opendap.org/ns/DAP/3.3/dap#" xmlns:att="http://xml.opendap.org/ns/DAP/3.3/att#" xmlns="http://xml.opendap.org/ns/DAP/3.3/dap#" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- ============================================================== includes and imports ============================================================== --> <xs:import namespace="http://xml.opendap.org/ns/DAP/3.3/att#" schemaLocation="dapAtt_3.x.xsd"/> <!-- --> <xs:element name="Dataset" type="DODS_Dataset"/> <xs:element name="Map" type="Array"/> <xs:element name="Byte" type="BaseType"/> <xs:element name="Int16" type="BaseType"/> <xs:element name="UInt16" type="BaseType"/> <xs:element name="Int32" type="BaseType"/> <xs:element name="UInt32" type="BaseType"/> <xs:element name="Float32" type="BaseType"/> <xs:element name="Float64" type="BaseType"/> <xs:element name="String" type="BaseType"/> <xs:element name="Url" type="BaseType"/> <xs:element name="Array" type="Array"/> <xs:element name="Grid" type="Grid"/> <xs:element name="Structure" type="Structure"/> <xs:element name="Sequence" type="Sequence"/> <!-- --> <xs:group name="allDapTypes"> <xs:annotation> <xs:documentation>Reusable Content Model for Complex DODS types</xs:documentation> </xs:annotation> <xs:choice> <xs:element ref="Byte" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Int16" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="UInt16" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Int32" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="UInt32" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Float32" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Float64" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="String" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Url" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Array" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Grid" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Structure" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Sequence" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:group> <!-- --> <xs:complexType name="DODS_Dataset"> <xs:annotation> <xs:documentation>This is the XML representation of a DODS DDS object.</xs:documentation> </xs:annotation> <xs:sequence> <xs:group ref="att:allAttributeTypes" minOccurs="0" maxOccurs="unbounded"/> <xs:group ref="allDapTypes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <!-- --> <xs:complexType name="BaseType"> <xs:annotation> <xs:documentation>DODS Base Type</xs:documentation> </xs:annotation> <xs:sequence> <xs:group ref="att:allAttributeTypes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <!-- --> <xs:complexType name="Array"> <xs:complexContent> <xs:extension base="BaseType"> <xs:sequence> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element ref="Byte"/> <xs:element ref="Int16"/> <xs:element ref="UInt16"/> <xs:element ref="Int32"/> <xs:element ref="UInt32"/> <xs:element ref="Float32"/> <xs:element ref="Float64"/> <xs:element ref="String"/> <xs:element ref="Url"/> <xs:element ref="Grid"/> <xs:element ref="Structure"/> <xs:element ref="Sequence"/> </xs:choice> <xs:element name="dimension" type="dap:ArrayDimension" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- --> <xs:complexType name="ArrayDimension"> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="size" type="xs:integer" use="required"/> </xs:complexType> <!-- --> <xs:complexType name="Grid"> <xs:complexContent> <xs:extension base="dap:BaseType"> <xs:sequence> <xs:element ref="Array" minOccurs="1" maxOccurs="1"/> <xs:element ref="Map" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- --> <xs:complexType name="Structure"> <xs:complexContent> <xs:extension base="BaseType"> <xs:group ref="allDapTypes" minOccurs="1" maxOccurs="unbounded"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- --> <xs:complexType name="Sequence"> <xs:complexContent> <xs:extension base="BaseType"> <xs:group ref="allDapTypes" minOccurs="1" maxOccurs="unbounded"/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- --> </xs:schema>