diff --git a/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/feature/GMLFeatureWriter.java b/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/feature/GMLFeatureWriter.java index 9106377dc9..2bdc28cc1b 100644 --- a/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/feature/GMLFeatureWriter.java +++ b/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/feature/GMLFeatureWriter.java @@ -371,7 +371,9 @@ else if (pt instanceof EnvelopePropertyType) { writeNilledElement(propName, attributes); } else { - writeStartElementWithNS(propName.getNamespaceURI(), propName.getLocalPart()); + String namespaceURI = GMLSchemaInfoSet.isGMLNamespace(propName.getNamespaceURI()) ? gmlNs + : propName.getNamespaceURI(); + writeStartElementWithNS(namespaceURI, propName.getLocalPart()); if (value != null) { gmlStreamWriter.getGeometryWriter().exportEnvelope((Envelope) value); } diff --git a/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/geometry/GML3GeometryWriter.java b/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/geometry/GML3GeometryWriter.java index ad10a65128..89ae7781ce 100644 --- a/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/geometry/GML3GeometryWriter.java +++ b/deegree-core/deegree-core-base/src/main/java/org/deegree/gml/geometry/GML3GeometryWriter.java @@ -119,6 +119,7 @@ import org.deegree.geometry.standard.curvesegments.AffinePlacement; import org.deegree.gml.GMLStreamWriter; import org.deegree.gml.commons.AbstractGMLObjectWriter; +import org.deegree.gml.schema.GMLSchemaInfoSet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1533,7 +1534,7 @@ private void startGeometry(String localName, Geometry geometry) throws XMLStreamException, UnknownCRSException, TransformationException { GMLObjectType gmlType = geometry.getType(); - if (gmlType == null) { + if (gmlType == null || GMLSchemaInfoSet.isGMLNamespace(gmlType.getName().getNamespaceURI())) { writeStartElementWithNS(gmlNs, localName); } else { diff --git a/deegree-services/deegree-webservices-handbook/src/main/asciidoc/featurestores.adoc b/deegree-services/deegree-webservices-handbook/src/main/asciidoc/featurestores.adoc index 000371bf99..ca19fbf0a4 100644 --- a/deegree-services/deegree-webservices-handbook/src/main/asciidoc/featurestores.adoc +++ b/deegree-services/deegree-webservices-handbook/src/main/asciidoc/featurestores.adoc @@ -1653,6 +1653,8 @@ NOTE: In BLOB mode, only spatial and feature id queries can be mapped to SQL WHERE-constraints. All other kinds of filter conditions are performed in memory. See <> for more information. +IMPORTANT: It is not recommended to mix GML versions in BLOB mode: The GML versions supported by WFS should be limited to the GML version of the features in the FeatureStore. Currently it cannot be ensured, that geometries transformed to another GML version are valid against the schema. + ==== Transactions and feature id generation The mapping defined by a __ element generally