
sbt-scalaxb.opengis.gml.gmlBase.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of geotrellis-server-opengis_2.12 Show documentation
Show all versions of geotrellis-server-opengis_2.12 Show documentation
GeoTrellis Server is a set of components designed to simplify viewing, processing, and serving raster data from arbitrary sources with an emphasis on doing so in a functional style.
The newest version!
// Generated by scalaxb.
package opengis.gml
/** 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.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
*/
/** 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.
*/
trait AbstractGMLType {
def standardObjectPropertiesSequence1: opengis.gml.StandardObjectPropertiesSequence
def gmlid: Option[String]
}
/** 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.
*/
case class BagType(standardObjectPropertiesSequence1: opengis.gml.StandardObjectPropertiesSequence,
member: Seq[opengis.gml.AssociationType] = Nil,
members: Option[opengis.gml.ArrayAssociationType] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends AbstractGMLType {
lazy val gmlid = attributes.get("@{http://www.opengis.net/gml}id") map { _.as[String]}
}
/** 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 ...
*/
case class ArrayType(standardObjectPropertiesSequence1: opengis.gml.StandardObjectPropertiesSequence,
members: Option[opengis.gml.ArrayAssociationType] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends AbstractGMLType {
lazy val gmlid = attributes.get("@{http://www.opengis.net/gml}id") map { _.as[String]}
}
/** An abstract base type for complex metadata types.
*/
trait AbstractMetaDataType {
def gmlid: Option[String]
}
/** Deprecated with GML version 3.1.0.
*/
case class GenericMetaDataType(mixed: Seq[scalaxb.DataRecord[Any]] = Nil,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends AbstractMetaDataType {
lazy val gmlid = attributes.get("@{http://www.opengis.net/gml}id") map { _.as[String]}
}
/** 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).
*/
case class AssociationType(associationtypesequence1: Option[opengis.gml.AssociationTypeSequence1] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) {
lazy val xlinktype = attributes("@{http://www.w3.org/1999/xlink}type").as[xlink.TypeType]
lazy val xlinkhref = attributes.get("@{http://www.w3.org/1999/xlink}href") map { _.as[java.net.URI]}
lazy val xlinkrole = attributes.get("@{http://www.w3.org/1999/xlink}role") map { _.as[java.net.URI]}
lazy val xlinkarcrole = attributes.get("@{http://www.w3.org/1999/xlink}arcrole") map { _.as[java.net.URI]}
lazy val xlinktitle = attributes.get("@{http://www.w3.org/1999/xlink}title") map { _.as[String]}
lazy val xlinkshow = attributes.get("@{http://www.w3.org/1999/xlink}show") map { _.as[xlink.ShowType]}
lazy val xlinkactuate = attributes.get("@{http://www.w3.org/1999/xlink}actuate") map { _.as[xlink.ActuateType]}
lazy val gmlremoteSchema = attributes.get("@{http://www.opengis.net/gml}remoteSchema") map { _.as[java.net.URI]}
}
case class AssociationTypeSequence1(_Object: scalaxb.DataRecord[Any])
/** 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.
*/
case class ReferenceType(attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) {
lazy val xlinktype = attributes("@{http://www.w3.org/1999/xlink}type").as[xlink.TypeType]
lazy val xlinkhref = attributes.get("@{http://www.w3.org/1999/xlink}href") map { _.as[java.net.URI]}
lazy val xlinkrole = attributes.get("@{http://www.w3.org/1999/xlink}role") map { _.as[java.net.URI]}
lazy val xlinkarcrole = attributes.get("@{http://www.w3.org/1999/xlink}arcrole") map { _.as[java.net.URI]}
lazy val xlinktitle = attributes.get("@{http://www.w3.org/1999/xlink}title") map { _.as[String]}
lazy val xlinkshow = attributes.get("@{http://www.w3.org/1999/xlink}show") map { _.as[xlink.ShowType]}
lazy val xlinkactuate = attributes.get("@{http://www.w3.org/1999/xlink}actuate") map { _.as[xlink.ActuateType]}
lazy val gmlremoteSchema = attributes.get("@{http://www.opengis.net/gml}remoteSchema") map { _.as[java.net.URI]}
}
/** 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.
*/
case class ArrayAssociationType(_Object: Seq[scalaxb.DataRecord[Any]] = Nil)
/** Base type for complex metadata property types.
*/
case class MetaDataPropertyType(any: Option[scalaxb.DataRecord[Any]] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) {
lazy val xlinktype = attributes("@{http://www.w3.org/1999/xlink}type").as[xlink.TypeType]
lazy val xlinkhref = attributes.get("@{http://www.w3.org/1999/xlink}href") map { _.as[java.net.URI]}
lazy val xlinkrole = attributes.get("@{http://www.w3.org/1999/xlink}role") map { _.as[java.net.URI]}
lazy val xlinkarcrole = attributes.get("@{http://www.w3.org/1999/xlink}arcrole") map { _.as[java.net.URI]}
lazy val xlinktitle = attributes.get("@{http://www.w3.org/1999/xlink}title") map { _.as[String]}
lazy val xlinkshow = attributes.get("@{http://www.w3.org/1999/xlink}show") map { _.as[xlink.ShowType]}
lazy val xlinkactuate = attributes.get("@{http://www.w3.org/1999/xlink}actuate") map { _.as[xlink.ActuateType]}
lazy val gmlremoteSchema = attributes.get("@{http://www.opengis.net/gml}remoteSchema") map { _.as[java.net.URI]}
lazy val about = attributes.get("@about") map { _.as[java.net.URI]}
}
/** 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.
*/
case class StringOrRefType(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map.empty) extends LocationPropertyTypableOption with DirectionPropertyTypeOption with CoverageFunctionTypeOption {
lazy val xlinktype = attributes("@{http://www.w3.org/1999/xlink}type").as[xlink.TypeType]
lazy val xlinkhref = attributes.get("@{http://www.w3.org/1999/xlink}href") map { _.as[java.net.URI]}
lazy val xlinkrole = attributes.get("@{http://www.w3.org/1999/xlink}role") map { _.as[java.net.URI]}
lazy val xlinkarcrole = attributes.get("@{http://www.w3.org/1999/xlink}arcrole") map { _.as[java.net.URI]}
lazy val xlinktitle = attributes.get("@{http://www.w3.org/1999/xlink}title") map { _.as[String]}
lazy val xlinkshow = attributes.get("@{http://www.w3.org/1999/xlink}show") map { _.as[xlink.ShowType]}
lazy val xlinkactuate = attributes.get("@{http://www.w3.org/1999/xlink}actuate") map { _.as[xlink.ActuateType]}
lazy val gmlremoteSchema = attributes.get("@{http://www.opengis.net/gml}remoteSchema") map { _.as[java.net.URI]}
}
case class StandardObjectPropertiesSequence(metaDataProperty: Seq[opengis.gml.MetaDataPropertyType] = Nil,
description: Option[opengis.gml.StringOrRefType] = None,
name: Seq[scalaxb.DataRecord[Any]] = Nil)
/** 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.
*/
case class AssociationAttributeGroup(xlinktype: xlink.TypeType,
xlinkhref: Option[java.net.URI] = None,
xlinkrole: Option[java.net.URI] = None,
xlinkarcrole: Option[java.net.URI] = None,
xlinktitle: Option[String] = None,
xlinkshow: Option[xlink.ShowType] = None,
xlinkactuate: Option[xlink.ActuateType] = None,
gmlremoteSchema: Option[java.net.URI] = None)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy