Complex GML 3.1.1 from App Schema

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Complex GML 3.1.1 from App Schema

sammeek
Hi

I have created an app schema for two different feature types, type 1 contains a field of type 2 that is then populated via a mapping file. However when I do a WFS request with GML 3.1.1, I get:

<aasg1:Facility gml:id="facility.1">
<aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
<aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
<aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
<aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
<aasg1:FacilityID>1</aasg1:FacilityID>
<aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
<aasg1:longitude>3.1987</aasg1:longitude>
<aasg1:latitude>55.9486</aasg1:latitude>
<aasg1:Area/>
<aasg1:Shape>
<gml:Point srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
<gml:pos>3.1987 55.9486</gml:pos>
</gml:Point>
</aasg1:Shape>
</aasg1:Facility>

However, when I do GML3.2 I get:

<aasg1:Facility id="facility.1">
<aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
<aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
<aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
<aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
<aasg1:FacilityID>1</aasg1:FacilityID>
<aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
<aasg1:longitude>3.1987</aasg1:longitude>
<aasg1:latitude>55.9486</aasg1:latitude>
<aasg1:Area>
<null:AdministrativeAreas xmlns:null="http://stategeothermaldata.org/uri-gin/aasg/xmlschema/thermalconductivity/2.0" id="administrativeareas.1">
<null:ID/>
<null:NameOfArea>Edinburgh</null:NameOfArea>
<null:lat>55.9533</null:lat>
<null:long>3.1883</null:long>
<null:Shape>POINT (3.1883 55.9533)</null:Shape>
</null:AdministrativeAreas>
</aasg1:Area>
<aasg1:Shape>POINT (3.1987 55.9486)</aasg1:Shape>
</aasg1:Facility>

The feature of type 2 is imbedded in the Area element (albeit with a null namespace).

I am then trying to use the QGIS GML Application toolbox to parse the output into related tables, however I believe that it only works with 3.1.1 (throws an error with 3.2).

Additionally, if I change the type of the Area field in the XSD to xs:string then it produces a string representation of the entire feature in GML 3.1.1. I can then import this into QGIS using the aforementioned plugin. However it obviously doesn't parse out the object (because its a string and not of feature type 2).

What am I doing wrong?

Thanks in advance

Sam
Reply | Threaded
Open this post in threaded view
|

Re: Complex GML 3.1.1 from App Schema

Ben Caradoc-Davies-2
Sam,

you can't mix and match GML 3.1.1 and GML 3.2.1 as they have different
namespaces and the types for a feature and all the geometries are
different. If your application schema is GML 3.1.1, it will only work
with GML 3.1.1 requests (WFS 1.1.0). Likewise for GML 3.2.1 (WFS 2.0.0
or WFS 1.1.0 with outputformat=gml32). Mixing GML versions will give you
strange results as the encoder makes a best-effort attempt.

If you use GML 3.2.1 you might also need a secondary namespace for gml:
http://docs.geoserver.org/latest/en/user/data/app-schema/supported-gml-versions.html#secondary-namespace-for-gml-3-2-1-required

Kind regards,
Ben.

On 24/02/17 06:06, sammeek wrote:

