I. Abstract
GeoSciML (Geoscience Markup Language) is a Standard for representing geological features commonly described and portrayed in geological maps, cross sections, geological reports and databases. The Standard is composed of multiple parts. Part 1 describes a logical model, which was originally developed by the IUGS CGI (Commission for the Management and Application of Geoscience Information). Part 2 (this document) describes encoding rules for the exchange of geological map data, geological time scales, boreholes, and metadata for laboratory analyses. The encoding rules define an application of Geography Markup Language (GML), which is itself an application of the Extensible Markup Language (XML).
II. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, API, openapi, html
III. Preface
The primary goal of this specification is to capture the schema, and encoding syntax of key elements described and portrayed in geological maps and databases, in order to enable information systems to interoperate with such data.
IV. Security considerations
No security considerations have been made for this Standard.
V. Submitting Organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
- Organization One
- Organization Two
VI. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
| Name | Affiliation |
|---|---|
| Eric Boisvert | Geological Survey of Canada (Natural Resources Canada) |
| Ollie Raymond | Geoscience Australia |
| Marcus Sen | British Geological Survey |
| Edd Lewis | British Geological Survey |
| Mark Rattenbury | Earth Sciences New Zealand |
VII. Contributors
Additional contributors to this Standard include the following:
Individual name(s), Organization
1. Scope
Part 2 of GeoSciML covers the representation in XML of features from the domain of geology (earth materials, geological units and stratigraphy, geological time, geological structures, geomorphology, geochemistry) and sampling features common to the practice of geoscience, such as boreholes and geological specimens.
2. Conformance
This standard defines an XML encoding which conforms to OGC GML 3.3 encoding rules, itself, an iteration over ISO 19136 (2007).
Requirements for one standardization target type are considered:
Data instance
Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web sitehttps://docs.ogc.org/is/16-008/16-008.html#_ftnref1[[1]].
All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.
3. Normative references
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
Arliss Whiteside, Jim Greenwood: OGC 06-121r9, OGC Web Service Common Implementation Specification. Open Geospatial Consortium (2010). https://docs.ogc.org/is/06-121r9/06-121r9/pdf.
ISO: ISO/TS 19103:2005, Geographic information — Conceptual schema language. International Organization for Standardization, Geneva (2005). https://www.iso.org/standard/37800.html.
ISO: ISO 19107:2003, Geographic information — Spatial schema. International Organization for Standardization, Geneva (2003). https://www.iso.org/standard/26012.html.
ISO: ISO 19108:2002/Cor 1:2006, Geographic information — Temporal schema — Technical Corrigendum 1. International Organization for Standardization, Geneva (2002). https://www.iso.org/standard/44883.html.
ISO: ISO 8601, Data elements and interchange formats — Information interchange — Representation of dates and times. International Organization for Standardization, Geneva https://www.iso.org/standard/40874.html.
ISO: ISO 19136:2007, Geographic information — Geography Markup Language (GML). International Organization for Standardization, Geneva (2007). https://www.iso.org/standard/32554.html.
ISO: ISO 19156:2011, Geographic information — Observations and measurements. International Organization for Standardization, Geneva (2011). https://www.iso.org/standard/32574.html.
ISO: ISO 19111:2007, Geographic information — Spatial referencing by coordinates. International Organization for Standardization, Geneva (2007). https://www.iso.org/standard/41126.html.
ISO: ISO 19115:2003, Geographic information — Metadata. International Organization for Standardization, Geneva (2003). https://www.iso.org/standard/26020.html.
ISO: ISO 19101:2002, Geographic information — Reference model. International Organization for Standardization, Geneva (2002). https://www.iso.org/standard/26002.html.
Clemens Portele: OGC 07-036, OpenGIS Geography Markup Language (GML) Encoding Standard. Open Geospatial Consortium (2007). https://docs.ogc.org/is/07-036/07-036/pdf.
Simon Cox: OGC 10-025r1, Observations and Measurements — XML Implementation. Open Geospatial Consortium (2011). https://docs.ogc.org/is/10-025r1/10-025r1/pdf.
Alexandre Robin: OGC 08-094r1, OGC® SWE Common Data Model Encoding Standard. Open Geospatial Consortium (2011). https://docs.ogc.org/is/08-094r1/08-094r1/pdf.
T. Berners-Lee, R. Fielding, L. Masinter: IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. RFC Publisher (2005). https://www.rfc-editor.org/info/rfc3986.
ISO/IEC: ISO/IEC 19757-3, Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation using Schematron. International Organization for Standardization, International Electrotechnical Commission, Geneva https://www.iso.org/standard/74515.html.
Policy SWG: OGC 08-131r3, The Specification Model — Standard for Modular specifications. Open Geospatial Consortium (2009). https://docs.ogc.org/pol/08-131r3/08-131r3/pdf.
OMG: Unified Modeling Language (UML). Version 2.3
Schadow, G. and McDonald, C. J.: Unified Code for Units of Measure (UCUM) — Version 2.0.1
Murphy, M. A. and Salvador, A.: International Stratigraphic Guide – an abridged version accessed online at URL (http://www.stratigraphy.org/index.php/ics-stratigraphicguide (1994)
W3C: Extensible Markup Language (XML) — Version 1.0 (Fourth Edition) (2006)
W3C: XML Schema — Version 1.0 (Second Edition) (2004)
INSPIRE Thematic Woring Group Geology: INSPIRE Data Specification for the spatial data theme Geology Version 3.0. European Commission Joint Research Centre (2013)
North American Geologic Map Data Model Steering Committee: NADM Conceptual Model 1.0—A conceptual model for geologic map information. U.S. Geological Survey Open-File Report 2004-1334, 58 p., accessed online at URL link:http://pubs.usgs.gov/of/2004/1334http://pubs.usgs.gov/of/2004/1334] (2004)
North American Geologic Map Data Model science language products _(http://ngmdb.usgs.gov/www-nadm/sltt/products.html)_
4. Terms and definitions
This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.
This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.
For the purposes of this document, the following additional terms and definitions apply.
A classifier is an abstract UML metaclass which describes (classifies) a set of instances having common features (not to be confused with the “Feature” stereotype from the OGC Feature Model). A feature declares a structural or behavioral characteristic of instances of classifiers. (http://www.uml-diagrams.org/classifier.html). Classes, Interfaces, Association, and Types are kinds of classifiers.
Feature of a type defined within a particular application domain.
Note 1 to entry: This may be contrasted with observations and sampling features, which are features of types defined for cross-domain purposes.
[SOURCE: ISO 19156:2011]
Basic information item of an XML document containing child elements, attributes and character data.
[SOURCE: OGC 07-036]
Abstraction of a real-world phenomenon.
[SOURCE: ISO 19101:2002]
Application schema written in XML Schema in accordance with the rules specified in OGC GML 3.3
[SOURCE: OGC 07-036]
XML document with a root element that is one of the elements AbstractFeature, Dictionary or TopoComplex, specified in the GML schema or any element of a substitution group of any of these elements.
[SOURCE: OGC 07-036]
Schema components in the XML namespace ― as specified in OGC GML 3.3
[SOURCE: OGC 07-036]
Set of operations having the objective of determining the value of a quantity.
[SOURCE: ]
Act of observing a property.
Note 1 to entry: The goal of an observation may be to measure or otherwise determine the value of a property.
[SOURCE: ]
Method, algorithm or instrument, or system which may be used in making an observation.
[SOURCE: ISO 19156:2011]
Estimate of the value of a property determined through a known procedure.
[SOURCE: ISO 19156:2011]
Facet or attribute of an object referenced by a name.
Example
Abby’s car has the color red, where “color red” is a property of the car instance.
The real-world domain feature of interest, such as a geological unit or structure which is observed.
[SOURCE: ISO 19156:2011]
Feature, such as a station, outcrop, borehole, section or specimen, which is involved in making observations of a domain feature.
Note 1 to entry: A sampling feature is purely an artefact of the observational strategy, and has no significance independent of the observational campaign.
[SOURCE: ISO 19156:2011]
XML document containing a collection of schema component definitions and declarations within the same target namespace.
Example Schema components of W3C XML Schema are types, elements, attributes, groups, etc.
Note 1 to entry: The W3C XML Schema provides an XML interchange format for schema information. A single schema document provides descriptions of components associated with a single XML namespace, but several documents may describe components in the same schema, i.e. the same target namespace.
[SOURCE: OGC 07-036]
5. Conventions
This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, use of XML schema, or special notes regarding how to read the document.
5.1. Identifiers
The normative provisions in this specification are denoted by a URI constructed using this pattern:
http://www.opengis.net/spec/{standard}/{m.n}
All requirements and conformance tests that appear in this document are denoted by a partial URI which is relative to this base. The identifier supports cross-referencing of class membership, dependencies, and links from each conformance test to the requirements tested. In this specification identifiers are expressed as partial URIs or paths, which can be appended to a base URI that identifies the specification as a whole in order to construct a complete URI for identification in an external context.
The URI for each requirements class has the form:
http://www.opengis.net/spec/geosciml-part2/5.0/req/[classM]
The URI for each requirement or recommendation has the form:
http://www.opengis.net/spec/geosciml-part2/5.0/req/[classM]/[reqN]
The URI for each conformance class has the form:
http://www.opengis.net/spec/geosciml-part2/5.0/conf/[classM]
The URI for each conformance test has the form:
http://www.opengis.net/spec/geosciml-part2/5.0/req/[classM]/[testN]
6. XML Encoding Requirement classes (Normative)
XSD schemas were derived from the UML model following GML 3.3 encoding (OGC ISO19136-2, OGC 10-129r1) that extends and supersedes some of ISO 19136-2007, specifically clauses 11 (CodeType encoding) and 12.3 (Association encoding)
The normative artefacts for XML encoding are the W3C XSD documents and W3C schematron SCH documents provided online with this specification. Those documents explicitly provide the requirements that must be met by any XML instance claiming compliance to this specification. Any requirements that cannot be expressed in XSD or SCH are described in the relevant XML encoding section of this document. Therefore, compliant XML instances shall
validate with XSD schemas,
pass schematron rules and then
pass compliance tests listed in relevant compliance sections.
6.1. Prefixes used in examples
For brevity in XML examples, namespace declarations might be omitted. Throughout this document, the following namespace mappings will be assumed:
Table 1 — Default prefix mapping for xml snippets
Also to improve readability, the following XML entities are used in instance examples.
<!ENTITY guid “http://www.ietf.org/rfc/rfc2616”>
<!ENTITY resource " http://resource.geosciml.org">
<!ENTITY nil “http://www.opengis.net/def/nil/OGC/0/unknown”>
]>
6.2. GeoSciML Core XML Abstract Requirements Class (Normative)
Requirements class 1: Requirements Class ‘GeoSciML Core XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| Target type | Data instance |
| Prerequisites | Web API https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-core W3C XML Schema Definition Language 1.1 ISO19118 Encoding ISO 19136:2007 Geography Markup Language (GML) ISO19136-2:2015 Geography Markup Language (GML) Part 2: Extended schemas and encoding rules http://www.opengis.net/doc/IS/OMXML/2.0 SWE Common 2.0 08-094r1 Clause 8 ISO19115-3 encoding (preliminary) |
| Normative statements | Recommendation 1: /rec/gsmlxsd-core/identifier-uri Recommendation 2: /rec/gsmlxsd-core/iso8601-time Requirement 1: /req/gsmlxsd-core/xsd Requirement 2: /req/gsmlxsd-core/sch Requirement 3: /req/gsmlxsd-core/codelist Requirement 4: /req/gsmlxsd-core/time-zone |
This requirements class is shared by all GML/XML GeoSciML instances.
6.2.1. XML document validation
An XML instance shall validate to both the XSD and schematron rules provided by this specification for each of the XML requirements classes.
| Identifier | /req/gsmlxsd-core/xsd |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | An XML instance SHALL validate against XSD schema. |
| Identifier | /req/gsmlxsd-core/sch |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | An XML instance SHALL pass schematron rules. |
6.2.2. CodeList
Open code lists (see 8.2.7) are encoded as gml:ReferenceType which is a sequence of gml:OwnershipAttributeGroup and gml:AssociationAttributeGroup, providing a series of xml attributes from W3C XLINK (link:http://www.w3.org/TR/xlink11/http://www.w3.org/TR/xlink11/]). A vocabulary term reference has mandatory xlink:href and xlink:title attributes.
<gsmlb:lithology link:href="http://resource.geosciml.org/ classifier/cgi/lithology/granite" xlink:title="granite"/>
The xlink:href contains an absolute HTTP URI that should resolve to a resource representation (often a SKOS document). The resource can have multiple representations and it is not guaranteed that an XML parsable document can be obtained from the vocabulary service.
| Identifier | /req/gsmlxsd-core/codelist |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | Vocabulary term SHALL be encoded with HTTP URI in xlink:href and provide a human readable description in xlink:title. |
6.2.3. Identifiers
The GeoSciML community has developed a best practice of using http://www.ietf.org/rfc/rfc2616# as a codespace for string with authority to designate string that are resolvable HTTP URI.
gml:identifier’s flagged with the specific codeSpace “http://www.ietf.org/rfc/rfc2616” should be resolvable HTTP URI that return an instance of itself.
| Identifier | /rec/gsmlxsd-core/identifier-uri |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | Feature identifiers (unique name) provided in gml:identifier and @codeSpace = “http://www.ietf.org/rfc/rfc2616” SHOULD be URI of resource using Linked Open Data principles. |
<gml:identifier
codeSpace="http://www.ietf.org/rfc/rfc2616/">
http://data.geoscience.gov.xx/feature/asc/geologicunit/stratno/25947</gml:identifier>
Resolving link:http://data.geoscience.gov.xx/feature/asc/geologicunit/stratno/25947http://data.geoscience.gov.xx/feature/asc/geologicunit/stratno/25947] shall return:
<gsmlb:GeologicUnit gml:id=“G1”>
(…)
<gml:identifier codeSpace="
http://www.ietf.org/rfc/rfc2616/">
http://data.geoscience.gov.xx/feature/asc/geologicunit/stratno/25947</gml:identifier>
(…)
</gsmlb:GeologicUnit>
6.2.4. Nillables or Voidables
A nillable property (identified as “voidable” in the UML model) is a property than can document the reason that a value is not provided. There are two ways to identify a nil value.
Using XSD xsi:nil=”true” and nilReason. Where available, this encoding method should be used to indicate nilled property values.
Using a HTTP URI identifier defined by a community as representing a null value. OGC uses link:http://www.opengis.net/def/nil/OGC/0/%7bnilReason%7dhttp://www.opengis.net/def/nil/OGC/0/{nilReason}] (OGC 12-110).
6.2.5. Date encoding
The date-time values shall conform to ISO 8601 standards. Although this is already a GML 3.2 encoding rule (clause 14.2.2.7), this format should also be used in any string that should contain a date, or date and time.
| Identifier | /rec/gsmlxsd-core/iso8601-time |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | All date-time occurrences SHOULD be encoded using ISO8601 extended time format. |
Note that this precludes the use of time-coordinate systems such as UNIX time. This is specified in order to be maximally consistent with TimeSeriesML requirements.
The time zone shall be included in the time element.
| Identifier | /req/gsmlxsd-core/time-zone |
|---|---|
| Included in | Requirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core |
| A | The value of each time element SHALL include a time zone definition using a signed 4 digit character or a ‘Z’ to represent Zulu or Greenwich Mean Time (GMT). This is defined by the following regular expression: (Z|[+-]HH:MM). |
Greenwich Mean Time (GMT or Zulu)
---
<om:phenomenonTime>
<gml:TimeInstant gml:id="ti.1">
<gml:timePosition>1981-09-12T00:00:00Z</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
---
Time Zone (example is Newfoundland time zone -3:30)
---
<om:phenomenonTime>
<gml:TimeInstant gml:id="ti.2">
<gml:timePosition>1981-09-12T00:00:00-03:30</gml:timePosition>
</gml:TimeInstant>
</om:phenomenonTime>
---
6.3. GeoSciML Basic XML Requirements Class (Normative)
Requirements class 2: Requirements Class ‘GeoSciML Basic XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-basic |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-basic /req/gsmlxsd-core |
| Normative statements | Requirement 5: /req/gsmlxsd-basic/xsd Requirement 6: /req/gsmlxsd-basic/sch |
All the elements from the basic package must be schema valid according to the XSD document provided at link:http://schemas.opengis.net/gsml/4.1/geoSciMLBasic.xsdhttp://schemas.opengis.net/gsml/4.1/geoSciMLBasic.xsd]
| Identifier | /req/gsmlxsd-basic/xsd |
|---|---|
| Included in | Requirements class 2: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-basic |
| A | An XML instance document SHALL validate with schema located at http://schemas.opengis.net/gsml/4.1/geoSciMLBasic.xsd. |
All the elements from basic package must pass the schematron rules defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/geoSciMLBasic.schhttp://schemas.opengis.net/gsml/4.1/geoSciMLBasic.sch].
| Identifier | /req/gsmlxsd-basic/sch |
|---|---|
| Included in | Requirements class 2: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-basic |
| A | An XML instance document SHALL pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/geoSciMLBasic.sch. |
Some properties links to stub property blocks (see 5.1) whose values are empty abstract classes in the GeoSciML Basic package. Since abstract description classes are DataType, the property is inline only and therefore an empty property is not schema valid.
This instance is not XSD valid:
<?xml version=“1.0” encoding=“UTF-8”?>
<GeologicUnit xmlns="http://www.opengis.net/gsml/4.1/GeoSciML-Basic"
xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="x1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.geosciml.org/GeoSciML-Basic/4.1
http://schemas.geosciml.org/geosciml/4.1/geoSciMLBasic.xsd">
…
<gbMaterialDescription></gbMaterialDescription>
…
</GeologicUnit>
6.3.1. relatedFeature
In GeoSciML Basic, relatedFeature is byReference only. AbstractFeatureRelation subtypes are materialized in Extension package.
6.4. GeoSciML Extension XML Requirements Class (Normative)
Requirements class 3: Requirements Class ‘GeoSciML Extension XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-extension |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-extension /req/gsmlxsd-basic /req/gsmlxsd-geologictime |
| Normative statements | Requirement 7: /req/gsmlxsd-extension/xsd Requirement 8: /req/gsmlxsd-extension/sch |
All the elements from the GeoSciML Extension package must be schema valid according to the XSD document provided at link:http://schemas.opengis.net/gsml/4.1/geoSciMLExtension.xsdhttp://schemas.opengis.net/gsml/4.1/geoSciMLExtension.xsd].
| Identifier | /req/gsmlxsd-extension/xsd |
|---|---|
| Included in | Requirements class 3: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-extension |
| A | An XML instance document SHALL validate with schema located at http://schemas.opengis.net/gsml/4.1/geoSciMLExtension.xsd. |
All the elements from the GeoSciML Extension package must pass the schematron rules defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/geoSciMLExtension.schhttp://schemas.opengis.net/gsml/4.1/geoSciMLExtension.sch].
| Identifier | /req/gsmlxsd-extension/sch |
|---|---|
| Included in | Requirements class 3: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-extension |
| A | An XML instance document SHALL pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/geoSciMLExtension.sch. |
6.5. GeoSciML GeologicTime XML Requirements Class (Normative)
Requirements class 4: Requirements Class ‘GeoSciML GeologicTime XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-geologictime |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-geologictime /req/gsmlxsd-core |
| Normative statements | Requirement 9: /req/gsmlxsd-geologictime/xsd Requirement 10: /req/gsmlxsd-geologictime/sch |
All the elements from the GeoSciML Geologic Time package must be schema valid according to the XSD document provided at link:http://schemas.opengis.net/gsml/4.1/geologicTime.xsdhttp://schemas.opengis.net/gsml/4.1/geologicTime.xsd].
| Identifier | /req/gsmlxsd-geologictime/xsd |
|---|---|
| Included in | Requirements class 4: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-geologictime |
| A | An XML instance document SHALL validate with schema located at http://schemas.opengis.net/gsml/4.1/geologicTime.xsd. |
All the elements from the GeoSciML Geologic Time package must pass the schematron rules defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/geologictime.schhttp://schemas.opengis.net/gsml/4.1/geologictime.sch].
| Identifier | /req/gsmlxsd-geologictime/sch |
|---|---|
| Included in | Requirements class 4: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-geologictime |
| A | An XML instance document SHALL pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/geologicTime.sch. |
6.6. GeoSciML Borehole XML Requirements Class (Normative)
Requirements class 5: Requirements Class ‘GeoSciML Borehole XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-borehole |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-borehole /req/gsmlxsd-core |
| Normative statements | Requirement 11: /req/gsmlxsd-borehole/xsd Requirement 12: /req/gsmlxsd-borehole/sch |
All the elements from the Borehole package must be schema valid according to the XSD document provided at link:http://schemas.opengis.net/gsml/4.1/borehole.xsdhttp://schemas.opengis.net/gsml/4.1/borehole.xsd].
| Identifier | /req/gsmlxsd-borehole/xsd |
|---|---|
| Included in | Requirements class 5: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-borehole |
| A | An XML instance document shall validate with schema located at http://schemas.opengis.net/gsml/4.1/borehole.xsd. |
All the elements from the Borehole package must pass the schematron rule defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/borehole.schhttp://schemas.opengis.net/gsml/4.1/borehole.sch].
| Identifier | /req/gsmlxsd-borehole/sch |
|---|---|
| Included in | Requirements class 5: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-borehole |
| A | An XML instance document shall pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/borehole.sch. |
6.7. GeoSciML LaboratoryAnalysis-Specimen XML Requirements Class (Normative)
Requirements class 6: Requirements Class ‘GeoSciML LaboratoryAnalysis-Specimen XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lab |
| Target type | Data instance |
| Prerequisites | /req/gsml-lab /req/gsmlxsd-core |
| Normative statements | Requirement 13: /req/gsmlxsd-lab/xsd Requirement 14: /req/gsmlxsd-lab/sch |
All the elements from the GeoSciML Laboratory Analysis & Specimen package must be schema valid according to the XSD document provided at link:http://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.xsdhttp://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.xsd].
| Identifier | /req/gsmlxsd-lab/xsd |
|---|---|
| Included in | Requirements class 6: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lab |
| A | An XML instance document SHALL validate with schema located at http://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.xsd. |
All the elements from the GeoSciML Laboratory Analysis & Specimen package must pass the schematron rule defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.schhttp://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.sch].
| Identifier | /req/gsmlxsd-lab/sch |
|---|---|
| Included in | Requirements class 6: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lab |
| A | XML instance document SHALL pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/laboratoryAnalysis-Specimen.sch. |
6.8. Abstract GeoSciML Lite XML Requirements Class (Normative)
Requirements class 7: Requirements Class ‘Abstract GeoSciML Lite XML’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-lite /req/gsmlxsd-core GML Simple Feature OGC 10-100r3 SF-0 |
| Normative statements | Recommendation 3: /rec/gsmlxsd-lite/SF-0-simpletype Recommendation 4: /rec/gsmlxsd-lite/user-xsd Recommendation 5: /rec/gsmlxsd-lite/user-ns Requirement 15: /req/gsmlxsd-lite/SF-0 |
The abstract GeoSciML Lite encoding sets general encoding rules for XML targets, regardless of version of GML.
6.8.1. Simple Feature
GeoSciML Lite schemas are meant to deliver simple content, consistent with simple scenarios described in GML Simple Feature Level 0 (OGC 10-100r3). User defined properties must respect the same constrains as defined in SF-0 specification.
| Identifier | /req/gsmlxsd-lite/SF-0 |
|---|---|
| Included in | Requirements class 7: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite |
| A | An XML instance document SHALL be compliant to GML Simple Feature Level 0. |
Simple Feature defines 3 compliance levels summarized in Table 2.
Table 2 — Reproduction of Table 1 of 10-100r3 (Clause 2.1)
| Level SF-0 | Level SF-1 | Level SF-2 | |
|---|---|---|---|
restricted set of built-in nonspatial property types | Yes1 | Yes1 | No |
| Restricted set of property-types | Yes2 | Yes2 | Yes2 |
| user-defined property types | No | Yes | Yes |
| use of nillable and xsi:nil | No | Yes | Yes |
| cardinality of properties | 0..1 | 0..unbounded | 0..unbounded |
non-spatial property values references | Yes3 | Yes3 | Yes |
spatial property values references | Yes3 | Yes3 | Yes |
|
6.8.2. Simple Content
SF-0 allows the definition of complex content (Clause 9.3.2 of OGC 10-100r3). To be consistent with the most common scenario encountered in GIS which is a direct mapping from a database table to XML, this specification recommends that user defined content be restricted to simple type.
| Identifier | /rec/gsmlxsd-lite/SF-0-simpletype |
|---|---|
| Included in | Requirements class 7: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite |
| A | User defined elements SHOULD be XSD simpleType. |
GeoSciML Lite allows user defined properties to be appended at the end of the list of feature properties using xsd:any
<any processContents="lax" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>A placeholder allowing any user-defined
attributes to be delivered in addition to those specified above.</documentation>
</annotation>
</any>
Process content is set to “lax”, which means the validator will attempt to validate user defined property only if a schema is. To help client applications and developers to validate instance containing user defined properties, a XSD schema should be provided in the instance’s schemaLocation attribute.
| Identifier | /rec/gsmlxsd-lite/user-xsd |
|---|---|
| Included in | Requirements class 7: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite |
| A | An XSD schema SHOULD be provided by data provider to validate user defined properties. |
6.8.3. User Defined Namespaces
This specification does not prescribe if the user types are to be defined in GeoSciML Lite namespace or using a different namespace. It is understood that this might be constrained by the technology used to generate the instance. But to avoid potential conflict with future minor changes to GeoSciML Lite, or name conflicts when aggregating results from many sources, it is recommended that the data providers, or the community, use different namespaces, if possible.
| Identifier | /rec/gsmlxsd-lite/user-ns |
|---|---|
| Included in | Requirements class 7: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite |
| A | User properties SHOULD be defined in a namespace unique to a community or a data provider. |
6.9. GeoSciML Lite GML 3.1 profile (Normative)
Requirements class 8: Requirements Class ‘GeoSciML Lite GML 3.1 profile’ | |
|---|---|
| Identifier | https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite-31 |
| Target type | Data instance |
| Prerequisites | https://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-lite /req/gsmlxsd-lite |
| Normative statements | Requirement 16: /req/gsmlxsd-lite-31/xsd Requirement 17: /req/gsmlxsd-lite-31/sch |
Because of the limited availability of WFS 2.0 compliant servers and clients, GeoSciML SWG officially supports WFS 1.1.0 and GML 3.1.1 for delivery of Lite features.
All the elements from the GeoSciML Lite package must be schema valid according to the XSD document provided at http://schemas.opengis.net/gsml/4.1/geosciml-lite.xsd.
| Identifier | /req/gsmlxsd-lite-31/xsd |
|---|---|
| Included in | Requirements class 8: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite-31 |
| A | An XML instance document shall validate with schema located at http://schemas.opengis.net/gsml/4.1/geosciml-portrayal.xsd. |
All the elements from the GeoSciML Lite package must pass the schematron rules defined in the schematron file located at link:http://schemas.opengis.net/gsml/4.1/geosciml-lite.schhttp://schemas.opengis.net/gsml/4.1/geosciml-lite.sch].
| Identifier | /req/gsmlxsd-lite-31/sch |
|---|---|
| Included in | Requirements class 8: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite-31 |
| A | An XML instance document shall pass schematron rules defined in schematron file located at http://schemas.opengis.net/gsml/4.1/geosciml-lite.sch. |
7. Media Types for any data encoding(s)
GeoSciML 5.0 data conforming to the logical model defined in Part 1 of GeoSciML can be encoded in GML-conformant XML documents. The standard MIME-type and sub-type for GML data should be used to indicate the encoding in internet exchange, as specified in MIME Media Types for GML, namely
application/gml+xml
Annex A
(informative)
Conformance Class Abstract Test Suite (Normative)
A.1. GeoSciML XML Encoding Abstract Core
| Identifier | /conf/gsmlxsd-core |
|---|---|
| Requirements class | /req/gsmlxsd-core |
| Prerequisite | OGC 10-025r1 OMXML Observations and Measurements — XML Implementation |
| Conformance tests | Abstract test A.1: /conf/gsmlxsd-core/xsd Abstract test A.2: /conf/gsmlxsd-core/sch Abstract test A.3: /conf/gsmlxsd-core/codelist Abstract test A.4: /conf/gsmlxsd-core/time-zone |
| Identifier | /conf/gsmlxsd-core/xsd |
|---|---|
| Requirement | Requirement 1: /req/gsmlxsd-core/xsd |
| Test purpose | Ensure that GeoSciML XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-core/sch |
|---|---|
| Requirement | Requirement 2: /req/gsmlxsd-core/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
| Identifier | /conf/gsmlxsd-core/codelist |
|---|---|
| Requirement | Requirement 3: /req/gsmlxsd-core/codelist |
| Test purpose | Ensure that vocabulary xlink:href contain an absolute http URI and this URL resolves to relevant content |
| Test method | Test the URI on the web. If the URI does not resolve or return a 4xx error, the test fails. |
| Identifier | /conf/gsmlxsd-core/time-zone |
|---|---|
| Requirement | Requirement 4: /req/gsmlxsd-core/time-zone |
| Test purpose | Ensure that time zones are expressed explicitly |
| Test method | Visually inspect instance to validate the presence of time zone indicators. |
A.2. GeoSciML Basic XML Encoding
| Identifier | /conf/gsmlxsd-basic |
|---|---|
| Requirements class | /req/gsmlxsd-basic |
| Prerequisite | Conformance class A.1: /conf/gsmlxsd-core |
| Conformance tests | Abstract test A.5: /conf/gsmlxsd-basic/xsd Abstract test A.6: /conf/gsmlxsd-basic/sch |
| Identifier | /conf/gsmlxsd-basic/xsd |
|---|---|
| Requirement | Requirement 5: /req/gsmlxsd-basic/xsd |
| Test purpose | Ensure that GeoSciML Basic XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-basic/sch |
|---|---|
| Requirement | Requirement 6: /req/gsmlxsd-basic/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
A.3. GeoSciML Extension XML Encoding
| Identifier | /conf/gsmlxsd-extension |
|---|---|
| Requirements class | /req/gsmlxsd-extension |
| Prerequisite | /conf/gsmlxsd-core/basic |
| Conformance tests | Abstract test A.7: /conf/gsmlxsd-extension/xsd Abstract test A.8: /conf/gsmlxsd-extension/sch |
| Identifier | /conf/gsmlxsd-extension/xsd |
|---|---|
| Requirement | Requirement 7: /req/gsmlxsd-extension/xsd |
| Test purpose | Ensure that GeoSciML Extension XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-extension/sch |
|---|---|
| Requirement | Requirement 8: /req/gsmlxsd-extension/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
A.4. GeoSciML GeologicTime XML Encoding
| Identifier | /conf/gsmlxsd-geologictime |
|---|---|
| Requirements class | /req/gsmlxsd-geologictime |
| Prerequisite | Conformance class A.1: /conf/gsmlxsd-core |
| Conformance tests | Abstract test A.9: /conf/gsmlxsd-geologictime/xsd Abstract test A.10: /conf/gsmlxsd-geologictime/sch |
| Identifier | /conf/gsmlxsd-geologictime/xsd |
|---|---|
| Requirement | Requirement 9: /req/gsmlxsd-geologictime/xsd |
| Test purpose | Ensure that GeoSciML Geologic Time XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-geologictime/sch |
|---|---|
| Requirement | Requirement 10: /req/gsmlxsd-geologictime/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
A.5. GeoSciML Borehole XML Encoding
| Identifier | /conf/gsmlxsd-borehole |
|---|---|
| Requirements class | /req/gsmlxsd-borehole |
| Prerequisites | Conformance class A.1: /conf/gsmlxsd-core OGC 10-025r1 OMXML |
| Conformance tests | Abstract test A.11: /conf/gsmlxsd-borehole/xsd Abstract test A.12: /conf/gsmlxsd-borehole/sch |
| Identifier | /conf/gsmlxsd-borehole/xsd |
|---|---|
| Requirement | Requirement 11: /req/gsmlxsd-borehole/xsd |
| Test purpose | Ensure that GeoSciML Borehole XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-borehole/sch |
|---|---|
| Requirement | Requirement 12: /req/gsmlxsd-borehole/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
A.6. GeoSciML LaboratoryAnalysis-Specimen XML Encoding
Conformance class A.6: GeoSciML LaboratoryAnalysis-Specimen XML Encoding | |
|---|---|
| Identifier | /conf/gsmlxsd-lab |
| Requirements class | /req/gsmlxsd-lab |
| Prerequisites | Conformance class A.1: /conf/gsmlxsd-core OGC 10-025r1 OMXML |
| Conformance tests | Abstract test A.13: /conf/gsmlxsd-lab/xsd Abstract test A.14: /conf/gsmlxsd-lab/sch |
| Identifier | /conf/gsmlxsd-lab/xsd |
|---|---|
| Requirement | Requirement 13: /req/gsmlxsd-lab/xsd |
| Test purpose | Ensure that GeoSciML Laboratory and Analysis XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-lab/sch |
|---|---|
| Requirement | Requirement 14: /req/gsmlxsd-lab/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
A.7. GeoSciML Lite XML Abstract Encoding
| Identifier | /conf/gsmlxsd-lite |
|---|---|
| Requirements class | /req/gsmlxsd-lite |
| Prerequisite | OGC 05-033r9: Annex A |
| Conformance test | Abstract test A.15: /conf/gsmlxsd-lite/SF-0 |
| Identifier | /conf/gsmlxsd-lite/SF-0 |
|---|---|
| Requirement | Requirement 15: /req/gsmlxsd-lite/SF-0 |
| Test purpose | Ensure that XML instance is compliant to OGC Simple Feature SF-0 |
| Test method | Perform the test in OGC 05-033r9 Annex A |
A.8. GeoSciML Lite XML Encoding for GML
| Identifier | /conf/gsmlxsd-lite-31 |
|---|---|
| Requirements class | /req/gsmlxsd-lite-31 |
| Prerequisite | /req/gsmlxsd-lite |
| Conformance tests | Abstract test A.16: /conf/gsmlxsd-lite-31/xsd Abstract test A.17: /conf/gsmlxsd-lite-31/sch |
| Identifier | /conf/gsmlxsd-lite-31/xsd |
|---|---|
| Requirement | Requirement 16: /req/gsmlxsd-lite-31/xsd |
| Test purpose | Ensure that GeoSciML Lite XML documents are valid |
| Test method | Perform a XSD validation on a XML instance document. Test succeeds if the validation does not report any error. |
| Identifier | /conf/gsmlxsd-lite-31/sch |
|---|---|
| Requirement | Requirement 17: /req/gsmlxsd-lite-31/sch |
| Test purpose | Ensure that encoding rules defined in the specification are met |
| Test method | Perform a schematron validation on the XML instance. Test succeeds if the validation does not report any failed rules. |
Annex B
(informative)
Revision History
Table B.1
| Date | Release | Editor | Primary clauses modified | Description |
|---|---|---|---|---|
| 2016-04-28 | 0.1 | G. Editor | all | initial version |
Bibliography
NOTE: The TC has approved Springer LNCS as the official document citation type.
Springer LNCS is widely used in technical and computer science journals and other publications
– Actual References:
[n] Journal: Author Surname, A.: Title. Publication Title. Volume number, Issue number, Pages Used (Year Published)
[1] OGC: OGC Testbed 12 Annex B: Architecture (2015).