GML Subset schema for gml:metaDataProperty,gml:Polygon,gml:Point,gml:LineString,gml:LinearRing,gml:exterior,gml:interior,gml:surfaceProperty,gml:multiSurfacePropertyType,gml:_Feature,gml:featureMember,gml:CodeListType,gml:AngleType,gml:MeasureListType,gml:centerOf,gml:extentOf,gml:_MetaData,gml:Observation,gml:validTime,gml:beginPosition,gml:endPosition,gml:TimePeriod,gml:multiExtentOf,gml:_FeatureCollection,gml:CircleByCenterPoint,gml:Curve, written by gmlSubset.xslt. Contains or refers to a metadata package that contains metadata properties. Base type for complex metadata property types. Attribute group used to enable property elements to refer to their value remotely. It contains the simple link components from xlinks.xsd, with all members optional, and the remoteSchema attribute, which is also optional. These attributes can be attached to any element, thus allowing it to act as a pointer. The 'remoteSchema' attribute allows an element that carries link attributes to indicate that the element is declared in a remote schema rather than by the schema that constrains the current document instance. Reference to an XML Schema fragment that specifies the content model of the propertys value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere. A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch. An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane. This is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples. All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute ("gml:id"), a name (attribute "name") and a description (attribute "description"). It may be associated with a spatial reference system (attribute "srsName"). The following rules shall be adhered: - Every geometry type shall derive from this abstract type. - Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of _Geometry. This attribute is included for backward compatibility with GML 2 and is deprecated with GML 3. This identifer is superceded by "gml:id" inherited from AbstractGMLType. The attribute "gid" should not be used anymore and may be deleted in future versions of GML without further notice. All complexContent GML elements are directly or indirectly derived from this abstract supertype to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry. Elements in this hierarchy may have an ID and are thus referenceable. This content model group makes it easier to construct types that derive from AbstractGMLType and its descendents "by restriction". A reference to the group saves having to enumerate the standard object properties. Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority. Contains a simple text description of the object, or refers to an external description. This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation. Label for the object, normally a descriptive name. An object may have several names, typically assigned by different authorities. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. Name or code with an (optional) authority. Text token. If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus or authority for the term, such as the organisation who assigned the value, or the dictionary from which it is taken. A text string with an optional codeSpace attribute. Database handle for the object. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs. An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods. This is done by concatenating the URI for the document, a fragment separator, and the value of the id attribute. Optional reference to the CRS used by this geometry, with optional additional information to simplify use when a more complete definition of the CRS is not needed. In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType (see coordinateReferenceSystems.xsd). For well known references it is not required that the CRS description exists at the location the URI points to. If no srsName attribute is given, the CRS must be specified as part of the larger context this geometry element is part of, e.g. a geometric element like point, curve, etc. It is expected that this attribute will be specified at the direct position level only in rare cases. The "srsDimension" is the length of coordinate sequence (the number of entries in the list). This dimension is specified by the coordinate reference system. When the srsName attribute is omitted, this attribute shall be omitted. Optional additional and redundant information for a CRS to simplify use when a more complete definition of the CRS is not needed. This information shall be the same as included in the more complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted. Ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis labels, after spaces and forbiddden characters are removed. When the srsName attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall also be omitted. Ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbiddden characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute shall also be omitted. A set of values, representing a list of token with the lexical value space of NCName. The tokens are seperated by whitespace. A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty. Encapsulates a ring to represent the surface boundary property of a surface. The "_Ring" element is the abstract head of the substituition group for all closed boundaries of a surface patch. An abstraction of a ring to support surface boundaries of different complexity. The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This includes pre-defined and user-defined geometry elements. Any geometry element must be a direct or indirect extension/restriction of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry". Global element which acts as the head of a substitution group that may include any element which is a GML feature, object, geometry or complex value This abstract element is the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements. It is used to assert the model position of "class" elements declared in other GML schemas. A boundary of a surface consists of a number of rings. The "interior" rings seperate the surface / surface patch from the area enclosed by the rings. The "_Surface" element is the abstract head of the substituition group for all (continuous) surface elements. The "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre- and user-defined) geometric primitives. A Point is defined by a single coordinate tuple. GML supports two different ways to specify the direct poisiton of a point. 1. The "pos" element is of type DirectPositionType. Deprecated with GML version 3.1.0 for coordinates with ordinate values that are numbers. Use "pos" instead. The "coordinates" element shall only be used for coordinates with ordinates that require a string representation, e.g. DMS representations. Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2. DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since DirectPositions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the "srsName" attribute will in general be missing, if this particular DirectPosition is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS. XML List based on XML Schema double type. An element of this type contains a space-separated list of double values Deprecated with GML version 3.1.0. Tables or arrays of tuples. May be used for text-encoding of values from a table. Actually just a string, but allows the user to indicate which characters are used as separators. The value of the 'cs' attribute is the separator for coordinate values, and the value of the 'ts' attribute gives the tuple separator (a single space by default); the default values may be changed to reflect local usage. Defaults to CSV within a tuple, space between tuples. However, any string content will be schema-valid. Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "pos" element instead. Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML 3.0 and replaced by DirectPositionType. A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. It is backwards compatible with the LineString of GML 2, GM_LineString of ISO 19107 is implemented by LineStringSegment. GML supports two different ways to specify the control points of a line string. 1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve (reuse of existing points). 2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve only. The number of direct positions in the list must be at least two. Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0. Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards compatibility with GML 2. Deprecated with GML version 3.1.0. Use "posList" instead. An abstraction of a curve to support the different levels of complexity. The curve can always be viewed as a geometric primitive, i.e. is continuous. This property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for Point. A property that has a point as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0. DirectPositionList instances hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS). "count" allows to specify the number of direct positions in the list. If the attribute count is present then the attribute srsDimension shall be present, too. The "_Curve" element is the abstract head of the substituition group for all (continuous) curve elements. A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident. GML supports two different ways to specify the control points of a linear ring. 1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this ring, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this ring (reuse of existing points). 2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this ring only. The number of direct positions in the list must be at least four. Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0. Deprecated with GML version 3.1.0. Use "posList" instead. Deprecated with GML version 3.0 and included for backwards compatibility with GML 2. Use "pos" elements instead. This property element either references a surface via the XLink-attributes or contains the surface element. surfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Surface. A property that has a surface as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. An abstract feature provides a set of common properties, including id, metaDataProperty, name and description inherited from AbstractGMLType, plus boundedBy. A concrete feature type must derive from this type and specify additional properties in an application schema. A feature must possess an identifying attribute ('id' - 'fid' has been deprecated). deprecated deprecated in GML version 3.1 Bounding shape. Envelope defines an extent using a pair of positions defining opposite corners in arbitrary dimensions. The first direct position is the "lower corner" (a coordinate position consisting of all the minimal ordinates for each dimension for all points within the envelope), the second one the "upper corner" (a coordinate position consisting of all the maximal ordinates for each dimension for all points within the envelope). deprecated deprecated with GML version 3.0 deprecated Deprecated with GML version 3.1. Use the explicit properties "lowerCorner" and "upperCorner" instead. Deprecated with GML version 3.1.0. Use the explicit properties "lowerCorner" and "upperCorner" instead. Utility type for null elements. The value may be selected from one of the enumerated tokens, or may be a URI in which case this should identify a resource which describes the reason for the null. Some common reasons for a null value: innapplicable - the object does not have a value missing - The correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist. template - the value will be available later unknown - The correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists. withheld - the value is not divulged other:reason - as indicated by "reason" string Specific communities may agree to assign more strict semantics when these terms are used in a particular context. Deprecated in GML 3.1.0 Convenience property for generalised location. A representative location for plotting or analysis. Often augmented by one or more additional geometry properties with more specific semantics. Deprecated in GML 3.1.0 Container for a feature - follow gml:AssociationType pattern. List of values on a uniform nominal scale. List of text tokens. In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string. If a codeSpace attribute is present, then its value is a reference to a Reference System for the value, a dictionary or code list. XML List based on XML Schema Name type. An element of this type contains a space-separated list of Name values Value of an angle quantity recorded as a single number, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an angle, such as degrees or radians. [MODIFIED from GML 3.2] gml:MeasureType supports recording an amount encoded as a value of XML Schema double, together with a units of measure indicated by an attribute uom, short for "units Of measure". The value of the uom attribute identifies a reference system for the amount, usually a ratio or interval scale. The simple type gml:UomIdentifer defines the syntax and value space of the unit of measure identifier. This type specifies a character string of length at least one, and restricted such that it must not contain any of the following characters: ":" (colon), " " (space), (newline), (carriage return), (tab). This allows values corresponding to familiar abbreviations, such as "kg", "m/s", etc. It is recommended that the symbol be an identifier for a unit of measure as specified in the "Unified Code of Units of Measure" (UCUM) (http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for constructing identifiers for units of measure that are unique, and may be easily entered with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows ISO 2955 with modifications to remove ambiguities and other problems. This type specifies a URI, restricted such that it must start with one of the following sequences: "#", "./", "../", or a string of characters followed by a ":". These patterns ensure that the most common URI forms are supported, including absolute and relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of relative URI that could be mistaken for unit of measure symbol . NOTE It is possible to re-write such a relative URI to conform to the restriction (e.g. "./m/s"). In an instance document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a value corresponding to either - a conventional unit of measure symbol, - a link to a definition of a unit of measure that does not have a conventional symbol, or when it is desired to indicate a precise or variant definition. List of numbers with a uniform scale. The value of uom (Units Of Measure) attribute is a reference to a Reference System for the amount, either a ratio or position scale. Abstract element which acts as the head of a substitution group for packages of MetaData properties. An abstract base type for complex metadata types. This abstract element acts as the head of the substitution group for temporal primitives. The abstract supertype for temporal primitives. The abstract supertype for temporal objects. This abstract element acts as the head of the substitution group for temporal primitives and complexes. This element contains or points to a description of a sensor, instrument or procedure used for the observation This element contains or points to the specimen, region or station which is the object of the observation Container for an object representing the target or subject of an observation. The result of the observation: an image, external object, etc A pattern or base for derived types used to specify complex types corresponding to an unspecified UML association - either composition or aggregation. Restricts the cardinality of Objects contained in the association to a maximum of one. An instance of this type can contain an element representing an Object, or serve as a pointer to a remote Object. Descendents of this type can be restricted in an application schema to * allow only specified classes as valid participants in the aggregation * allow only association by reference (i.e. empty the content model) or by value (i.e. remove the xlinks). When used for association by reference, the value of the gml:remoteSchema attribute can be used to locate a schema fragment that constrains the target instance. In many cases it is desirable to impose the constraint prohibiting the occurence of both reference and value in the same instance, as that would be ambiguous. This is accomplished by adding a directive in the annotation element of the element declaration. This directive can be in the form of normative prose, or can use a Schematron pattern to automatically constrain co-occurrence - see the declaration for _strictAssociation below. If co-occurence is not prohibited, then both a link and content may be present. If this occurs in an instance, then the rule for interpretation is that the instance found by traversing the href provides the normative value of the property, and should be used when possible. The value(s) included as content may be used if the remote instance cannot be resolved. This may be considered to be a "cached" version of the value(s). The abstract supertype for temporal geometric primitives. A temporal geometry must be associated with a temporal reference system via URI. The Gregorian calendar with UTC is the default reference system, following ISO 8601. Other reference systems in common use include the GPS calendar and the Julian calendar. Direct representation of a temporal position. Indeterminate time values are also allowed, as described in ISO 19108. The indeterminatePosition attribute can be used alone or it can qualify a specific value for temporal position (e.g. before 2002-12, after 1019624400). For time values that identify position within a calendar, the calendarEraName attribute provides the name of the calendar era to which the date is referenced (e.g. the Meiji era of the Japanese calendar). The ISO 19108:2002 hierarchy of subtypes for temporal position are collapsed by defining a union of XML Schema simple types for indicating temporal position relative to a specific reference system. Dates and dateTime may be indicated with varying degrees of precision. dateTime by itself does not allow right-truncation, except for fractions of seconds. When used with non-Gregorian calendars based on years, months, days, the same lexical representation should still be used, with leading zeros added if the year value would otherwise have fewer than four digits. An ordinal position may be referenced via URI identifying the definition of an ordinal era. A time coordinate value is indicated as a decimal (e.g. UNIX time, GPS calendar). Calendar dates may be indicated with varying degrees of precision, using year, year-month, date. When used with non-Gregorian calendars based on years, months, days, the same lexical representation should still be used, with leading zeros added if the year value would otherwise have fewer than four digits. time is used for a position that recurs daily (see clause 5.4.4.2 of ISO 19108:2002). This enumerated data type specifies values for indeterminate positions. Omit back-pointers begunBy, endedBy. Direct representation of a temporal position This abstract element acts as the head of the substitution group for temporal geometric primitives. This model group is provided as an alternative to the abstract susbstitutionGroup head _timeLength. ISO 19136 comment 411 This element is an instance of the primitive xsd:duration simple type to enable use of the ISO 8601 syntax for temporal length (e.g. P5DT4H30M). It is a valid subtype of TimeDurationType according to section 3.14.6, rule 2.2.4 in XML Schema, Part 1. This element is a valid subtype of TimeDurationType according to section 3.14.6, rule 2.2.4 in XML Schema, Part 1. This type extends the built-in xsd:decimal simple type to allow floating-point values for temporal length. According to the ISO 11404 model you have to use positiveInteger together with appropriate values for radix and factor. The resolution of the time interval is to one radix ^(-factor) of the specified time unit (e.g. unit="second", radix="10", factor="3" specifies a resolution of milliseconds). It is a subtype of TimeDurationType. Standard units for measuring time intervals (see ISO 31-1). A property that has a collection of surfaces as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup. A MultiSurface is defined by one or more Surfaces, referenced through surfaceMember elements. The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection. NOTE: Array properties cannot reference remote geometry elements. This is the abstract root type of the geometric aggregates. This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element which is substitutable for "_Surface". This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array. A container for an array of surfaces. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported. The "_GeometricAggregate" element is the abstract head of the substituition group for all geometric aggremates. A feature collection contains zero or more features. Container for features - follow gml:ArrayAssociationType pattern. A CircleByCenterPoint is an ArcByCenterPoint with identical start and end angle to form a full circle. Again, this represenation can be used only in 2D. This variant of the arc requires that the points on the arc have to be computed instead of storing the coordinates directly. The control point is the center point of the arc plus the radius and the bearing at start and end. This represenation can be used only in 2D. GML supports two different ways to specify the control points of a curve segment. 1. A "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) element. The "pos" element contains a center point that is only part of this curve segment, a "pointProperty" element contains a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points). 2. The "posList" element can be used to specifiy the coordinates of the center point, too. The number of direct positions in the list must be one. Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0. Deprecated with GML version 3.1.0. Use "posList" instead. The radius of the arc. The bearing of the arc at the start. The bearing of the arc at the end. The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment. For an ArcByCenterPoint the interpolation is fixed as "circularArcCenterPointWithRadius". Since this type describes always a single arc, the attribute is fixed to "1". Curve segment defines a homogeneous segment of a curve. The attribute "numDerivativesAtStart" specifies the type of continuity between this curve segment and its predecessor. If this is the first curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. The attribute "numDerivativesAtEnd" specifies the type of continuity between this curve segment and its successor. If this is the last curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. The attribute "numDerivativesInterior" specifies the type of continuity that is guaranteed interior to the curve. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity. Value of a length (or distance) quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a length, such as metres or feet. CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema. The "_CurveSegment" element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism. Curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list. The orientation of the curve is positive. This element encapsulates the segments of the curve. This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array. A container for an array of curve segments.