[Geoserver-users] Does GeoServer support multiple versions of GML in app-schema-cache?

All,

I am using gml.xsd v3.2.1 and gml.xsd v 3.2.1.2. For now, I need them both in GeoServer and both are in the app-schema-cache.

Sometimes when I reinstall GeoServer from scratch on my virtual machine, http://localhost:8080/geoserver/schemas/gml/3.2.1/gml.xsd returns v3.2.1 and other times it returns v3.2.1.2.

Both schemas have the same targetNamespace and xmlns:gml:

targetNamespace=“http://www.opengis.net/gml/3.2” xmlns:gml=“http://www.opengis.net/gml/3.2

Is there a way to have the schemas enabled at the same time?

I was able to get gml.xsd v3.2.1.2 to return if I updated the location of the schema in the app-schema-cache from:

<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1

To this:

<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1.2

but the gml 3.2.1.2 schemas eventually link back to the gml 3.2.1 schemas when an include schemaLocation reference is found.

Thanks,

Amanda Schabowsky

Amanda,

GeoServer uses compiled Java bindings for GML. These include bindings for GML 3.1.1 and GML 3.2.1. This is necessary to provide support for GML types. Whenever you request GML 3.2, your request will use these bindings and thus GML 3.2.1.

It makes no sense to me to use both GML 3.2.1 and GML 3.2.1.2 at the same time. If your schema references gml:AbstractFeatureType, which definition is used? You can reference GML 3.2.1.2 in your application schema, and the schemas will be downloaded, but AFAIK they will not be used for GML encoding.

What is the difference between the GML versions, and what are you trying to do? That is, why do you need GML 3.2.1.2?

Can you port your application schema to GML 3.2.1?

Kind regards,
Ben.

On 14/07/18 09:10, Schabowsky, Amanda wrote:

All,

I am using gml.xsd v3.2.1 and gml.xsd v 3.2.1.2. For now, I need them both in GeoServer and both are in the app-schema-cache.
Sometimes when I reinstall GeoServer from scratch on my virtual machine, http://localhost:8080/geoserver/schemas/gml/3.2.1/gml.xsd returns v3.2.1 and other times it returns v3.2.1.2.
Both schemas have the same targetNamespace and xmlns:gml:

targetNamespace="http://www.opengis.net/gml/3.2&quot; xmlns:gml="http://www.opengis.net/gml/3.2&quot;

Is there a way to have the schemas enabled at the same time?

I was able to get gml.xsd v3.2.1.2 to return if I updated the location of the schema in the app-schema-cache from:
<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1
To this:
<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1.2

but the gml 3.2.1.2 schemas eventually link back to the gml 3.2.1 schemas when an include schemaLocation reference is found.

Thanks,
Amanda Schabowsky

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <https://transient.nz/&gt;
New Zealand

Ben,

Here are the answers to your questions:

If your schema references gml:AbstractFeatureType, which definition is used?
  It references GML v3.2.1.2.

What is the difference between the GML versions, and what are you trying to do? That is, why do you need GML 3.2.1.2?
  The difference between the GML versions is the xlink schemas referenced in gmlBase.xsd.
  gmlBase v3.2.1 references xlinks.xsd (which contains xlink:simpleLink)
  gmlBase v3.2.1.2 references xlink.xsd (which contains xlink:simpleAttrs)

  The xlink schema is not backwards compatible between gml versions.

  I need GML v3.2.1.2 to validate a WFS GetFeature response against the schemas.
  By not having it, I get this error:

  org.xml.sax.SAXParseException; systemId: http://<HOST>:<PORT>/geoserver/schemas/gml/3.2.1/gmlBase.xsd; lineNumber: 45; columnNumber: 43; src-resolve: Cannot resolve the name 'xlink:simpleLink' to a(n) 'attribute group' component.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    ...

Can you port your application schema to GML 3.2.1?
  I would need to speak with my team to see what we are allowed to do and still meet requirements.

Thanks,
Amanda

-----Original Message-----
From: Ben Caradoc-Davies [mailto:ben@…6881…]
Sent: Friday, July 13, 2018 5:28 PM
To: Schabowsky, Amanda (US Person) <aschabow@...5740...>; geoserver-users@lists.sourceforge.net
Subject: [SUSPICIOUS] Re: [Geoserver-users] Does GeoServer support multiple versions of GML in app-schema-cache?

Amanda,

GeoServer uses compiled Java bindings for GML. These include bindings for GML 3.1.1 and GML 3.2.1. This is necessary to provide support for GML types. Whenever you request GML 3.2, your request will use these bindings and thus GML 3.2.1.

It makes no sense to me to use both GML 3.2.1 and GML 3.2.1.2 at the same time. If your schema references gml:AbstractFeatureType, which definition is used? You can reference GML 3.2.1.2 in your application schema, and the schemas will be downloaded, but AFAIK they will not be used for GML encoding.

What is the difference between the GML versions, and what are you trying to do? That is, why do you need GML 3.2.1.2?

Can you port your application schema to GML 3.2.1?

Kind regards,
Ben.

On 14/07/18 09:10, Schabowsky, Amanda wrote:

All,

I am using gml.xsd v3.2.1 and gml.xsd v 3.2.1.2. For now, I need them both in GeoServer and both are in the app-schema-cache.
Sometimes when I reinstall GeoServer from scratch on my virtual machine, http://localhost:8080/geoserver/schemas/gml/3.2.1/gml.xsd returns v3.2.1 and other times it returns v3.2.1.2.
Both schemas have the same targetNamespace and xmlns:gml:

targetNamespace="http://www.opengis.net/gml/3.2&quot; xmlns:gml="http://www.opengis.net/gml/3.2&quot;

Is there a way to have the schemas enabled at the same time?

I was able to get gml.xsd v3.2.1.2 to return if I updated the location of the schema in the app-schema-cache from:
<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1
To this:
<PATH_TO_APP_SCHEMA_CACHE>/net/opengis/schemas/gml/3.2.1.2

but the gml 3.2.1.2 schemas eventually link back to the gml 3.2.1 schemas when an include schemaLocation reference is found.

Thanks,
Amanda Schabowsky

----------------------------------------------------------------------
-------- Check out the vibrant tech community on one of the world's
most engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-an
d-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
Ben Caradoc-Davies <ben@...6881...>
Director
Transient Software Limited <https://transient.nz/&gt; New Zealand