0001: /*
0002: * GeoTools - OpenSource mapping toolkit
0003: * http://geotools.org
0004: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
0005: *
0006: * This library is free software; you can redistribute it and/or
0007: * modify it under the terms of the GNU Lesser General Public
0008: * License as published by the Free Software Foundation;
0009: * version 2.1 of the License.
0010: *
0011: * This library is distributed in the hope that it will be useful,
0012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0014: * Lesser General Public License for more details.
0015: */
0016: package org.geotools.gml2;
0017:
0018: import com.vividsolutions.jts.geom.Envelope;
0019: import com.vividsolutions.jts.geom.LineString;
0020: import com.vividsolutions.jts.geom.LinearRing;
0021: import com.vividsolutions.jts.geom.MultiLineString;
0022: import com.vividsolutions.jts.geom.MultiPoint;
0023: import com.vividsolutions.jts.geom.MultiPolygon;
0024: import com.vividsolutions.jts.geom.Point;
0025: import com.vividsolutions.jts.geom.Polygon;
0026: import org.geotools.feature.AttributeType;
0027: import org.geotools.feature.AttributeTypeFactory;
0028: import org.geotools.feature.Name;
0029: import org.geotools.feature.type.SchemaImpl;
0030:
0031: public class GMLSchema extends SchemaImpl {
0032: /**
0033: * <p>
0034: * <pre>
0035: * <code>
0036: * <complexType name="LinearRingMemberType">
0037: * <annotation>
0038: * <documentation>Restricts the outer or inner boundary of a polygon instance
0039: * to being a LinearRing.</documentation>
0040: * </annotation>
0041: * <complexContent>
0042: * <restriction base="gml:GeometryAssociationType">
0043: * <sequence minOccurs="0">
0044: * <element ref="gml:LinearRing"/>
0045: * </sequence>
0046: * <attributeGroup ref="gml:AssociationAttributeGroup"/>
0047: * </restriction>
0048: * </complexContent>
0049: * </complexType>
0050: *
0051: * </code>
0052: * </pre>
0053: * </p>
0054: *
0055: * @generated
0056: */
0057: public static final AttributeType LINEARRINGMEMBERTYPE_TYPE = AttributeTypeFactory
0058: .newAttributeType("LinearRingMemberType", LinearRing.class);
0059:
0060: /**
0061: * <p>
0062: * <pre>
0063: * <code>
0064: * <simpleType name="NullType">
0065: * <annotation>
0066: * <documentation>
0067: * If a bounding shape is not provided for a feature collection,
0068: * explain why. Allowable values are:
0069: * innapplicable - the features do not have geometry
0070: * unknown - the boundingBox cannot be computed
0071: * unavailable - there may be a boundingBox but it is not divulged
0072: * missing - there are no features
0073: * </documentation>
0074: * </annotation>
0075: * <restriction base="string">
0076: * <enumeration value="inapplicable"/>
0077: * <enumeration value="unknown"/>
0078: * <enumeration value="unavailable"/>
0079: * <enumeration value="missing"/>
0080: * </restriction>
0081: * </simpleType>
0082: *
0083: * </code>
0084: * </pre>
0085: * </p>
0086: *
0087: * @generated
0088: */
0089: public static final AttributeType NULLTYPE_TYPE = AttributeTypeFactory
0090: .newAttributeType("NullType", java.lang.Object.class);
0091:
0092: /**
0093: * <p>
0094: * <pre>
0095: * <code>
0096: * <complexType name="LineStringPropertyType">
0097: * <annotation>
0098: * <documentation>
0099: * Encapsulates a single LineString to represent centerLineOf or
0100: * edgeOf properties.
0101: * </documentation>
0102: * </annotation>
0103: * <complexContent>
0104: * <restriction base="gml:GeometryAssociationType">
0105: * <sequence minOccurs="0">
0106: * <element ref="gml:LineString"/>
0107: * </sequence>
0108: * <attributeGroup ref="xlink:simpleLink"/>
0109: * <attribute ref="gml:remoteSchema" use="optional"/>
0110: * </restriction>
0111: * </complexContent>
0112: * </complexType>
0113: *
0114: * </code>
0115: * </pre>
0116: * </p>
0117: *
0118: * @generated
0119: */
0120: public static final AttributeType LINESTRINGPROPERTYTYPE_TYPE = AttributeTypeFactory
0121: .newAttributeType("LineStringPropertyType",
0122: LineString.class);
0123:
0124: /**
0125: * <p>
0126: * <pre>
0127: * <code>
0128: * <complexType name="BoxType">
0129: * <annotation>
0130: * <documentation>
0131: * The Box structure defines an extent using a pair of coordinate tuples.
0132: * </documentation>
0133: * </annotation>
0134: * <complexContent>
0135: * <extension base="gml:AbstractGeometryType">
0136: * <sequence>
0137: * <choice>
0138: * <element maxOccurs="2" minOccurs="2" ref="gml:coord"/>
0139: * <element ref="gml:coordinates"/>
0140: * </choice>
0141: * </sequence>
0142: * </extension>
0143: * </complexContent>
0144: * </complexType>
0145: *
0146: * </code>
0147: * </pre>
0148: * </p>
0149: *
0150: * @generated
0151: */
0152: public static final AttributeType BOXTYPE_TYPE = AttributeTypeFactory
0153: .newAttributeType("BoxType", Envelope.class);
0154:
0155: /**
0156: * <p>
0157: * <pre>
0158: * <code>
0159: * <complexType name="MultiPolygonType">
0160: * <annotation>
0161: * <documentation>
0162: * A MultiPolygon is defined by one or more Polygons, referenced through
0163: * polygonMember elements.
0164: * </documentation>
0165: * </annotation>
0166: * <complexContent>
0167: * <restriction base="gml:GeometryCollectionType">
0168: * <sequence>
0169: * <element maxOccurs="unbounded" ref="gml:polygonMember"/>
0170: * </sequence>
0171: * <attribute name="gid" type="ID" use="optional"/>
0172: * <attribute name="srsName" type="anyURI" use="required"/>
0173: * </restriction>
0174: * </complexContent>
0175: * </complexType>
0176: *
0177: * </code>
0178: * </pre>
0179: * </p>
0180: *
0181: * @generated
0182: */
0183: public static final AttributeType MULTIPOLYGONTYPE_TYPE = AttributeTypeFactory
0184: .newAttributeType("MultiPolygonType", MultiPolygon.class);
0185:
0186: /**
0187: * <p>
0188: * <pre>
0189: * <code>
0190: * <complexType name="MultiPolygonPropertyType">
0191: * <annotation>
0192: * <documentation>
0193: * Encapsulates a MultiPolygon to represent the following discontiguous
0194: * geometric properties: multiCoverage, multiExtentOf.
0195: * </documentation>
0196: * </annotation>
0197: * <complexContent>
0198: * <restriction base="gml:GeometryAssociationType">
0199: * <sequence minOccurs="0">
0200: * <element ref="gml:MultiPolygon"/>
0201: * </sequence>
0202: * <attributeGroup ref="xlink:simpleLink"/>
0203: * <attribute ref="gml:remoteSchema" use="optional"/>
0204: * </restriction>
0205: * </complexContent>
0206: * </complexType>
0207: *
0208: * </code>
0209: * </pre>
0210: * </p>
0211: *
0212: * @generated
0213: */
0214: public static final AttributeType MULTIPOLYGONPROPERTYTYPE_TYPE = AttributeTypeFactory
0215: .newAttributeType("MultiPolygonPropertyType",
0216: MultiPolygon.class);
0217:
0218: /**
0219: * <p>
0220: * <pre>
0221: * <code>
0222: * <complexType name="PointMemberType">
0223: * <annotation>
0224: * <documentation>Restricts the geometry member to being a Point instance.</documentation>
0225: * </annotation>
0226: * <complexContent>
0227: * <restriction base="gml:GeometryAssociationType">
0228: * <sequence minOccurs="0">
0229: * <element ref="gml:Point"/>
0230: * </sequence>
0231: * <attributeGroup ref="gml:AssociationAttributeGroup"/>
0232: * </restriction>
0233: * </complexContent>
0234: * </complexType>
0235: *
0236: * </code>
0237: * </pre>
0238: * </p>
0239: *
0240: * @generated
0241: */
0242: public static final AttributeType POINTMEMBERTYPE_TYPE = AttributeTypeFactory
0243: .newAttributeType("PointMemberType", Point.class);
0244:
0245: /**
0246: * <p>
0247: * <pre>
0248: * <code>
0249: * <complexType name="BoundingShapeType">
0250: * <annotation>
0251: * <documentation>
0252: * Bounding shapes--a Box or a null element are currently allowed.
0253: * </documentation>
0254: * </annotation>
0255: * <sequence>
0256: * <choice>
0257: * <element ref="gml:Box"/>
0258: * <element name="null" type="gml:NullType"/>
0259: * </choice>
0260: * </sequence>
0261: * </complexType>
0262: *
0263: * </code>
0264: * </pre>
0265: * </p>
0266: *
0267: * @generated
0268: */
0269: public static final AttributeType BOUNDINGSHAPETYPE_TYPE = AttributeTypeFactory
0270: .newAttributeType("BoundingShapeType",
0271: java.lang.Object.class);
0272:
0273: /**
0274: * <p>
0275: * <pre>
0276: * <code>
0277: * <complexType name="MultiPointType">
0278: * <annotation>
0279: * <documentation>
0280: * A MultiPoint is defined by one or more Points, referenced through
0281: * pointMember elements.
0282: * </documentation>
0283: * </annotation>
0284: * <complexContent>
0285: * <restriction base="gml:GeometryCollectionType">
0286: * <sequence>
0287: * <element maxOccurs="unbounded" ref="gml:pointMember"/>
0288: * </sequence>
0289: * <attribute name="gid" type="ID" use="optional"/>
0290: * <attribute name="srsName" type="anyURI" use="required"/>
0291: * </restriction>
0292: * </complexContent>
0293: * </complexType>
0294: *
0295: * </code>
0296: * </pre>
0297: * </p>
0298: *
0299: * @generated
0300: */
0301: public static final AttributeType MULTIPOINTTYPE_TYPE = AttributeTypeFactory
0302: .newAttributeType("MultiPointType", MultiPoint.class);
0303:
0304: /**
0305: * <p>
0306: * <pre>
0307: * <code>
0308: * <complexType name="MultiPointPropertyType">
0309: * <annotation>
0310: * <documentation>
0311: * Encapsulates a MultiPoint element to represent the following
0312: * discontiguous geometric properties: multiLocation, multiPosition,
0313: * multiCenterOf.
0314: * </documentation>
0315: * </annotation>
0316: * <complexContent>
0317: * <restriction base="gml:GeometryAssociationType">
0318: * <sequence minOccurs="0">
0319: * <element ref="gml:MultiPoint"/>
0320: * </sequence>
0321: * <attributeGroup ref="xlink:simpleLink"/>
0322: * <attribute ref="gml:remoteSchema" use="optional"/>
0323: * </restriction>
0324: * </complexContent>
0325: * </complexType>
0326: *
0327: * </code>
0328: * </pre>
0329: * </p>
0330: *
0331: * @generated
0332: */
0333: public static final AttributeType MULTIPOINTPROPERTYTYPE_TYPE = AttributeTypeFactory
0334: .newAttributeType("MultiPointPropertyType",
0335: MultiPoint.class);
0336:
0337: /**
0338: * <p>
0339: * <pre>
0340: * <code>
0341: * <complexType name="PolygonType">
0342: * <annotation>
0343: * <documentation>
0344: * A Polygon is defined by an outer boundary and zero or more inner
0345: * boundaries which are in turn defined by LinearRings.
0346: * </documentation>
0347: * </annotation>
0348: * <complexContent>
0349: * <extension base="gml:AbstractGeometryType">
0350: * <sequence>
0351: * <element ref="gml:outerBoundaryIs"/>
0352: * <element maxOccurs="unbounded" minOccurs="0" ref="gml:innerBoundaryIs"/>
0353: * </sequence>
0354: * </extension>
0355: * </complexContent>
0356: * </complexType>
0357: *
0358: * </code>
0359: * </pre>
0360: * </p>
0361: *
0362: * @generated
0363: */
0364: public static final AttributeType POLYGONTYPE_TYPE = AttributeTypeFactory
0365: .newAttributeType("PolygonType", Polygon.class);
0366:
0367: /**
0368: * <p>
0369: * <pre>
0370: * <code>
0371: * <complexType name="FeatureAssociationType">
0372: * <annotation>
0373: * <documentation>
0374: * An instance of this type (e.g. a featureMember) can either
0375: * enclose or point to a feature (or feature collection); this
0376: * type can be restricted in an application schema to allow only
0377: * specified features as valid participants in the association.
0378: * When serving as a simple link that references a remote feature
0379: * instance, the value of the gml:remoteSchema attribute can be
0380: * used to locate a schema fragment that constrains the target
0381: * instance.
0382: * </documentation>
0383: * </annotation>
0384: * <sequence minOccurs="0">
0385: * <element ref="gml:_Feature"/>
0386: * </sequence>
0387: * <attributeGroup ref="xlink:simpleLink"/>
0388: * <attribute ref="gml:remoteSchema" use="optional"/>
0389: * </complexType>
0390: *
0391: * </code>
0392: * </pre>
0393: * </p>
0394: *
0395: * @generated
0396: */
0397: public static final AttributeType FEATUREASSOCIATIONTYPE_TYPE = AttributeTypeFactory
0398: .newAttributeType("FeatureAssociationType",
0399: java.lang.Object.class);
0400:
0401: /**
0402: * <p>
0403: * <pre>
0404: * <code>
0405: * <complexType name="PolygonMemberType">
0406: * <annotation>
0407: * <documentation>Restricts the geometry member to being a Polygon instance.</documentation>
0408: * </annotation>
0409: * <complexContent>
0410: * <restriction base="gml:GeometryAssociationType">
0411: * <sequence minOccurs="0">
0412: * <element ref="gml:Polygon"/>
0413: * </sequence>
0414: * <attributeGroup ref="gml:AssociationAttributeGroup"/>
0415: * </restriction>
0416: * </complexContent>
0417: * </complexType>
0418: *
0419: * </code>
0420: * </pre>
0421: * </p>
0422: *
0423: * @generated
0424: */
0425: public static final AttributeType POLYGONMEMBERTYPE_TYPE = AttributeTypeFactory
0426: .newAttributeType("PolygonMemberType", Polygon.class);
0427:
0428: /**
0429: * <p>
0430: * <pre>
0431: * <code>
0432: * <complexType abstract="true" name="AbstractFeatureCollectionType">
0433: * <annotation>
0434: * <documentation>
0435: * A feature collection contains zero or more featureMember elements.
0436: * </documentation>
0437: * </annotation>
0438: * <complexContent>
0439: * <extension base="gml:AbstractFeatureCollectionBaseType">
0440: * <sequence>
0441: * <element maxOccurs="unbounded" minOccurs="0" ref="gml:featureMember"/>
0442: * </sequence>
0443: * </extension>
0444: * </complexContent>
0445: * </complexType>
0446: *
0447: * </code>
0448: * </pre>
0449: * </p>
0450: *
0451: * @generated
0452: */
0453: public static final AttributeType ABSTRACTFEATURECOLLECTIONTYPE_TYPE = AttributeTypeFactory
0454: .newAttributeType("AbstractFeatureCollectionType",
0455: java.lang.Object.class);
0456:
0457: /**
0458: * <p>
0459: * <pre>
0460: * <code>
0461: * <complexType name="GeometryPropertyType">
0462: * <annotation>
0463: * <documentation>
0464: * A simple geometry property encapsulates a geometry element.
0465: * Alternatively, it can function as a pointer (simple-type link)
0466: * that refers to a remote geometry element.
0467: * </documentation>
0468: * </annotation>
0469: * <sequence minOccurs="0">
0470: * <element ref="gml:_Geometry"/>
0471: * </sequence>
0472: * <attributeGroup ref="xlink:simpleLink"/>
0473: * <attribute ref="gml:remoteSchema" use="optional"/>
0474: * </complexType>
0475: *
0476: * </code>
0477: * </pre>
0478: * </p>
0479: *
0480: * @generated
0481: */
0482: public static final AttributeType GEOMETRYPROPERTYTYPE_TYPE = AttributeTypeFactory
0483: .newAttributeType("GeometryPropertyType",
0484: java.lang.Object.class);
0485:
0486: /**
0487: * <p>
0488: * <pre>
0489: * <code>
0490: * <complexType name="MultiLineStringPropertyType">
0491: * <annotation>
0492: * <documentation>
0493: * Encapsulates a MultiLineString element to represent the following
0494: * discontiguous geometric properties: multiEdgeOf, multiCenterLineOf.
0495: * </documentation>
0496: * </annotation>
0497: * <complexContent>
0498: * <restriction base="gml:GeometryAssociationType">
0499: * <sequence minOccurs="0">
0500: * <element ref="gml:MultiLineString"/>
0501: * </sequence>
0502: * <attributeGroup ref="xlink:simpleLink"/>
0503: * <attribute ref="gml:remoteSchema" use="optional"/>
0504: * </restriction>
0505: * </complexContent>
0506: * </complexType>
0507: *
0508: * </code>
0509: * </pre>
0510: * </p>
0511: *
0512: * @generated
0513: */
0514: public static final AttributeType MULTILINESTRINGPROPERTYTYPE_TYPE = AttributeTypeFactory
0515: .newAttributeType("MultiLineStringPropertyType",
0516: MultiLineString.class);
0517:
0518: /**
0519: * <p>
0520: * <pre>
0521: * <code>
0522: * <complexType name="CoordType">
0523: * <annotation>
0524: * <documentation>
0525: * Represents a coordinate tuple in one, two, or three dimensions.
0526: * </documentation>
0527: * </annotation>
0528: * <sequence>
0529: * <element name="X" type="decimal"/>
0530: * <element minOccurs="0" name="Y" type="decimal"/>
0531: * <element minOccurs="0" name="Z" type="decimal"/>
0532: * </sequence>
0533: * </complexType>
0534: *
0535: * </code>
0536: * </pre>
0537: * </p>
0538: *
0539: * @generated
0540: */
0541: public static final AttributeType COORDTYPE_TYPE = AttributeTypeFactory
0542: .newAttributeType("CoordType", java.lang.Object.class);
0543:
0544: /**
0545: * <p>
0546: * <pre>
0547: * <code>
0548: * <complexType abstract="true" name="AbstractFeatureType">
0549: * <annotation>
0550: * <documentation>
0551: * An abstract feature provides a set of common properties. A concrete
0552: * feature type must derive from this type and specify additional
0553: * properties in an application schema. A feature may optionally
0554: * possess an identifying attribute ('fid').
0555: * </documentation>
0556: * </annotation>
0557: * <sequence>
0558: * <element minOccurs="0" ref="gml:description"/>
0559: * <element minOccurs="0" ref="gml:name"/>
0560: * <element minOccurs="0" ref="gml:boundedBy"/>
0561: * <!-- additional properties must be specified in an application schema -->
0562: * </sequence>
0563: * <attribute name="fid" type="ID" use="optional"/>
0564: * </complexType>
0565: *
0566: * </code>
0567: * </pre>
0568: * </p>
0569: *
0570: * @generated
0571: */
0572: public static final AttributeType ABSTRACTFEATURETYPE_TYPE = AttributeTypeFactory
0573: .newAttributeType("AbstractFeatureType",
0574: java.lang.Object.class);
0575:
0576: /**
0577: * <p>
0578: * <pre>
0579: * <code>
0580: * <complexType abstract="true" name="AbstractFeatureCollectionBaseType">
0581: * <annotation>
0582: * <documentation>
0583: * This abstract base type just makes the boundedBy element mandatory
0584: * for a feature collection.
0585: * </documentation>
0586: * </annotation>
0587: * <complexContent>
0588: * <restriction base="gml:AbstractFeatureType">
0589: * <sequence>
0590: * <element minOccurs="0" ref="gml:description"/>
0591: * <element minOccurs="0" ref="gml:name"/>
0592: * <element ref="gml:boundedBy"/>
0593: * </sequence>
0594: * <attribute name="fid" type="ID" use="optional"/>
0595: * </restriction>
0596: * </complexContent>
0597: * </complexType>
0598: *
0599: * </code>
0600: * </pre>
0601: * </p>
0602: *
0603: * @generated
0604: */
0605: public static final AttributeType ABSTRACTFEATURECOLLECTIONBASETYPE_TYPE = AttributeTypeFactory
0606: .newAttributeType("AbstractFeatureCollectionBaseType",
0607: java.lang.Object.class);
0608:
0609: /**
0610: * <p>
0611: * <pre>
0612: * <code>
0613: * <complexType name="MultiLineStringType">
0614: * <annotation>
0615: * <documentation>
0616: * A MultiLineString is defined by one or more LineStrings, referenced
0617: * through lineStringMember elements.
0618: * </documentation>
0619: * </annotation>
0620: * <complexContent>
0621: * <restriction base="gml:GeometryCollectionType">
0622: * <sequence>
0623: * <element maxOccurs="unbounded" ref="gml:lineStringMember"/>
0624: * </sequence>
0625: * <attribute name="gid" type="ID" use="optional"/>
0626: * <attribute name="srsName" type="anyURI" use="required"/>
0627: * </restriction>
0628: * </complexContent>
0629: * </complexType>
0630: *
0631: * </code>
0632: * </pre>
0633: * </p>
0634: *
0635: * @generated
0636: */
0637: public static final AttributeType MULTILINESTRINGTYPE_TYPE = AttributeTypeFactory
0638: .newAttributeType("MultiLineStringType",
0639: MultiLineString.class);
0640:
0641: /**
0642: * <p>
0643: * <pre>
0644: * <code>
0645: * <complexType name="GeometryAssociationType">
0646: * <annotation>
0647: * <documentation>
0648: * An instance of this type (e.g. a geometryMember) can either
0649: * enclose or point to a primitive geometry element. When serving
0650: * as a simple link that references a remote geometry instance,
0651: * the value of the gml:remoteSchema attribute can be used to
0652: * locate a schema fragment that constrains the target instance.
0653: * </documentation>
0654: * </annotation>
0655: * <sequence minOccurs="0">
0656: * <element ref="gml:_Geometry"/>
0657: * </sequence>optional
0658: *
0659: * <!-- <attributeGroup ref="gml:AssociationAttributeGroup"/> -->
0660: * <attributeGroup ref="xlink:simpleLink"/>
0661: * <attribute ref="gml:remoteSchema" use="optional"/>
0662: * </complexType>
0663: *
0664: * </code>
0665: * </pre>
0666: * </p>
0667: *
0668: * @generated
0669: */
0670: public static final AttributeType GEOMETRYASSOCIATIONTYPE_TYPE = AttributeTypeFactory
0671: .newAttributeType("GeometryAssociationType",
0672: java.lang.Object.class);
0673:
0674: /**
0675: * <p>
0676: * <pre>
0677: * <code>
0678: * <complexType name="GeometryCollectionType">
0679: * <annotation>
0680: * <documentation>
0681: * A geometry collection must include one or more geometries, referenced
0682: * through geometryMember elements. User-defined geometry collections
0683: * that accept GML geometry classes as members must instantiate--or
0684: * derive from--this type.
0685: * </documentation>
0686: * </annotation>
0687: * <complexContent>
0688: * <extension base="gml:AbstractGeometryCollectionBaseType">
0689: * <sequence>
0690: * <element maxOccurs="unbounded" ref="gml:geometryMember"/>
0691: * </sequence>
0692: * </extension>
0693: * </complexContent>
0694: * </complexType>
0695: *
0696: * </code>
0697: * </pre>
0698: * </p>
0699: *
0700: * @generated
0701: */
0702: public static final AttributeType GEOMETRYCOLLECTIONTYPE_TYPE = AttributeTypeFactory
0703: .newAttributeType("GeometryCollectionType",
0704: java.lang.Object.class);
0705:
0706: /**
0707: * <p>
0708: * <pre>
0709: * <code>
0710: * <complexType name="CoordinatesType">
0711: * <annotation>
0712: * <documentation>
0713: * Coordinates can be included in a single string, but there is no
0714: * facility for validating string content. The value of the 'cs' attribute
0715: * is the separator for coordinate values, and the value of the 'ts'
0716: * attribute gives the tuple separator (a single space by default); the
0717: * default values may be changed to reflect local usage.
0718: * </documentation>
0719: * </annotation>
0720: * <simpleContent>
0721: * <extension base="string">
0722: * <attribute default="." name="decimal" type="string" use="optional"/>
0723: * <attribute default="," name="cs" type="string" use="optional"/>
0724: * <attribute default=" " name="ts" type="string" use="optional"/>
0725: * </extension>
0726: * </simpleContent>
0727: * </complexType>
0728: *
0729: * </code>
0730: * </pre>
0731: * </p>
0732: *
0733: * @generated
0734: */
0735: public static final AttributeType COORDINATESTYPE_TYPE = AttributeTypeFactory
0736: .newAttributeType("CoordinatesType", java.lang.Object.class);
0737:
0738: /**
0739: * <p>
0740: * <pre>
0741: * <code>
0742: * <complexType name="LineStringType">
0743: * <annotation>
0744: * <documentation>
0745: * A LineString is defined by two or more coordinate tuples, with
0746: * linear interpolation between them.
0747: * </documentation>
0748: * </annotation>
0749: * <complexContent>
0750: * <extension base="gml:AbstractGeometryType">
0751: * <sequence>
0752: * <choice>
0753: * <element maxOccurs="unbounded" minOccurs="2" ref="gml:coord"/>
0754: * <element ref="gml:coordinates"/>
0755: * </choice>
0756: * </sequence>
0757: * </extension>
0758: * </complexContent>
0759: * </complexType>
0760: *
0761: * </code>
0762: * </pre>
0763: * </p>
0764: *
0765: * @generated
0766: */
0767: public static final AttributeType LINESTRINGTYPE_TYPE = AttributeTypeFactory
0768: .newAttributeType("LineStringType", LineString.class);
0769:
0770: /**
0771: * <p>
0772: * <pre>
0773: * <code>
0774: * <complexType name="LineStringMemberType">
0775: * <annotation>
0776: * <documentation>Restricts the geometry member to being a LineString instance.</documentation>
0777: * </annotation>
0778: * <complexContent>
0779: * <restriction base="gml:GeometryAssociationType">
0780: * <sequence minOccurs="0">
0781: * <element ref="gml:LineString"/>
0782: * </sequence>
0783: * <attributeGroup ref="gml:AssociationAttributeGroup"/>
0784: * </restriction>
0785: * </complexContent>
0786: * </complexType>
0787: *
0788: * </code>
0789: * </pre>
0790: * </p>
0791: *
0792: * @generated
0793: */
0794: public static final AttributeType LINESTRINGMEMBERTYPE_TYPE = AttributeTypeFactory
0795: .newAttributeType("LineStringMemberType", LineString.class);
0796:
0797: /**
0798: * <p>
0799: * <pre>
0800: * <code>
0801: * <complexType name="MultiGeometryPropertyType">
0802: * <annotation>
0803: * <documentation>Encapsulates a MultiGeometry element.</documentation>
0804: * </annotation>
0805: * <complexContent>
0806: * <restriction base="gml:GeometryAssociationType">
0807: * <sequence minOccurs="0">
0808: * <element ref="gml:MultiGeometry"/>
0809: * </sequence>
0810: * <attributeGroup ref="xlink:simpleLink"/>
0811: * <attribute ref="gml:remoteSchema" use="optional"/>
0812: * </restriction>
0813: * </complexContent>
0814: * </complexType>
0815: *
0816: * </code>
0817: * </pre>
0818: * </p>
0819: *
0820: * @generated
0821: */
0822: public static final AttributeType MULTIGEOMETRYPROPERTYTYPE_TYPE = AttributeTypeFactory
0823: .newAttributeType("MultiGeometryPropertyType",
0824: java.lang.Object.class);
0825:
0826: /**
0827: * <p>
0828: * <pre>
0829: * <code>
0830: * <complexType name="PointPropertyType">
0831: * <annotation>
0832: * <documentation>
0833: * Encapsulates a single point to represent position, location, or
0834: * centerOf properties.
0835: * </documentation>
0836: * </annotation>
0837: * <complexContent>
0838: * <restriction base="gml:GeometryAssociationType">
0839: * <sequence minOccurs="0">
0840: * <element ref="gml:Point"/>
0841: * </sequence>
0842: * <attributeGroup ref="xlink:simpleLink"/>
0843: * <attribute ref="gml:remoteSchema" use="optional"/>
0844: * </restriction>
0845: * </complexContent>
0846: * </complexType>
0847: *
0848: * </code>
0849: * </pre>
0850: * </p>
0851: *
0852: * @generated
0853: */
0854: public static final AttributeType POINTPROPERTYTYPE_TYPE = AttributeTypeFactory
0855: .newAttributeType("PointPropertyType", Point.class);
0856:
0857: /**
0858: * <p>
0859: * <pre>
0860: * <code>
0861: * <complexType abstract="true" name="AbstractGeometryType">
0862: * <annotation>
0863: * <documentation>
0864: * All geometry elements are derived from this abstract supertype;
0865: * a geometry element may have an identifying attribute (gid).
0866: * It may be associated with a spatial reference system.
0867: * </documentation>
0868: * </annotation>
0869: * <complexContent>
0870: * <restriction base="anyType">
0871: * <attribute name="gid" type="ID" use="optional"/>
0872: * <attribute name="srsName" type="anyURI" use="optional"/>
0873: * </restriction>
0874: * </complexContent>
0875: * </complexType>
0876: *
0877: * </code>
0878: * </pre>
0879: * </p>
0880: *
0881: * @generated
0882: */
0883: public static final AttributeType ABSTRACTGEOMETRYTYPE_TYPE = AttributeTypeFactory
0884: .newAttributeType("AbstractGeometryType",
0885: java.lang.Object.class);
0886:
0887: /**
0888: * <p>
0889: * <pre>
0890: * <code>
0891: * <complexType abstract="true" name="AbstractGeometryCollectionBaseType">
0892: * <annotation>
0893: * <documentation>
0894: * This abstract base type for geometry collections just makes the
0895: * srsName attribute mandatory.
0896: * </documentation>
0897: * </annotation>
0898: * <complexContent>
0899: * <restriction base="gml:AbstractGeometryType">
0900: * <attribute name="gid" type="ID" use="optional"/>
0901: * <attribute name="srsName" type="anyURI" use="required"/>
0902: * </restriction>
0903: * </complexContent>
0904: * </complexType>
0905: *
0906: * </code>
0907: * </pre>
0908: * </p>
0909: *
0910: * @generated
0911: */
0912: public static final AttributeType ABSTRACTGEOMETRYCOLLECTIONBASETYPE_TYPE = AttributeTypeFactory
0913: .newAttributeType("AbstractGeometryCollectionBaseType",
0914: java.lang.Object.class);
0915:
0916: /**
0917: * <p>
0918: * <pre>
0919: * <code>
0920: * <complexType name="PointType">
0921: * <annotation>
0922: * <documentation>
0923: * A Point is defined by a single coordinate tuple.
0924: * </documentation>
0925: * </annotation>
0926: * <complexContent>
0927: * <extension base="gml:AbstractGeometryType">
0928: * <sequence>
0929: * <choice>
0930: * <element ref="gml:coord"/>
0931: * <element ref="gml:coordinates"/>
0932: * </choice>
0933: * </sequence>
0934: * </extension>
0935: * </complexContent>
0936: * </complexType>
0937: *
0938: * </code>
0939: * </pre>
0940: * </p>
0941: *
0942: * @generated
0943: */
0944: public static final AttributeType POINTTYPE_TYPE = AttributeTypeFactory
0945: .newAttributeType("PointType", Point.class);
0946:
0947: /**
0948: * <p>
0949: * <pre>
0950: * <code>
0951: * <complexType name="PolygonPropertyType">
0952: * <annotation>
0953: * <documentation>
0954: * Encapsulates a single polygon to represent coverage or extentOf
0955: * properties.
0956: * </documentation>
0957: * </annotation>
0958: * <complexContent>
0959: * <restriction base="gml:GeometryAssociationType">
0960: * <sequence minOccurs="0">
0961: * <element ref="gml:Polygon"/>
0962: * </sequence>
0963: * <attributeGroup ref="xlink:simpleLink"/>
0964: * <attribute ref="gml:remoteSchema" use="optional"/>
0965: * </restriction>
0966: * </complexContent>
0967: * </complexType>
0968: *
0969: * </code>
0970: * </pre>
0971: * </p>
0972: *
0973: * @generated
0974: */
0975: public static final AttributeType POLYGONPROPERTYTYPE_TYPE = AttributeTypeFactory
0976: .newAttributeType("PolygonPropertyType", Polygon.class);
0977:
0978: /**
0979: * <p>
0980: * <pre>
0981: * <code>
0982: * <complexType name="LinearRingType">
0983: * <annotation>
0984: * <documentation>
0985: * A LinearRing is defined by four or more coordinate tuples, with
0986: * linear interpolation between them; the first and last coordinates
0987: * must be coincident.
0988: * </documentation>
0989: * </annotation>
0990: * <complexContent>
0991: * <extension base="gml:AbstractGeometryType">
0992: * <sequence>
0993: * <choice>
0994: * <element maxOccurs="unbounded" minOccurs="4" ref="gml:coord"/>
0995: * <element ref="gml:coordinates"/>
0996: * </choice>
0997: * </sequence>
0998: * </extension>
0999: * </complexContent>
1000: * </complexType>
1001: *
1002: * </code>
1003: * </pre>
1004: * </p>
1005: *
1006: * @generated
1007: */
1008: public static final AttributeType LINEARRINGTYPE_TYPE = AttributeTypeFactory
1009: .newAttributeType("LinearRingType", LinearRing.class);
1010:
1011: public GMLSchema() {
1012: super ("http://www.opengis.net/gml");
1013:
1014: put(new Name("http://www.opengis.net/gml",
1015: "LinearRingMemberType"), LINEARRINGMEMBERTYPE_TYPE);
1016: put(new Name("http://www.opengis.net/gml", "NullType"),
1017: NULLTYPE_TYPE);
1018: put(new Name("http://www.opengis.net/gml",
1019: "LineStringPropertyType"), LINESTRINGPROPERTYTYPE_TYPE);
1020: put(new Name("http://www.opengis.net/gml", "BoxType"),
1021: BOXTYPE_TYPE);
1022: put(new Name("http://www.opengis.net/gml", "MultiPolygonType"),
1023: MULTIPOLYGONTYPE_TYPE);
1024: put(new Name("http://www.opengis.net/gml",
1025: "MultiPolygonPropertyType"),
1026: MULTIPOLYGONPROPERTYTYPE_TYPE);
1027: put(new Name("http://www.opengis.net/gml", "PointMemberType"),
1028: POINTMEMBERTYPE_TYPE);
1029: put(
1030: new Name("http://www.opengis.net/gml",
1031: "BoundingShapeType"), BOUNDINGSHAPETYPE_TYPE);
1032: put(new Name("http://www.opengis.net/gml", "MultiPointType"),
1033: MULTIPOINTTYPE_TYPE);
1034: put(new Name("http://www.opengis.net/gml",
1035: "MultiPointPropertyType"), MULTIPOINTPROPERTYTYPE_TYPE);
1036: put(new Name("http://www.opengis.net/gml", "PolygonType"),
1037: POLYGONTYPE_TYPE);
1038: put(new Name("http://www.opengis.net/gml",
1039: "FeatureAssociationType"), FEATUREASSOCIATIONTYPE_TYPE);
1040: put(
1041: new Name("http://www.opengis.net/gml",
1042: "PolygonMemberType"), POLYGONMEMBERTYPE_TYPE);
1043: put(new Name("http://www.opengis.net/gml",
1044: "AbstractFeatureCollectionType"),
1045: ABSTRACTFEATURECOLLECTIONTYPE_TYPE);
1046: put(new Name("http://www.opengis.net/gml",
1047: "GeometryPropertyType"), GEOMETRYPROPERTYTYPE_TYPE);
1048: put(new Name("http://www.opengis.net/gml",
1049: "MultiLineStringPropertyType"),
1050: MULTILINESTRINGPROPERTYTYPE_TYPE);
1051: put(new Name("http://www.opengis.net/gml", "CoordType"),
1052: COORDTYPE_TYPE);
1053: put(new Name("http://www.opengis.net/gml",
1054: "AbstractFeatureType"), ABSTRACTFEATURETYPE_TYPE);
1055: put(new Name("http://www.opengis.net/gml",
1056: "AbstractFeatureCollectionBaseType"),
1057: ABSTRACTFEATURECOLLECTIONBASETYPE_TYPE);
1058: put(new Name("http://www.opengis.net/gml",
1059: "MultiLineStringType"), MULTILINESTRINGTYPE_TYPE);
1060: put(new Name("http://www.opengis.net/gml",
1061: "GeometryAssociationType"),
1062: GEOMETRYASSOCIATIONTYPE_TYPE);
1063: put(new Name("http://www.opengis.net/gml",
1064: "GeometryCollectionType"), GEOMETRYCOLLECTIONTYPE_TYPE);
1065: put(new Name("http://www.opengis.net/gml", "CoordinatesType"),
1066: COORDINATESTYPE_TYPE);
1067: put(new Name("http://www.opengis.net/gml", "LineStringType"),
1068: LINESTRINGTYPE_TYPE);
1069: put(new Name("http://www.opengis.net/gml",
1070: "LineStringMemberType"), LINESTRINGMEMBERTYPE_TYPE);
1071: put(new Name("http://www.opengis.net/gml",
1072: "MultiGeometryPropertyType"),
1073: MULTIGEOMETRYPROPERTYTYPE_TYPE);
1074: put(
1075: new Name("http://www.opengis.net/gml",
1076: "PointPropertyType"), POINTPROPERTYTYPE_TYPE);
1077: put(new Name("http://www.opengis.net/gml",
1078: "AbstractGeometryType"), ABSTRACTGEOMETRYTYPE_TYPE);
1079: put(new Name("http://www.opengis.net/gml",
1080: "AbstractGeometryCollectionBaseType"),
1081: ABSTRACTGEOMETRYCOLLECTIONBASETYPE_TYPE);
1082: put(new Name("http://www.opengis.net/gml", "PointType"),
1083: POINTTYPE_TYPE);
1084: put(new Name("http://www.opengis.net/gml",
1085: "PolygonPropertyType"), POLYGONPROPERTYTYPE_TYPE);
1086: put(new Name("http://www.opengis.net/gml", "LinearRingType"),
1087: LINEARRINGTYPE_TYPE);
1088: }
1089: }
|