You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1067 lines
48 KiB

3 years ago
<?xml version="1.0" encoding="UTF-8"?>
<!--
/******************************************************************************
2 years ago
* $Id$
3 years ago
*
* Project: GDAL/OGR
* Purpose: XML Schema for gmlasconf.xml
* Author: Even Rouault, <even dot rouault at spatialys dot com>
*
**********************************************************************
* Copyright (c) 2016, Even Rouault
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
****************************************************************************/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" version="1.0">
<xs:element name="Configuration">
<xs:annotation>
<xs:documentation>
Configuration of GMLAS driver.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AllowRemoteSchemaDownload" minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether downloading remote schemas is allowed. Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SchemaCache" minOccurs="0">
<xs:annotation>
<xs:documentation>
Describe working of schema cache.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the cache directory. If not specified, this
defaults to $HOME/.gdal/gmlas_xsd_cache.
Ignored if 'enabled' is not true.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="enabled" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether the cache is enabled. Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="SchemaAnalysisOptions" minOccurs="0">
<xs:annotation>
<xs:documentation>
Describe option that affect the Xerces schema parser.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="SchemaFullChecking" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether to enable full schema constraint checking, including checking
which may be time-consuming or memory intensive. Currently,
particle unique attribution constraint checking and particle
derivation restriction checking are controlled by this option.
Defaults to true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HandleMultipleImports" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether to allow multiple schemas with the same namespace
to be imported.
Defaults to false.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Validation" minOccurs="0">
<xs:annotation>
<xs:documentation>
Describe if and how validation of the document against the
schema is done.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FailIfError" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether a validation error should prevent dataset
opening.
Ignored if 'enabled' is not true.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="enabled" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether validation is enabled. Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ExposeMetadataLayers" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether the _ogr_layers_metadata, _ogr_fields_metadata and
_ogr_layer_relationships layers that show how OGR layers and
fields are built from the schemas should be exposed as
available layers.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LayerBuildingRules" minOccurs="0">
<xs:annotation>
<xs:documentation>
Tunable rules that affect how layers and fields are built from
the schema.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AlwaysGenerateOGRId" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether a 'ogr_pkid' attribute should always be generated,
even if the underlying XML element has a required attribute
of type ID. Turning it to true can be useful if the
uniqueness of such attributes is not trused.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RemoveUnusedLayers" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether to remove any OGR layer without any feature, during the
initial scan pass.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RemoveUnusedFields" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether to remove any unused OGR field, during the
initial scan pass.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UseArrays" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether OGR array types (StringList, IntegerList,
Integer64List and RealList) can be used to store
repeated values of the corresponding base types.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UseNullState" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether xsi:nil="true" should be mapped from/to the OGR
null field state (new in GDAL 2.2). If set to false, then
a XXX_nil field will be added when necessary. If set to true,
then unset and null states are used (but this is not very
convenient when converting to SQL databases where both states
are equivalent).
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GML" minOccurs="0">
<xs:annotation>
<xs:documentation>
Settings specific to documents that import the GML namespace.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="IncludeGeometryXML" minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether the XML description of a GML geometry should
be stored in a string attribute (whose name is the
element name suffixed by _xml). This is in addition
to storing the geometry as a OGR geometry.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InstantiateGMLFeaturesOnly" minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether, when dealing with schemas that import the
GML namespace, and that at least one of them has
elements that derive from gml:_Feature or
gml:AbstractFeatureonly, only such elements should be
instantiated as OGR layers, during the first pass that
iterates over top level elements of the imported
schemas.
Note: for technical reasons, other elements may end
up being exposed as OGR layers, but this setting
is a first way of limiting the number of OGR layers.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IdentifierMaxLength" minOccurs="0">
<xs:annotation>
<xs:documentation>
Maximum size of layer and field identifiers. If identifiers
are naturally bigger than the limit, a logic truncates
them while ensuring their unicity.
When absent, unlimited size.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CaseInsensitiveIdentifier" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether layer and field names should be consider equal in a
case insensitive way. This is important for conversion to
Postgres when identifiers are laundered in lower case
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PostgreSQLIdentifierLaundering" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether layer and field names should be laundered like the
OGR PostgreSQL driver does by default, ie identifiers put
in lower cases and a few special characters( single quote,
dash, sharp) replaced by underscore. This can help to post-
process the _ogr_layer_relationships layers more easily or,
for write support.
Note: this laundering is safe for other backends as well.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FlatteningRules" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MaximumNumberOfFields" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>
Maximum number of fields in an element considered
for flattening.
Default is 10.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
<xs:element name="ForceFlatteningXPath" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
XPath of element that will be considered for flattening
even if it has more than MaximumNumberOfFields fields,
or if it is referenced several times by other elements.
Note: other constraints might make it impossible to
flatten it, for example if it has repeated elements.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DisableFlatteningXPath" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
XPath of element that will NOT be considered for flattening
even if it has less or MaximumNumberOfFields fields.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SWEProcessing" minOccurs="0">
<xs:annotation>
<xs:documentation>
Configuration of special processing for elements in
the http://www.opengis.net/swe/2.0 namespace.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Activation" minOccurs="0">
<xs:annotation>
<xs:documentation>
If and how SWE processing is enabled.
Default is ifSWENamespaceFoundInTopElement.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ifSWENamespaceFoundInTopElement">
<xs:annotation>
<xs:documentation>
If the http://www.opengis.net/swe/2.0
namespace is found, SWE special
processing will be enabled.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProcessDataRecord" type="xs:boolean"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
If swe:DataRecord must be parsed. Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessDataArray" type="xs:boolean"
minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
If swe:DataArray and swe:DataStream must be parsed.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TypingConstraints" minOccurs="0">
<xs:annotation>
<xs:documentation>
Constraints to specify the types of children of elements of
type xs:anyType.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
<xs:element name="ChildConstraint" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ContainerXPath" type="xs:string"/>
<xs:element name="ChildrenElements" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Element" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="XLinkResolution" minOccurs="0">
<xs:annotation>
<xs:documentation>
Rules regarding resolution of xlink:href attributes
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Timeout" minOccurs="0" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>
Timeout in seconds for resolving a HTTP resource.
Default: no timeout or value of GDAL_HTTP_TIMEOUT
configuration option.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaxGlobalResolutionTime" minOccurs="0"
type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>
Maximum allowed time for resolving all XLinks in a single
document.
Default: none
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MaxFileSize" minOccurs="0">
<xs:annotation>
<xs:documentation>
Maximum file size allowed.
Default: 1 MB.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union memberTypes="xs:positiveInteger unlimitedEnumType"/>
</xs:simpleType>
</xs:element>
<xs:element name="ProxyServerPort" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
Name and port of proxy server (server:port syntax)
Default: none or value of GDAL_HTTP_PROXY
configuration option.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProxyUserPassword" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
User name and password to use for proxy server
(username:password syntax)
Default: none or value of GDAL_HTTP_PROXYUSERPW
configuration option.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProxyAuth" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
Proxy authentication method: one of Basic, NTLM, Digest
or Any.
Default: none or value of GDAL_PROXY_AUTH
configuration option.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CacheDirectory" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the cache directory for resolved documents.
If not specified, this defaults to $HOME/.gdal/gmlas_xlink_resolution_cache.
The cache is only used if enabled in DefaultResolution or
particular URLSpecificResolution rules.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DefaultResolution" minOccurs="0">
<xs:annotation>
<xs:documentation>
Default rules that apply for all URLs that are not referenced
by a dedicated URLSpecificResolution rule.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="AllowRemoteDownload" minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether downloading remote resources is allowed.
If false, only locally cached resources will be used.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResolutionMode" minOccurs="0">
<xs:annotation>
<xs:documentation>
Resolution mode. Must be XMLRawContent currently
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="RawContent">
<xs:annotation>
<xs:documentation>
The content, provided it is of text
nature, is set in a field suffixed with
_raw
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ResolutionDepth" minOccurs="0">
<xs:annotation>
<xs:documentation>
Resolution depth. Must be 1 currently.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CacheResults" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether resolved documents should be cached.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="enabled" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether default XLink resolution is enabled.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="URLSpecificResolution" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Particular rule that apply for all URLs starting with
a precise prefix. Setting at least one URLSpecificResolution will cause
a compulsory initial scan of the whole file to be done so
as to identify which xlink:href fields use which URL, so as
to create the relevant OGR fields.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="URLPrefix" minOccurs="0" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
URL prefix. All URLs starting with this string will
match this rule.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HTTPHeader" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Custom HTTP header to send in the GET request.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
HTTP header name
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Value" type="xs:string">
<xs:annotation>
<xs:documentation>
HTTP header value
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AllowRemoteDownload" minOccurs="0"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether downloading remote resources is allowed.
If false, only locally cached resources will be used.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ResolutionMode" minOccurs="0">
<xs:annotation>
<xs:documentation>
Resolution mode.
Default is RawContent.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="RawContent">
<xs:annotation>
<xs:documentation>
The content, provided it is of text
nature, is set in a field suffixed with
_rawcontent
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FieldsFromXPath">
<xs:annotation>
<xs:documentation>
The content, assumed to be XML, will be
parsed and fields specified with Field
created.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ResolutionDepth" minOccurs="0">
<xs:annotation>
<xs:documentation>
Resolution depth. Must be 1 currently.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CacheResults" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether resolved documents should be cached.
Default is false.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Field" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Field to create from parsed XML content. Only used
if ResolutionMode = FieldsFromXPath
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
Field name
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Type">
<xs:annotation>
<xs:documentation>
Field type
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="string"/>
<xs:enumeration value="integer"/>
<xs:enumeration value="long"/>
<xs:enumeration value="double"/>
<xs:enumeration value="dateTime"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="XPath" type="xs:string">
<xs:annotation>
<xs:documentation>
XPath from the root of the resolved document
from which to extract the value of the field.
Only a restricted subset of the full XPath 1.0
syntax is supported, namely the abbreviated syntax
with the '//' and '@' axis specifiers.
Valid XPath are for example:
- [ns1:]foo/[ns2:]bar: matches a bar element as a
direct child of a foo element, foo being at any
nesting level in the compared XPath.
- [ns1:foo]/@[ns2:]baz: matches a baz attribute of a
foo element, foo being at any nesting level in
the compared XPath
- [ns1:]foo//[ns2:]bar: matches a bar element as a
direct or indirect child of a foo element,
foo being at any nesting level in the compared
XPath.
- /[ns1:]foo/[ns2:]bar: matches a bar element as a
direct child of a foo element, foo being at the
root level.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ResolveInternalXLinks" minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Whether xlink:href pointing to internal resources should be
resolved, so as to establish cross-layer relationships.
This options requires to keep in-memory xlink:href values
as well as feature ids, which in the case of really large
documents with many features and/or many cross-references
could consume a lot of RAM.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IgnoredXPaths" minOccurs="0">
<xs:annotation>
<xs:documentation>
Define elements and attributes that will be ignored when
building OGR layer and field definitions.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="WarnIfIgnoredXPathFoundInDocInstance"
minOccurs="0" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Emit a warning each time an element or attribute is
found in the document parsed, but ignored because
of the ignored XPath defined.
Default is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
<xs:element name="XPath" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
A XPath against which elements and attributes found
during schema analysis will be compared. If the
XPath of the element/attribute of the schema
matches this XPath, it will be ignored.
Only a restricted subset of the full XPath 1.0
syntax is supported, namely the abbreviated syntax
with the '//' and '@' axis specifiers.
Valid XPath are for example:
- [ns1:]foo/[ns2:]bar: matches a bar element as a
direct child of a foo element, foo being at any
nesting level in the compared XPath.
- [ns1:foo]/@[ns2:]baz: matches a baz attribute of a
foo element, foo being at any nesting level in
the compared XPath
- [ns1:]foo//[ns2:]bar: matches a bar element as a
direct or indirect child of a foo element,
foo being at any nesting level in the compared
XPath.
- /[ns1:]foo/[ns2:]bar: matches a bar element as a
direct child of a foo element, foo being at the
root level.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="warnIfIgnoredXPathFoundInDocInstance"
type="xs:boolean">
<xs:annotation>
<xs:documentation>
Emit a warning each time an element or attribute is
found in the document parsed, but ignored because
of the ignored XPath defined.
Override the global setting of the
WarnIfIgnoredXPathFoundInDocInstance element
Default is true.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WriterConfig" minOccurs="0">
<xs:annotation>
<xs:documentation>Configuration of GMLAS writer
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="IndentationSize" minOccurs="0">
<xs:annotation>
<xs:documentation>
Number of spaces used to indent each level of nesting in
XML output.
Default is 2.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Comment" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Comment to add at top of output XML file.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LineFormat" minOccurs="0">
<xs:annotation>
<xs:documentation>
Line format.
Default is platform dependant (CR-LF on Windows, LF otherwise)
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NATIVE">
<xs:annotation>
<xs:documentation>
Platform dependant (CR-LF on Windows, LF otherwise)
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="CRLF">
<xs:annotation>
<xs:documentation>
Windows end-of-line style : CR-LF
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FieldsFromXPath">
<xs:annotation>
<xs:documentation>
Unix end-of-line style: LF
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SRSNameFormat" minOccurs="0">
<xs:annotation>
<xs:documentation>
Format to use for srsName attributes on geometries.
Default is OGC_URL.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SHORT">
<xs:annotation>
<xs:documentation>
srsName will be in the form AUTHORITY_NAME:AUTHORITY_CODE
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="OGC_URN">
<xs:annotation>
<xs:documentation>
srsName will be in the form urn:ogc:def:crs:AUTHORITY_NAME::AUTHORITY_CODE
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="OGC_URL">
<xs:annotation>
<xs:documentation>
ssrsName will be in the form http://www.opengis.net/def/crs/AUTHORITY_NAME/0/AUTHORITY_CODE
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Wrapping" minOccurs="0">
<xs:annotation>
<xs:documentation>
How to wrap features in a collection.
Default is WFS2_FEATURECOLLECTION
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="WFS2_FEATURECOLLECTION">
<xs:annotation>
<xs:documentation>
Use wfs:FeatureCollection / wfs:member wrapping
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="GMLAS_FEATURECOLLECTION">
<xs:annotation>
<xs:documentation>
Use ogr_gmlas:FeatureCollection / ogr_gmlas:featureMember wrapping
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Timestamp" minOccurs="0" type="xs:dateTime">
<xs:annotation>
<xs:documentation>
User-specified XML dateTime value for timestamp to use in
wfs:FeatureCollection attribute.
Only valid for WRAPPING=WFS2_FEATURECOLLECTION.
Default is current date-time.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WFS20SchemaLocation" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>
Path or URL to OGC WFS 2.0 schema.
Only valid for WRAPPING=WFS2_FEATURECOLLECTION.
Default is http://schemas.opengis.net/wfs/2.0/wfs.xsd.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="unlimitedEnumType">
<xs:restriction base="xs:string">
<xs:enumeration value="unlimited"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="namespacesType">
<xs:annotation>
<xs:documentation>
Define optional namespaces prefix/uri tuples with
which to interpret the XPath elements defined
afterwards.
This allows the user to define different rules when
different namespaces in different XML instances map
to the same prefix. E.g documents referencing
different GML versions may use "gml" as
a prefix for "http://www.opengis.net/gml" or
"http://www.opengis.net/gml/3.2", but it might be
desirable to have different exclusion rules.
When comparing the XPath exclusion rules and the
XPath of the elements/attributes of the parsed
documents, and when the namespace of the XPath
2 years ago
exclusion rule has been defined, the URI will be
3 years ago
used as the unambiguous key. Otherwise prefix
matching will be used.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Namespace" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Define a namespaces prefix/uri tuple with
which to interpret the XPath elements
defined afterwards.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence/>
<xs:attribute name="prefix" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Namespace prefix.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="uri" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Namespace URI.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>