Schematron validation Property element may not carry both a reference to an object and contain an object. Property element must either carry a reference to an object or contain an object. GML base schema for GML 3 Components to support the GML encoding model. The abstract Schematron rules can be used by any schema that includes gmlBase. Copyright (c) 2001-2005 OGC, All Rights Reserved. For conditions, see OGC Software Notice http://www.opengeospatial.org/about/?page=ipr 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. 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 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. 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. Generic GML element to contain a heterogeneous collection of GML _Objects A non-abstract generic collection type that can be used as a document element for a collection of any GML types - Geometries, Topologies, Features ... FeatureCollections may only contain Features. GeometryCollections may only contain Geometrys. Bags are less constrained they must contain objects that are substitutable for gml:_Object. This may mix several levels, including Features, Definitions, Dictionaries, Geometries etc. The content model would ideally be member 0..* members 0..1 member 0..* for maximum flexibility in building a collection from both homogeneous and distinct components: included "member" elements each contain a single Object an included "members" element contains a set of Objects However, this is non-deterministic, thus prohibited by XSD. Generic GML element to contain a homogeneous array of GML _Objects A non-abstract generic collection type that can be used as a document element for a homogeneous collection of any GML types - Geometries, Topologies, Features ... Abstract element which acts as the head of a substitution group for packages of MetaData properties. An abstract base type for complex metadata types. Concrete element in the _MetaData substitution group, which permits any well-formed XML content. Intended to act as a container for metadata defined in external schemas, for which it is not possible to add the concrete components to the GML _MetaData substitution group directly. Deprecated with GML version 3.1.0. Deprecated with GML version 3.1.0. must carry a reference to an object or contain an object but not both 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). A pattern or base for derived types used to specify complex types corresponding to a UML aggregation association. An instance of this type serves as a pointer to a remote Object. A base for derived types used to specify complex types containing an array of objects, by unspecified UML association - either composition or aggregation. An instance of this type contains elements representing Objects. Ideally this type would be derived by extension of AssociationType. However, this leads to a non-deterministic content model, since both the base and the extension have minOccurs="0", and is thus prohibited in XML Schema. Contains or refers to a metadata package that contains metadata properties. Base type for complex metadata property types. 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. 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. 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. 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. 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.