> Hi
>
> I have created an app schema for two different feature types, type 1
> contains a field of type 2 that is then populated via a mapping file.
> However when I do a WFS request with GML 3.1.1, I get:
>
> <aasg1:Facility gml:id="facility.1">
> <aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
> <aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
> <aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
> <aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
> <aasg1:FacilityID>1</aasg1:FacilityID>
> <aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
> <aasg1:longitude>3.1987</aasg1:longitude>
> <aasg1:latitude>55.9486</aasg1:latitude>
> <aasg1:Area/>
> <aasg1:Shape>
> <gml:Point srsDimension="2"
> srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
> <gml:pos>3.1987 55.9486</gml:pos>
> </gml:Point>
> </aasg1:Shape>
> </aasg1:Facility>
>
> However, when I do GML3.2 I get:
>
> <aasg1:Facility id="facility.1">
> <aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
> <aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
> <aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
> <aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
> <aasg1:FacilityID>1</aasg1:FacilityID>
> <aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
> <aasg1:longitude>3.1987</aasg1:longitude>
> <aasg1:latitude>55.9486</aasg1:latitude>
> <aasg1:Area>
> <null:AdministrativeAreas
> xmlns:null="http://stategeothermaldata.org/uri-gin/aasg/xmlschema/thermalconductivity/2.0"
> id="administrativeareas.1">
> <null:ID/>
> <null:NameOfArea>Edinburgh</null:NameOfArea>
> <null:lat>55.9533</null:lat>
> <null:long>3.1883</null:long>
> <null:Shape>POINT (3.1883 55.9533)</null:Shape>
> </null:AdministrativeAreas>
> </aasg1:Area>
> <aasg1:Shape>POINT (3.1987 55.9486)</aasg1:Shape>
> </aasg1:Facility>
>
> The feature of type 2 is imbedded in the Area element (albeit with a null
> namespace).
>
> I am then trying to use the QGIS GML Application toolbox to parse the output
> into related tables, however I believe that it only works with 3.1.1 (throws
> an error with 3.2).
>
> Additionally, if I change the type of the Area field in the XSD to xs:string
> then it produces a string representation of the entire feature in GML 3.1.1.
> I can then import this into QGIS using the aforementioned plugin. However it
> obviously doesn't parse out the object (because its a string and not of
> feature type 2).
>
> What am I doing wrong?
>
> Thanks in advance
>
> Sam
>
>
>
> --
> View this message in context: http://osgeo-org.1560.x6.nabble.com/Complex-GML-3-1-1-from-App-Schema-tp5309269.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>

--
Ben Caradoc-Davies <[hidden email]>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: Complex GML 3.1.1 from App Schema

sammeek
Hi Ben,

Thanks for the response. As you can probably gather, I'm a bit new at this.

OK, so I've changed the namespace in the XSDs and referred to them in the mapping files and created an extra workspace for the GML 3.2 requirements. The files load into Geoserver OK.

However, when I try and create GML 3.2 via a WFS query, I get the following:

<wfs:member>
<aasg1:Facility id="facility.1">
<aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
<aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
<aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
<aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
<aasg1:StatisticalGeographicArea>Text</aasg1:StatisticalGeographicArea>
<aasg1:GeopoliticalEntity>text2</aasg1:GeopoliticalEntity>
<aasg1:FacilityID>1</aasg1:FacilityID>
<aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
<aasg1:longitude>3.1987</aasg1:longitude>
<aasg1:latitude>55.9486</aasg1:latitude>
<aasg1:AdministrativeAreas/>
<aasg1:Shape/>
</aasg1:Facility>
</wfs:member>
<wfs:member>

