Draft

OGC Standard

DRAFT OGC Geoscience Markup Language (GeoSciML) - Part 2: XML Encoding
Editor One Editor Editor Two Editor
Version: 5.0-draft
Additional Formats: XML PDF DOC
OGC Standard

Draft

Document number:YY-999
Document type:OGC Standard
Document subtype:Implementation
Document stage:Draft
Document language:English

License Agreement

Use of this document is subject to the license agreement at https://www.ogc.org/license

Suggested additions, changes and comments on this document are welcome and encouraged. Such suggestions may be submitted using the online change request form on OGC web site: http://ogc.standardstracker.org/




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:

NameAffiliation
Eric BoisvertGeological Survey of Canada (Natural Resources Canada)
Ollie RaymondGeoscience Australia
Marcus SenBritish Geological Survey
Edd LewisBritish Geological Survey
Mark RattenburyEarth 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

  1.   validate with XSD schemas,

  2.   pass schematron rules and then

  3.   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

PrefixNamespace URI
cithttp://standards.iso.org/iso/19115/-3/cit/1.0
cvhttp://www.opengis.net/cv/0.2/gml32
gcohttp://www.isotc211.org/2005/gco
gmdhttp://www.isotc211.org/2005/gmd
gmlhttp://www.opengis.net/gml/3.2
gmlrhttp://www.opengis.net/gml/3.3/lr
gmlexrhttp://www.opengis.net/gml/3.3/exr
gsmlbhttp://www.opengis.net/gsml/4.1/GeoSciML-Basic
gsmlbhhttp://www.opengis.net/gsml/4.1/Borehole
gsmlehttp://www.opengis.net/gsml/4.1/GeoSciML-Extension
gsmlgthttp://www.opengis.net/gsml/4.1/GeologicTime
gsmllahttp://www.opengis.net/gsml/4.1/LaboratoryAnalysis-Specimen
gsmlphttp://www.opengis.net/gsml/4.1/Geosciml-Lite
mrlhttp://standards.iso.org/iso/19115/-3/mrl/1.0
omhttp://www.opengis.net/om/2.0
samhttp://www.opengis.net/sampling/2.0
samshttp://www.opengis.net/samplingSpatial/2.0
spechttp://www.opengis.net/samplingSpecimen/2.0
swehttp://www.opengis.net/swe/2.0
wfshttp://www.opengis.net/wfs/2.0
xlinkhttp://www.w3.org/1999/xlink

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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core
Target typeData instance
PrerequisitesWeb 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 statementsRecommendation 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.

Requirement 1

Identifier/req/gsmlxsd-core/xsd
Included inRequirements class 1: https://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-core
A

An XML instance SHALL validate against XSD schema.

 

Requirement 2

Identifier/req/gsmlxsd-core/sch
Included inRequirements 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.

Requirement 3

Identifier/req/gsmlxsd-core/codelist
Included inRequirements 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.

Recommendation 1

Identifier/rec/gsmlxsd-core/identifier-uri
Included inRequirements 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.

Recommendation 2

Identifier/rec/gsmlxsd-core/iso8601-time
Included inRequirements 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.

Requirement 4

Identifier/req/gsmlxsd-core/time-zone
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-basic
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-basic
/req/gsmlxsd-core
Normative statementsRequirement 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]

Requirement 5

Identifier/req/gsmlxsd-basic/xsd
Included inRequirements 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].

Requirement 6

Identifier/req/gsmlxsd-basic/sch
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-extension
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-extension
/req/gsmlxsd-basic
/req/gsmlxsd-geologictime
Normative statementsRequirement 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].

Requirement 7

Identifier/req/gsmlxsd-extension/xsd
Included inRequirements 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].

Requirement 8

Identifier/req/gsmlxsd-extension/sch
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-geologictime
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-geologictime
/req/gsmlxsd-core
Normative statementsRequirement 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].

Requirement 9

Identifier/req/gsmlxsd-geologictime/xsd
Included inRequirements 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].

Requirement 10

Identifier/req/gsmlxsd-geologictime/sch
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-borehole
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-borehole
/req/gsmlxsd-core
Normative statementsRequirement 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].

Requirement 11

Identifier/req/gsmlxsd-borehole/xsd
Included inRequirements 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].

Requirement 12

Identifier/req/gsmlxsd-borehole/sch
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lab
Target typeData instance
Prerequisites/req/gsml-lab
/req/gsmlxsd-core
Normative statementsRequirement 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].

Requirement 13

Identifier/req/gsmlxsd-lab/xsd
Included inRequirements 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].

Requirement 14

Identifier/req/gsmlxsd-lab/sch
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-lite
/req/gsmlxsd-core
GML Simple Feature OGC 10-100r3 SF-0
Normative statementsRecommendation 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.

Requirement 15

Identifier/req/gsmlxsd-lite/SF-0
Included inRequirements 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-0Level SF-1Level SF-2

restricted set of built-in nonspatial

property types

Yes1Yes1No
Restricted set of property-typesYes2Yes2Yes2
user-defined property typesNoYesYes
use of nillable and xsi:nilNoYesYes
cardinality of properties0..10..unbounded0..unbounded

non-spatial property values

references

Yes3Yes3Yes

spatial property values

references

Yes3Yes3Yes
  1. string, integer, measurement, date, real, binary, boolean, URI

  2. Point, Curve (LineString), Surface (Polygon), Geometry, MultiPoint, MultiCurve, MultiSurface, MultiGeometry

  3. In levels 0 and 1, remote values for properties are supported only through the use of the type gml:ReferenceType. The more generalized GML property-type pattern allowing mixed inline and byReference encoded property values within the same instance document is disallowed.

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.

