def _toXML(filter, pretty=True, version=1.0): """ Encodes a filter object as XML. """ ogc, ogcconfig = _ogc(version) e = Encoder(ogcconfig) e.indenting = pretty e.omitXMLDeclaration = True out = io.ByteArrayOutputStream() e.encode(filter, ogc.Filter, out) return str(lang.String(out.toByteArray()))
def toGML(self,out=sys.stdout): try: from net.opengis.wfs import WfsFactory from org.geotools.wfs.v1_1 import WFS, WFSConfiguration from org.geotools.xml import Encoder except ImportError: raise Exception('toGML() not available, GML libraries not on classpath.') features = self._source.features fc = WfsFactory.eINSTANCE.createFeatureCollectionType() fc.feature.add(features) e = Encoder(WFSConfiguration()) uri = self._source.name.namespaceURI prefix = 'gt' e.namespaces.declarePrefix(prefix,uri) e.indenting = True e.encode(fc, WFS.FeatureCollection, out)
def toGML(self, out=sys.stdout): try: from net.opengis.wfs import WfsFactory from org.geotools.wfs.v1_1 import WFS, WFSConfiguration from org.geotools.xml import Encoder except ImportError: raise Exception( 'toGML() not available, GML libraries not on classpath.') features = self._source.features fc = WfsFactory.eINSTANCE.createFeatureCollectionType() fc.feature.add(features) e = Encoder(WFSConfiguration()) uri = self._source.name.namespaceURI prefix = 'gt' e.namespaces.declarePrefix(prefix, uri) e.indenting = True e.encode(fc, WFS.FeatureCollection, out)
def doEncode(cls, obj, el, ver, format, bounds, xmldecl, namespaces=True, nsmappings={}, out=None): cfg = cls.config(ver) if not bounds: cfg.getProperties().add(GML2.NO_FEATURE_BOUNDS) e = Encoder(cfg) if not xmldecl: e.setOmitXMLDeclaration(True) if format: e.setIndenting(True) if namespaces: for pre, uri in nsmappings.iteritems(): if uri: e.getNamespaces().declarePrefix(pre, uri) else: e.setNamespaceAware(False) if not isinstance(el, tuple): el = (cls.uri(ver), el) qname = QName(el[0], el[1]) if out: return doOutput(lambda output: e.encode(obj, qname, output), out) else: return e.encodeAsString(obj, qname)
def doEncode(cls, obj, el, ver, format, bounds, xmldecl, namespaces=True, nsmappings={}, out=None): cfg = cls.config(ver) if not bounds: cfg.getProperties().add(GML2.NO_FEATURE_BOUNDS) e = Encoder(cfg) if not xmldecl: e.setOmitXMLDeclaration(True) if format: e.setIndenting(True) if namespaces: for pre,uri in nsmappings.iteritems(): if uri: e.getNamespaces().declarePrefix(pre, uri) else: e.setNamespaceAware(False) if not isinstance(el, tuple): el = (cls.uri(ver), el) qname = QName(el[0], el[1]) if out: return doOutput(lambda output: e.encode(obj, qname, output), out) else: return e.encodeAsString(obj, qname)