MINI MINI MANI MO
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by MIKE HORHAMMER (ORACLE CORPORATION) -->
<xs:schema targetNamespace="http://www.oracle.com/2004/spatial/epsg/gridfile/schema" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.oracle.com/2004/spatial/epsg/gridfile/schema">
<xs:element name="GridFile">
<xs:annotation>
<xs:documentation>Root element describing the grid or set of grids used for a particular transformation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="GridFileType">
<xs:attributeGroup ref="DateAttributeGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="GridFileType">
<xs:annotation>
<xs:documentation>Root element describing the grid or set of grids used for a particular transformation</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="Grids">
<xs:annotation>
<xs:documentation>This represents a flat list of grids. Hierarchies can be imposed on the grids in a separate structure within each Grid.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Grid" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Represents a single grid, of which a grid file might have several</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="GridType">
<xs:attribute name="gridName" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:ID" use="optional"/>
<xs:attributeGroup ref="DateAttributeGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="CoordinatesType">
<xs:annotation>
<xs:documentation>Combines several coordinates (usually 2) to one vector</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Coordinate" type="SingleCoordinateType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Coordinate (based on source coordinate reference system)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GridType">
<xs:annotation>
<xs:documentation>Represents a single grid, of which a grid file might have several</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="GridProperties" type="GridPropertiesType">
<xs:annotation>
<xs:documentation>Grid position, size, and resolution/density</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GridData" type="GridDataType">
<xs:annotation>
<xs:documentation>The grid offset data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HierarchyParticipation">
<xs:complexType>
<xs:sequence>
<xs:element name="Parent" type="ParentType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="GridNodeType">
<xs:annotation>
<xs:documentation>One single node in the grid, describing the offset at on point</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="Offset" type="CoordinatesType">
<xs:annotation>
<xs:documentation>Coordinate offset</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OffsetPrecision" type="CoordinatesType">
<xs:annotation>
<xs:documentation>This represents the precision of the offset. The precision is represented as the maximum absolute error, given in the same unit of measure as the offset itself. If the local precision within the grid is unknown, the global maximum possible error shall be quoted. Data with unbounded (unknown) possible error would be worthless, thus some quote of precision is mandatory. If the original data source does not explicitly specify precision, but is reputed to be of high quality, an absolute error of 0 (perfect precision) shall be quoted.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="GridPropertiesType">
<xs:annotation>
<xs:documentation>Grid position, size, and resolution/density</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="MinCoords" type="CoordinatesType">
<xs:annotation>
<xs:documentation>Lower left corner of the grid (coordinates based on source coordinate reference system)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaxCoords" type="CoordinatesType">
<xs:annotation>
<xs:documentation>Upper right corner of the grid (coordinates based on source coordinate reference system)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CoordSpacing" type="CoordinatesType">
<xs:annotation>
<xs:documentation>Grid resolution/density (unit of measure based on source coordinate reference system)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CoordinateUnitOfMeasure" type="UnitOfMeasureType"/>
</xs:all>
</xs:complexType>
<xs:complexType name="GridLineType">
<xs:annotation>
<xs:documentation>One single horizontal line within the grid</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="GridNode" type="GridNodeType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One single node in the grid, describing the offset at one point</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="SingleCoordinateType">
<xs:annotation>
<xs:documentation>Represents a single coordinate; the unit depends on the elsewhere specified source coordinate reference system</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="crsType">
<xs:annotation>
<xs:documentation>Represents a coordinate reference system (identified by EPSG id)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:long"/>
</xs:simpleType>
<xs:simpleType name="tfmType">
<xs:annotation>
<xs:documentation>Represents a transformation (identified by EPSG id)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:long"/>
</xs:simpleType>
<xs:complexType name="GridApplicationType">
<xs:annotation>
<xs:documentation>Defines a single transformation, with source and target CRS, using this grid file</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element name="sourceCrs" type="crsType">
<xs:annotation>
<xs:documentation>The source coordinate reference system</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Transformation" type="tfmType">
<xs:annotation>
<xs:documentation>The transformation using this grid file</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="targetCrs" type="crsType">
<xs:annotation>
<xs:documentation>The target coordinate reference system</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="GridApplicationsType">
<xs:annotation>
<xs:documentation>Defines the set of transformations using this grid file</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="GridApplication" type="GridApplicationType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ParentType">
<xs:annotation>
<xs:documentation>Specifies a hierarchy that the grid is member of, and its parent within that hierarchy</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="HierarchyType" type="xs:anyURI">
<xs:annotation>
<xs:documentation>Specifies the hierarchy URI</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ParentNode" type="xs:IDREF" nillable="true">
<xs:annotation>
<xs:documentation>Specifies the parent node IDREF</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:attributeGroup name="DateAttributeGroup">
<xs:annotation>
<xs:documentation>Defines creation and update date and time</xs:documentation>
</xs:annotation>
<xs:attribute name="creation" type="xs:dateTime" use="required"/>
<xs:attribute name="update" type="xs:dateTime" use="required"/>
</xs:attributeGroup>
<xs:complexType name="GridDataType">
<xs:sequence>
<xs:element name="GridRow" type="GridLineType" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One single (horizontal) row within the grid (all rows have the same number of nodes)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UnitOfMeasureType">
<xs:sequence>
<xs:element name="UnitOfMeasureType" nillable="false">
<xs:annotation>
<xs:documentation>The unit type (length or angle)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="length"/>
<xs:enumeration value="angle"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UnitOfMeasureId" type="xs:long" nillable="false">
<xs:annotation>
<xs:documentation>The EPSG unit ID</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UnitOfMeasureFactor" type="xs:double" nillable="false">
<xs:annotation>
<xs:documentation>How many base units are equal to one of these units? The base unit of length is meter, the base unit of angle is radians.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
OHA YOOOO