Recommendation 3

Identifier/rec/gsmlxsd-lite/SF-0-simpletype
Included inRequirements 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.

Recommendation 4

Identifier/rec/gsmlxsd-lite/user-xsd
Included inRequirements 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.

Recommendation 5

Identifier/rec/gsmlxsd-lite/user-ns
Included inRequirements 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’

Identifierhttps://www.opengis.net/spec/geosciml-part2/5.0/req/gsmlxsd-lite-31
Target typeData instance
Prerequisiteshttps://www.opengis.net/spec/geosciml-part1/5.0/req/gsml-lite
/req/gsmlxsd-lite
Normative statementsRequirement 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.

Requirement 16

Identifier/req/gsmlxsd-lite-31/xsd
Included inRequirements 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].

Requirement 17

Identifier/req/gsmlxsd-lite-31/sch
Included inRequirements 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

Conformance class A.1: GeoSciML XML Encoding Abstract Core

Identifier/conf/gsmlxsd-core
Requirements class/req/gsmlxsd-core
PrerequisiteOGC 10-025r1 OMXML   Observations and Measurements — XML Implementation
Conformance testsAbstract 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

Abstract test A.1

Identifier/conf/gsmlxsd-core/xsd
RequirementRequirement 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.

Abstract test A.2

Identifier/conf/gsmlxsd-core/sch
RequirementRequirement 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.

Abstract test A.3

Identifier/conf/gsmlxsd-core/codelist
RequirementRequirement 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.

Abstract test A.4

Identifier/conf/gsmlxsd-core/time-zone
RequirementRequirement 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

Conformance class A.2: GeoSciML Basic XML Encoding

Identifier/conf/gsmlxsd-basic
Requirements class/req/gsmlxsd-basic
PrerequisiteConformance class A.1: /conf/gsmlxsd-core
Conformance testsAbstract test A.5: /conf/gsmlxsd-basic/xsd
Abstract test A.6: /conf/gsmlxsd-basic/sch

Abstract test A.5

Identifier/conf/gsmlxsd-basic/xsd
RequirementRequirement 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.

Abstract test A.6

Identifier/conf/gsmlxsd-basic/sch
RequirementRequirement 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

Conformance class A.3: GeoSciML Extension XML Encoding

Identifier/conf/gsmlxsd-extension
Requirements class/req/gsmlxsd-extension
Prerequisite/conf/gsmlxsd-core/basic
Conformance testsAbstract test A.7: /conf/gsmlxsd-extension/xsd
Abstract test A.8: /conf/gsmlxsd-extension/sch

Abstract test A.7

Identifier/conf/gsmlxsd-extension/xsd
RequirementRequirement 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.

Abstract test A.8

Identifier/conf/gsmlxsd-extension/sch
RequirementRequirement 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

Conformance class A.4: GeoSciML GeologicTime XML Encoding

Identifier/conf/gsmlxsd-geologictime
Requirements class/req/gsmlxsd-geologictime
PrerequisiteConformance class A.1: /conf/gsmlxsd-core
Conformance testsAbstract test A.9: /conf/gsmlxsd-geologictime/xsd
Abstract test A.10: /conf/gsmlxsd-geologictime/sch

Abstract test A.9

Identifier/conf/gsmlxsd-geologictime/xsd
RequirementRequirement 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.

Abstract test A.10

Identifier/conf/gsmlxsd-geologictime/sch
RequirementRequirement 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

Conformance class A.5: GeoSciML Borehole XML Encoding

Identifier/conf/gsmlxsd-borehole
Requirements class/req/gsmlxsd-borehole
PrerequisitesConformance class A.1: /conf/gsmlxsd-core
OGC 10-025r1  OMXML
Conformance testsAbstract test A.11: /conf/gsmlxsd-borehole/xsd
Abstract test A.12: /conf/gsmlxsd-borehole/sch

Abstract test A.11

Identifier/conf/gsmlxsd-borehole/xsd
RequirementRequirement 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.

Abstract test A.12

Identifier/conf/gsmlxsd-borehole/sch
RequirementRequirement 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
PrerequisitesConformance class A.1: /conf/gsmlxsd-core
OGC 10-025r1  OMXML
Conformance testsAbstract test A.13: /conf/gsmlxsd-lab/xsd
Abstract test A.14: /conf/gsmlxsd-lab/sch

Abstract test A.13

Identifier/conf/gsmlxsd-lab/xsd
RequirementRequirement 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.

Abstract test A.14

Identifier/conf/gsmlxsd-lab/sch
RequirementRequirement 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

Conformance class A.7: GeoSciML Lite XML Abstract Encoding

Identifier/conf/gsmlxsd-lite
Requirements class/req/gsmlxsd-lite
PrerequisiteOGC 05-033r9: Annex A
Conformance testAbstract test A.15: /conf/gsmlxsd-lite/SF-0

Abstract test A.15

Identifier/conf/gsmlxsd-lite/SF-0
RequirementRequirement 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

Conformance class A.8: GeoSciML Lite XML Encoding for GML

Identifier/conf/gsmlxsd-lite-31
Requirements class/req/gsmlxsd-lite-31
Prerequisite/req/gsmlxsd-lite
Conformance testsAbstract test A.16: /conf/gsmlxsd-lite-31/xsd
Abstract test A.17: /conf/gsmlxsd-lite-31/sch

Abstract test A.16

Identifier/conf/gsmlxsd-lite-31/xsd
RequirementRequirement 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.

Abstract test A.17

Identifier/conf/gsmlxsd-lite-31/sch
RequirementRequirement 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

DateReleaseEditorPrimary clauses modifiedDescription
2016-04-280.1G. Editorallinitial 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).