As you can see the aasg1:Shape is not populated and neither is the AdministrativeAreas (this is the complex field if you like that is of type AdministrativeAreas and references another mapping file.

The mapping file fragments are as follows:

To create Administrative areas:

 <typeMappings>
                <FeatureTypeMapping>
            <sourceDataStore>tcStore</sourceDataStore>
            <sourceType>administrativeareas</sourceType>
            <targetElement>aasg2:AdministrativeAreas</targetElement>
            <attributeMappings>
              <AttributeMapping>
                <targetAttribute>aasg2:IDR</targetAttribute>
                <sourceExpression>
                  <OCQL>id</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg2:NameOfArea</targetAttribute>
                <sourceExpression>
                  <OCQL>nameofarea</OCQL>
                </sourceExpression>
              </AttributeMapping>
                          <AttributeMapping>
                <targetAttribute>aasg2:lat</targetAttribute>
                <sourceExpression>
                  <OCQL>lat</OCQL>
                </sourceExpression>
              </AttributeMapping>
                          <AttributeMapping>
                <targetAttribute>aasg2:long</targetAttribute>
                <sourceExpression>
                  <OCQL>long</OCQL>
                </sourceExpression>
              </AttributeMapping>
                          <AttributeMapping>
                <targetAttribute>aasg2:Shape</targetAttribute>
                                 <idExpression>
                                        <OCQL>id</OCQL>
                                </idExpression>
                <sourceExpression>
                  <OCQL>shape</OCQL>
                </sourceExpression>
              </AttributeMapping>
            </attributeMappings>
    </FeatureTypeMapping> 
    </typeMappings>

To create Facility:

 <typeMappings>
                <FeatureTypeMapping>
            <sourceDataStore>SeismicEventStore</sourceDataStore>
            <sourceType>facility</sourceType>
            <targetElement>aasg1:Facility</targetElement>
            <attributeMappings>
              <AttributeMapping>
                <targetAttribute>aasg1:Shape</targetAttribute>
                                 <idExpression>
                                        <OCQL>facilityid</OCQL>
                                </idExpression>
                <sourceExpression>
                  <OCQL>facilitylocation</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:FacilityName</targetAttribute>
                <sourceExpression>
                  <OCQL>facilityname</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:FacilityOperatingStatus</targetAttribute>
                <sourceExpression>
                  <OCQL>facilityoperatingstatus</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:VerticalConstructionMaterial</targetAttribute>
                <sourceExpression>
                  <OCQL>verticalconstructionmaterial</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:TerrainConstructionMaterial</targetAttribute>
                <sourceExpression>
                  <OCQL>terrainconstructionmaterial</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:StatisticalGeographicArea</targetAttribute>
                <sourceExpression>
                  <OCQL>statisticalgeographicarea</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:GeopoliticalEntity</targetAttribute>
                <sourceExpression>
                  <OCQL>geopoliticalentity</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:FacilityID</targetAttribute>
                <sourceExpression>
                  <OCQL>facilityid</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:AdministrativeDivision</targetAttribute>
                <sourceExpression>
                  <OCQL>administrativedivision</OCQL>
                </sourceExpression>
              </AttributeMapping>
              <AttributeMapping>
                <targetAttribute>aasg1:longitude</targetAttribute>
                <sourceExpression>
                  <OCQL>longitude</OCQL>
                </sourceExpression>
              </AttributeMapping>
                          <AttributeMapping>
                <targetAttribute>aasg1:AdministrativeAreas</targetAttribute>
                <sourceExpression>
                  <OCQL>administrativedivision</OCQL>
                                  <linkElement>aasg3:AdministrativeAreas</linkElement>
                                  <linkField>aasg3:IDR</linkField>
                </sourceExpression>
              </AttributeMapping>
                          <AttributeMapping>
                <targetAttribute>aasg1:latitude</targetAttribute>
                <sourceExpression>
                  <OCQL>latitude</OCQL>
                </sourceExpression>
              </AttributeMapping>
            </attributeMappings>
</typeMappings>


I'm not sure what else to check. Any help is gratefully appreciated!

Sam
Reply | Threaded
Open this post in threaded view
|

Re: Complex GML 3.1.1 from App Schema

Ben Caradoc-Davies-2
Sam,

what are the XSD types of Shape and AdministrativeAreas in the schema?
What is the XSD type of Facility? Complex properties must follow the GML
encoding rule, in which each object is contained in a property type so
that both its name and type information can be encoded. Not following
this pattern can cause objects to be ignored by the encoder.

An example of this pattern is GML GeometryPropertyType. If your Shape
property had type GeometryPropertyType, then your encoded output would
be something like Shape/Geometry. I would expect that you would also
need an AdministrativeAreasPropertyType. From the example you give, I
think you are using type names where you should be using property names.
I expected something more like shape/Geometry and
administrativeareas/AdministrativeAreas. The property name element looks
like it is missing.

See section 7.1.1 on page 20-21 (PDF page 30-31) of the GML 3.2.1
standard (OGC 07-036):
http://portal.opengeospatial.org/files/?artifact_id=20509

The rule is the same for GML 3.1.1.

Kind regards,
Ben.

On 26/02/17 21:59, sammeek wrote:

> Hi Ben,
>
> Thanks for the response. As you can probably gather, I'm a bit new at this.
>
> OK, so I've changed the namespace in the XSDs and referred to them in the
> mapping files and created an extra workspace for the GML 3.2 requirements.
> The files load into Geoserver OK.
>
> However, when I try and create GML 3.2 via a WFS query, I get the following:
>
> <wfs:member>
> <aasg1:Facility id="facility.1">
> <aasg1:FacilityName>Edinburgh Castle</aasg1:FacilityName>
> <aasg1:FacilityOperatingStatus>Open</aasg1:FacilityOperatingStatus>
> <aasg1:VerticalConstructionMaterial>Stone</aasg1:VerticalConstructionMaterial>
> <aasg1:TerrainConstructionMaterial>Stone</aasg1:TerrainConstructionMaterial>
> <aasg1:StatisticalGeographicArea>Text</aasg1:StatisticalGeographicArea>
> <aasg1:GeopoliticalEntity>text2</aasg1:GeopoliticalEntity>
> <aasg1:FacilityID>1</aasg1:FacilityID>
> <aasg1:AdministrativeDivision>1</aasg1:AdministrativeDivision>
> <aasg1:longitude>3.1987</aasg1:longitude>
> <aasg1:latitude>55.9486</aasg1:latitude>
> <aasg1:AdministrativeAreas/>
> <aasg1:Shape/>
> </aasg1:Facility>
> </wfs:member>
> <wfs:member>
>
> As you can see the aasg1:Shape is not populated and neither is the
> AdministrativeAreas (this is the complex field if you like that is of type
> AdministrativeAreas and references another mapping file.
>
> The mapping file fragments are as follows:
>
> To create Administrative areas:
>
>  <typeMappings>
>                 <FeatureTypeMapping>
>             <sourceDataStore>tcStore</sourceDataStore>
>             <sourceType>administrativeareas</sourceType>
>             <targetElement>aasg2:AdministrativeAreas</targetElement>
>             <attributeMappings>
>               <AttributeMapping>
>                 <targetAttribute>aasg2:IDR</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>id</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>                 <targetAttribute>aasg2:NameOfArea</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>nameofarea</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>  <AttributeMapping>
>                 <targetAttribute>aasg2:lat</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>lat</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>  <AttributeMapping>
>                 <targetAttribute>aasg2:long</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>long</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>  <AttributeMapping>
>                 <targetAttribute>aasg2:Shape</targetAttribute>
> <idExpression>
> <OCQL>id</OCQL>
> </idExpression>
>                 <sourceExpression>
>                   <OCQL>shape</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>             </attributeMappings>
>     </FeatureTypeMapping>
>     </typeMappings>
>
> To create Facility:
>
>  <typeMappings>
>                 <FeatureTypeMapping>
>             <sourceDataStore>SeismicEventStore</sourceDataStore>
>             <sourceType>facility</sourceType>
>             <targetElement>aasg1:Facility</targetElement>
>             <attributeMappings>
>               <AttributeMapping>
>                 <targetAttribute>aasg1:Shape</targetAttribute>
> <idExpression>
> <OCQL>facilityid</OCQL>
> </idExpression>
>                 <sourceExpression>
>                   <OCQL>facilitylocation</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>                 <targetAttribute>aasg1:FacilityName</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>facilityname</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>
> <targetAttribute>aasg1:FacilityOperatingStatus</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>facilityoperatingstatus</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>
> <targetAttribute>aasg1:VerticalConstructionMaterial</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>verticalconstructionmaterial</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>
> <targetAttribute>aasg1:TerrainConstructionMaterial</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>terrainconstructionmaterial</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>
> <targetAttribute>aasg1:StatisticalGeographicArea</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>statisticalgeographicarea</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>                 <targetAttribute>aasg1:GeopoliticalEntity</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>geopoliticalentity</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>                 <targetAttribute>aasg1:FacilityID</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>facilityid</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>
> <targetAttribute>aasg1:AdministrativeDivision</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>administrativedivision</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>               <AttributeMapping>
>                 <targetAttribute>aasg1:longitude</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>longitude</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>  <AttributeMapping>
>                 <targetAttribute>aasg1:AdministrativeAreas</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>administrativedivision</OCQL>
>  <linkElement>aasg3:AdministrativeAreas</linkElement>
>  <linkField>aasg3:IDR</linkField>
>                 </sourceExpression>
>               </AttributeMapping>
>  <AttributeMapping>
>                 <targetAttribute>aasg1:latitude</targetAttribute>
>                 <sourceExpression>
>                   <OCQL>latitude</OCQL>
>                 </sourceExpression>
>               </AttributeMapping>
>             </attributeMappings>
> </typeMappings>
>
>
> I'm not sure what else to check. Any help is gratefully appreciated!
>
> Sam
>
>
>
> --
> View this message in context: http://osgeo-org.1560.x6.nabble.com/Complex-GML-3-1-1-from-App-Schema-tp5309269p5309530.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>

--
Ben Caradoc-Davies <[hidden email]>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users
Reply | Threaded
Open this post in threaded view
|

Re: Complex GML 3.1.1 from App Schema

sammeek
Hello again Ben,

I have created my own xsds from ones I found online. I have included type names in my xsds and I believe that my mapping files are correctly formatted so I can't see what's wrong.

I have uploaded the two mapping files and two XSDs to this location:

http://meekbaa1.miniserver.com/dl/

I have included an ID at the appropriate places at the AdministrativeAreas table seems to work fine when published through Geoserver.

There is a slight namespace issue when I make a WFS call to Facilities and the AdministrativeAreas in that it seems to make the namespace null for whichever I call second. When I call Facilities, the WFS response document doesn't include both namespaces, but I'm not sure its supposed to.

Thank you for your continuing assistance.

Sam
Reply | Threaded
Open this post in threaded view
|

Re: Complex GML 3.1.1 from App Schema

Ben Caradoc-Davies-2
Sam,

your definition of FacilitiesType has the problem I described in my
previous email: it does not respect the property/object encoding rule.
Instead of having a property of type AdministrativeAreasType, to respect
the property/object rule, you should have a property of
AdministrativeAreasPropertyType which then contains a
AdministrativeAreasType. This will allow the correct encoding of your
output. See GeometryPropertyType for an example of this pattern.

Note that GeoServer 2.11-beta has a new relaxed encoding support that
will permit responses that do not respect the property/object rule:
https://osgeo-org.atlassian.net/browse/GEOT-5575
https://osgeo-org.atlassian.net/browse/GEOS-7860

Your mapping for Facility/Shape should work. Your XSD requires this to
be a Point. Please check that the database column facilitylocation
contains POINT geometries, that they are correct registered in your
database, and that the geometries are not NULL. If they are not POINT,
you could change the XSD type of Facility/Shape to GeometryPropertyType.

Null namespaces are usually caused by missing secondary namespaces.
Please see my previous email for a link to the documentation that
details how to fix this.

Kind regards,
Ben.

On 27/02/17 21:29, sammeek wrote:

> Hello again Ben,
>
> I have created my own xsds from ones I found online. I have included type
> names in my xsds and I believe that my mapping files are correctly formatted
> so I can't see what's wrong.
>
> I have uploaded the two mapping files and two XSDs to this location:
>
> http://meekbaa1.miniserver.com/dl/
>
> I have included an ID at the appropriate places at the AdministrativeAreas
> table seems to work fine when published through Geoserver.
>
> There is a slight namespace issue when I make a WFS call to Facilities and
> the AdministrativeAreas in that it seems to make the namespace null for
> whichever I call second. When I call Facilities, the WFS response document
> doesn't include both namespaces, but I'm not sure its supposed to.
>
> Thank you for your continuing assistance.
>
> Sam
>
>
>
> --
> View this message in context: http://osgeo-org.1560.x6.nabble.com/Complex-GML-3-1-1-from-App-Schema-tp5309269p5309605.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>

--
Ben Caradoc-Davies <[hidden email]>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users