Index: /trunk/zoo-services/arithmetics/cgi-env/Multiply.zcfg
===================================================================
--- /trunk/zoo-services/arithmetics/cgi-env/Multiply.zcfg	(revision 105)
+++ /trunk/zoo-services/arithmetics/cgi-env/Multiply.zcfg	(revision 106)
@@ -19,10 +19,5 @@
     DataType = float
     <Default>
-     value = 1.0
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralData>
   [B]
@@ -34,9 +29,5 @@
     DataType = float
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -48,9 +39,5 @@
     DataType = float
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralOutput>
  </DataOutputs>  
Index: /trunk/zoo-services/gdal/profile/cgi-env/GdalExtractProfile.zcfg
===================================================================
--- /trunk/zoo-services/gdal/profile/cgi-env/GdalExtractProfile.zcfg	(revision 105)
+++ /trunk/zoo-services/gdal/profile/cgi-env/GdalExtractProfile.zcfg	(revision 106)
@@ -49,5 +49,4 @@
      encoding = UTF-8
      extension = js
-     asReference = true	
     </Default>
     <Supported>
Index: /trunk/zoo-services/gdal/translate/cgi-env/Gdal_Translate.zcfg
===================================================================
--- /trunk/zoo-services/gdal/translate/cgi-env/Gdal_Translate.zcfg	(revision 105)
+++ /trunk/zoo-services/gdal/translate/cgi-env/Gdal_Translate.zcfg	(revision 106)
@@ -30,5 +30,4 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
    </LiteralData>
@@ -41,5 +40,4 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
    </LiteralData>
@@ -52,5 +50,4 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
    </LiteralData>
Index: /trunk/zoo-services/hello-fotran/cgi-env/hellof.zcfg
===================================================================
--- /trunk/zoo-services/hello-fotran/cgi-env/hellof.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-fotran/cgi-env/hellof.zcfg	(revision 106)
@@ -23,10 +23,5 @@
     DataType = string
     <Default>
-     value = Your Name
-     UOM = meter
     </Default>
-    <Supported>
-     UOM = meter
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -41,9 +36,5 @@
     DataType = string
     <Default>
-     UOM = meter
     </Default>
-    <Supported>
-     UOM = meter
-    </Supported>
    </LiteralData>
  </DataOutputs>  
Index: /trunk/zoo-services/hello-java/cgi-env/HelloWorldJava.zcfg
===================================================================
--- /trunk/zoo-services/hello-java/cgi-env/HelloWorldJava.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-java/cgi-env/HelloWorldJava.zcfg	(revision 106)
@@ -19,9 +19,5 @@
     DataType = string
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -33,9 +29,5 @@
     DataType = string
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralOutput>
  </DataOutputs>  
Index: /trunk/zoo-services/hello-js/cgi-env/hellojs.zcfg
===================================================================
--- /trunk/zoo-services/hello-js/cgi-env/hellojs.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-js/cgi-env/hellojs.zcfg	(revision 106)
@@ -23,5 +23,4 @@
     dataType = string
     <Default>
-     value = Your Name Here
     </Default>
    </LiteralData>
Index: /trunk/zoo-services/hello-js/cgi-env/hellojs1.zcfg
===================================================================
--- /trunk/zoo-services/hello-js/cgi-env/hellojs1.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-js/cgi-env/hellojs1.zcfg	(revision 106)
@@ -23,5 +23,4 @@
     dataType = string
     <Default>
-     value = Your Name Here
     </Default>
    </LiteralData>
Index: /trunk/zoo-services/hello-perl/cgi-env/HelloPL.zcfg
===================================================================
--- /trunk/zoo-services/hello-perl/cgi-env/HelloPL.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-perl/cgi-env/HelloPL.zcfg	(revision 106)
@@ -22,9 +22,5 @@
     DataType = string
     <Default>
-     UOM = meter
     </Default>
-    <Supported>
-     UOM = meter
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -39,9 +35,5 @@
     DataType = string
     <Default>
-     UOM = meter
     </Default>
-    <Supported>
-     UOM = meter
-    </Supported>
    </LiteralData>
  </DataOutputs>
Index: /trunk/zoo-services/hello-php/cgi-env/HelloPHP.zcfg
===================================================================
--- /trunk/zoo-services/hello-php/cgi-env/HelloPHP.zcfg	(revision 105)
+++ /trunk/zoo-services/hello-php/cgi-env/HelloPHP.zcfg	(revision 106)
@@ -19,9 +19,5 @@
     DataType = string
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -33,9 +29,5 @@
     DataType = string
     <Default>
-     UOM = meters
     </Default>
-    <Supported>
-     UOM = feet
-    </Supported>
    </LiteralOutput>
  </DataOutputs>  
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BoundaryPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BoundaryPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BoundaryPy.zcfg	(revision 106)
@@ -23,5 +23,5 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
@@ -40,17 +40,16 @@
    <ComplexData>
     <Default>
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+    </Default>
+    <Supported>
      mimeType = application/json
      encoding = UTF-8
-    </Default>
-    <Supported>
-     mimeType = text/xml
-     encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
     </Supported>
     <Supported>
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
-     asReference = true	
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BufferPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BufferPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/BufferPy.zcfg	(revision 106)
@@ -24,9 +24,9 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
      asReference = true	
     </Default>
     <Supported>
-     mimeType = aplication/json
+     mimeType = application/json
      encoding = UTF-8
     </Supported>
@@ -57,12 +57,11 @@
    <ComplexData>
     <Default>
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+    </Default>
+    <Supported>
      mimeType = application/json
      encoding = UTF-8
-    </Default>
-    <Supported>
-     mimeType = text/xml
-     encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
-     asReference = true	
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/CentroidPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/CentroidPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/CentroidPy.zcfg	(revision 106)
@@ -24,10 +24,10 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
@@ -42,12 +42,11 @@
    <ComplexData>
     <Default>
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/gml/3.1.0/point.xsd
+    </Default>
+    <Supported>
      mimeType = application/json
      encoding = UTF-8
-    </Default>
-    <Supported>
-     mimeType = text/xml
-     encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/point.xsd
-     asReference = true	
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ConvexHullPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ConvexHullPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ConvexHullPy.zcfg	(revision 106)
@@ -23,5 +23,5 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
@@ -40,11 +40,11 @@
    <ComplexData>
     <Default>
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+    </Default>
+    <Supported>
      mimeType = application/json
      encoding = UTF-8
-    </Default>
-    <Supported>
-     mimeType = text/xml
-     encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/DifferencePy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/DifferencePy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/DifferencePy.zcfg	(revision 106)
@@ -24,10 +24,10 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
@@ -43,5 +43,5 @@
     <Default>
      mimeType = text/xml
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
      encoding = UTF-8
     </Default>
@@ -49,5 +49,5 @@
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
+      mimeType = text/xml
+      schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+      encoding = UTF-8
+      extension = xml
      </Default>
      <Supported>
-      mimeType = text/xml
-      schema = http://fooa/gml/3.1.0/polygon.xsd
+      mimeType = application/json
       encoding = UTF-8
-      extension = xml
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/IntersectionPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/IntersectionPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/IntersectionPy.zcfg	(revision 106)
@@ -24,10 +24,10 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
@@ -43,5 +43,5 @@
     <Default>
      mimeType = text/xml
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
      encoding = UTF-8
     </Default>
@@ -49,5 +49,5 @@
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Supported>
    </ComplexData>
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
+      mimeType = text/xml
+      schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+      encoding = UTF-8
+      extension = xml
      </Default>
      <Supported>
-      mimeType = text/xml
-      schema = http://fooa/gml/3.1.0/polygon.xsd
+      mimeType = application/json
       encoding = UTF-8
-      extension = xml
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/SymDifferencePy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/SymDifferencePy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/SymDifferencePy.zcfg	(revision 106)
@@ -24,10 +24,14 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+    </Supported>
+    <Supported>
+     mimeType = application/json
+     encoding = UTF-8
     </Supported>
    </ComplexData>
@@ -43,5 +47,5 @@
     <Default>
      mimeType = text/xml
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
      encoding = UTF-8
     </Default>
@@ -49,5 +53,9 @@
      mimeType = text/xml
      encoding = base64
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+    </Supported>
+    <Supported>
+     mimeType = application/json
+     encoding = UTF-8
     </Supported>
    </ComplexData>
@@ -62,13 +70,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
+      mimeType = text/xml
+      schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+      encoding = UTF-8
+      extension = xml
      </Default>
      <Supported>
-      mimeType = text/xml
-      schema = http://fooa/gml/3.1.0/polygon.xsd
+      mimeType = application/json
       encoding = UTF-8
-      extension = xml
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/UnionPy.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/UnionPy.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/UnionPy.zcfg	(revision 106)
@@ -24,5 +24,5 @@
      mimeType = text/xml
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
     </Default>
     <Supported>
@@ -42,5 +42,5 @@
     <Default>
      mimeType = text/xml
-     schema = http://fooa/gml/3.1.0/polygon.xsd
+     schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
      encoding = UTF-8
     </Default>
@@ -60,13 +60,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
+      mimeType = text/xml
+      schema = http://schemas.opengis.net/gml/3.1.0/base/feature.xsd
+      encoding = UTF-8
+      extension = xml
      </Default>
      <Supported>
-      mimeType = text/xml
-      schema = http://fooa/gml/3.1.0/polygon.xsd
+      mimeType = application/json
       encoding = UTF-8
-      extension = xml
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ogr_sp.py
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ogr_sp.py	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops-py/cgi-env/ogr_sp.py	(revision 106)
@@ -1,68 +1,106 @@
 import osgeo.ogr
 import libxml2
+import os
+import sys
 
 def createGeometryFromWFS(my_wfs_response):
     doc=libxml2.parseMemory(my_wfs_response,len(my_wfs_response))
     ctxt = doc.xpathNewContext()
-    res=ctxt.xpathEval("/*/*/*/*/*[local-name()='Polygon' or local-name()='MultiPolygon']")
-    for node in res:
-        geometry_as_string=node.serialize()
-        geometry=osgeo.ogr.CreateGeometryFromGML(geometry_as_string)
-	return geometry
+    res=ctxt.xpathEval("/*/*/*/*/*[local-name()='Polygon' or local-name()='MultiPolygon' or local-name()='Point' or local-name()='MultiPoint' or local-name()='MultiLinestring' or local-name()='MultiLinestring' ]")
+    geometry=[]
+    try:
+        for node in res:
+            geometry_as_string=node.serialize()
+            geometry+=[osgeo.ogr.CreateGeometryFromGML(geometry_as_string)]
+    except:
+        print >> sys.stderr,"Error"
     return geometry
 
 def extractInputs(obj):
     if obj["mimeType"]=="application/json":
-	return osgeo.ogr.CreateGeometryFromJson(obj["value"])
+	return [osgeo.ogr.CreateGeometryFromJson(obj["value"])]
     else:
 	try:
         	return createGeometryFromWFS(obj["value"])
 	except:
-		return osgeo.ogr.CreateGeometryFromJson(obj["value"])
+		return [osgeo.ogr.CreateGeometryFromJson(obj["value"])]
     return null
     
-def outputResult(obj,geom):
+def outputResult(conf,obj,geom):
+    driverName = "GML"
+    extension = [ ".xml" , ".xsd" ]
     if obj["mimeType"]=="application/json":
-        obj["value"]=geom.ExportToJson()
-        obj["mimeType"]="text/plain"
-    else:
-        obj["value"]=geom.ExportToGML()
+        driverName = "GeoJSON"
+        extension = [ ".js" ]
+    drv = osgeo.ogr.GetDriverByName( driverName )
+    ds = drv.CreateDataSource( conf["main"]["tmpPath"]+"/store"+conf["lenv"]["sid"]+extension[0] )
+    lyr = ds.CreateLayer( "Result", None, osgeo.ogr.wkbUnknown )
+    field_defn = osgeo.ogr.FieldDefn( "Name", osgeo.ogr.OFTString )
+    field_defn.SetWidth( len("Result10000") )
+    lyr.CreateField ( field_defn )
+    i=0
+    while i < len(geom):
+        feat = osgeo.ogr.Feature( lyr.GetLayerDefn())
+        feat.SetField( "Name", "Result"+str(i) )
+        feat.SetGeometry(geom[i])
+        lyr.CreateFeature(feat)
+        feat.Destroy()
+        geom[i].Destroy()
+        i+=1
+    ds.Destroy()
+    obj["value"]=open(conf["main"]["tmpPath"]+"/store"+conf["lenv"]["sid"]+extension[0],"r").read()
+    os.unlink(conf["main"]["tmpPath"]+"/store"+conf["lenv"]["sid"]+extension[0])
+    if len(extension)>1:
+        os.unlink(conf["main"]["tmpPath"]+"/store"+conf["lenv"]["sid"]+extension[1])
 
 def BoundaryPy(conf,inputs,outputs):
     geometry=extractInputs(inputs["InputPolygon"])
-    rgeom=geometry.GetBoundary()
-    if outputs["Result"]["mimeType"]=="application/json":
-        outputs["Result"]["value"]=rgeom.ExportToJson()
-        outputs["Result"]["mimeType"]="text/plain"
-    else:
-        outputs["Result"]["value"]=rgeom.ExportToGML()
+    i=0
+    rgeometries=[]
+    while i < len(geometry):
+        rgeometries+=[geometry[i].GetBoundary()]
+        geometry[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
 def CentroidPy(conf,inputs,outputs):
     geometry=extractInputs(inputs["InputPolygon"])
-    if geometry.GetGeometryType()!=3:
-        geometry=geometry.ConvexHull()
-    rgeom=geometry.Centroid()
-    outputResult(outputs["Result"],rgeom)
+    i=0
+    rgeometries=[]
+    while i < len(geometry):
+        if geometry[i].GetGeometryType()!=3:
+            geometry[i]=geometry[i].ConvexHull()
+        rgeometries+=[geometry[i].Centroid()]
+        geometry[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
 def ConvexHullPy(conf,inputs,outputs):
     geometry=extractInputs(inputs["InputPolygon"])
-    rgeom=geometry.ConvexHull()
-    outputResult(outputs["Result"],rgeom)
+    i=0
+    rgeometries=[]
+    while i < len(geometry):
+        rgeometries+=[geometry[i].ConvexHull()]
+        geometry[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
 def BufferPy(conf,inputs,outputs):
-    geometry=createGeometryFromWFS(inputs["InputPolygon"]["value"])
     try:
         bdist=int(inputs["BufferDistance"]["value"])
     except:
         bdist=10
-    rgeom=geometry.Buffer(bdist)
-    if outputs["Result"]["mimeType"]=="application/json":
-        outputs["Result"]["value"]=rgeom.ExportToJson()
-        outputs["Result"]["mimeType"]="text/plain"
-    else:
-        outputs["Result"]["value"]=rgeom.ExportToGML()
+    geometry=extractInputs(inputs["InputPolygon"])
+    i=0
+    rgeometries=[]
+    while i < len(geometry):
+        rgeometries+=[geometry[i].Buffer(bdist)]
+        geometry[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
+    i=0
     return 3
 
@@ -70,6 +108,20 @@
     geometry1=extractInputs(inputs["InputEntity1"])
     geometry2=extractInputs(inputs["InputEntity2"])
-    rgeom=geometry1.Union(geometry2)
-    outputResult(outputs["Result"],rgeom)
+    rgeometries=[]
+    i=0
+    while i < len(geometry1):
+        j=0
+        while j < len(geometry2):
+            tres=geometry1[i].Union(geometry2[j])
+            if not(tres.IsEmpty()):
+                rgeometries+=[tres]
+            j+=1
+        geometry1[i].Destroy()
+        i+=1
+    i=0
+    while i < len(geometry2):
+        geometry2[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
@@ -77,6 +129,20 @@
     geometry1=extractInputs(inputs["InputEntity1"])
     geometry2=extractInputs(inputs["InputEntity2"])
-    rgeom=geometry1.Intersection(geometry2)
-    outputResult(outputs["Result"],rgeom)
+    rgeometries=[]
+    i=0
+    while i < len(geometry1):
+        j=0
+        while j < len(geometry2):
+            tres=geometry1[i].Intersection(geometry2[j])
+            if not(tres.IsEmpty()):
+                rgeometries+=[tres]
+            j+=1
+        geometry1[i].Destroy()
+        i+=1
+    i=0
+    while i < len(geometry2):
+        geometry2[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
@@ -84,6 +150,20 @@
     geometry1=extractInputs(inputs["InputEntity1"])
     geometry2=extractInputs(inputs["InputEntity2"])
-    rgeom=geometry1.Difference(geometry2)
-    outputResult(outputs["Result"],rgeom)
+    rgeometries=[]
+    i=0
+    while i < len(geometry1):
+        j=0
+        while j < len(geometry2):
+            tres=geometry1[i].Difference(geometry2[j])
+            if not(tres.IsEmpty()):
+                rgeometries+=[tres]
+            j+=1
+        geometry1[i].Destroy()
+        i+=1
+    i=0
+    while i < len(geometry2):
+        geometry2[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
 
@@ -91,5 +171,17 @@
     geometry1=extractInputs(inputs["InputEntity1"])
     geometry2=extractInputs(inputs["InputEntity2"])
-    rgeom=geometry1.SymmetricDifference(geometry2)
-    outputResult(outputs["Result"],rgeom)
+    rgeometries=[]
+    i=0
+    while i < len(geometry1):
+        j=0
+        while j < len(geometry2):
+            rgeometries+=[geometry1[i].SymmetricDifference(geometry2[j])]
+            j+=1
+        geometry1[i].Destroy()
+        i+=1
+    i=0
+    while i < len(geometry2):
+        geometry2[i].Destroy()
+        i+=1
+    outputResult(conf,outputs["Result"],rgeometries)
     return 3
Index: /trunk/zoo-services/ogr/base-vect-ops/Makefile
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/Makefile	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/Makefile	(revision 106)
@@ -1,3 +1,3 @@
-CFLAGS=-I../../../zoo-kernel/ -I./ `xsl-config --cflags`  `gdal-config --cflags`  -DLINUX_FREE_ISSUE #-DDEBUG
+CFLAGS=-I../../../zoo-kernel/ -I./ `geos-config --cflags` `xml2-config --cflags`  `gdal-config --cflags`  -DLINUX_FREE_ISSUE #-DDEBUG
 # if JS_ENABLED flag is set to true in your ZOO-Kernel Makefile then you'll have
 # uncomment the following line
@@ -5,5 +5,5 @@
 
 cgi-env/ogr_service.zo: service.c
-	g++ ${CFLAGS} -shared -fpic -o cgi-env/ogr_service.zo ./service.c ../../../zoo-kernel/service_internal.o ${JS_LDFLAGS} `xsl-config --libs` `gdal-config --libs` `geos-config --libs`
+	g++ ${CFLAGS} -shared -fpic -o cgi-env/ogr_service.zo ./service.c ../../../zoo-kernel/service_internal.o ${JS_LDFLAGS} `xml2-config --libs` `gdal-config --libs` `geos-config --libs`
 
 clean:
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Boundary.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Boundary.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Boundary.zcfg	(revision 106)
@@ -41,14 +41,13 @@
    <ComplexData>
     <Default>
-     mimeType = application/json
-     encoding = UTF-8
-     extension = js
-     asReference = true	
-    </Default>
-    <Supported>
      mimeType = text/xml
      encoding = UTF-8
      schema = http://fooa/gml/3.1.0/polygon.xsd
      extension = xml
+    </Default>
+    <Supported>
+     mimeType = application/json
+     encoding = UTF-8
+     extension = js
     </Supported>
     <Supported>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Buffer.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Buffer.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Buffer.zcfg	(revision 106)
@@ -57,8 +57,8 @@
    <ComplexData>
     <Default>
-     mimeType = application/json
+     mimeType = text/xml
      encoding = UTF-8
-     extension = js
-     asReference = true	
+     schema = http://fooa/gml/3.1.0/polygon.xsd
+     extension = xml
     </Default>
     <Supported>
@@ -69,8 +69,7 @@
     </Supported>
     <Supported>
-     mimeType = text/xml
+     mimeType = application/json
      encoding = UTF-8
-     schema = http://fooa/gml/3.1.0/polygon.xsd
-     extension = xml
+     extension = js
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Centroid.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Centroid.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Centroid.zcfg	(revision 106)
@@ -42,14 +42,13 @@
    <ComplexData>
     <Default>
-     mimeType = application/json
-     encoding = UTF-8
-     extension = js
-     asReference = true	
-    </Default>
-    <Supported>
      mimeType = text/xml
      encoding = UTF-8
      schema = http://fooa/gml/3.1.0/point.xsd
      extension = xml
+    </Default>
+    <Supported>
+     mimeType = application/json
+     encoding = UTF-8
+     extension = js
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/ConvexHull.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/ConvexHull.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/ConvexHull.zcfg	(revision 106)
@@ -41,14 +41,13 @@
    <ComplexData>
     <Default>
-     mimeType = application/json
-     encoding = UTF-8
-     extension = js
-     asReference = true	
-    </Default>
-    <Supported>
      mimeType = text/xml
      encoding = UTF-8
      schema = http://fooa/gml/3.1.0/polygon.xsd
      extension = xml
+    </Default>
+    <Supported>
+     mimeType = application/json
+     encoding = UTF-8
+     extension = js
     </Supported>
    </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Difference.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Difference.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Difference.zcfg	(revision 106)
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
-     </Default>
-     <Supported>
       mimeType = text/xml
       encoding = UTF-8
       schema = http://fooa/gml/3.1.0/polygon.xsd
       extension = xml
+     </Default>
+     <Supported>
+      mimeType = application/json
+      encoding = UTF-8
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Intersection.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Intersection.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Intersection.zcfg	(revision 106)
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
-     </Default>
-     <Supported>
       mimeType = text/xml
       encoding = UTF-8
       schema = http://fooa/gml/3.1.0/polygon.xsd
       extension = xml
+     </Default>
+     <Supported>
+      mimeType = application/json
+      encoding = UTF-8
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/SymDifference.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/SymDifference.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/SymDifference.zcfg	(revision 106)
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
-     </Default>
-     <Supported>
       mimeType = text/xml
       schema = http://fooa/gml/3.1.0/polygon.xsd
       encoding = UTF-8
       extension = xml
+     </Default>
+     <Supported>
+      mimeType = application/json
+      encoding = UTF-8
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Union.zcfg
===================================================================
--- /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Union.zcfg	(revision 105)
+++ /trunk/zoo-services/ogr/base-vect-ops/cgi-env/Union.zcfg	(revision 106)
@@ -62,13 +62,13 @@
     <ComplexData>
      <Default>
-       mimeType = application/json
-       encoding = UTF-8
-       extension = js
-     </Default>
-     <Supported>
       mimeType = text/xml
       schema = http://fooa/gml/3.1.0/polygon.xsd
       encoding = UTF-8
       extension = xml
+     </Default>
+     <Supported>
+      mimeType = application/json
+      encoding = UTF-8
+      extension = js
      </Supported>
     </ComplexData>
Index: /trunk/zoo-services/openoffice/cgi-env/OdtConverter.zcfg
===================================================================
--- /trunk/zoo-services/openoffice/cgi-env/OdtConverter.zcfg	(revision 105)
+++ /trunk/zoo-services/openoffice/cgi-env/OdtConverter.zcfg	(revision 106)
@@ -19,9 +19,5 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
-    <Supported>
-     value = AAIGrid
-    </Supported>
    </LiteralData>
   [OutputDoc]
@@ -33,9 +29,5 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
-    <Supported>
-     value = AAIGrid
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -47,9 +39,5 @@
     DataType = string
     <Default>
-     uom = feet
     </Default>	
-    <Supported>
-     value = AAIGrid
-    </Supported>
    </LiteralData>
  </DataOutputs>  
Index: /trunk/zoo-services/utils/status/cgi-env/GetStatus.zcfg
===================================================================
--- /trunk/zoo-services/utils/status/cgi-env/GetStatus.zcfg	(revision 105)
+++ /trunk/zoo-services/utils/status/cgi-env/GetStatus.zcfg	(revision 106)
@@ -19,9 +19,5 @@
     DataType = integer
     <Default>
-     uom = meters
     </Default>
-    <Supported>
-     uom = feet
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -33,12 +29,15 @@
     title = Demo XSL use case
    </MetaData>   
-   <LiteralData>
-    DataType = string
+   <ComplexData>
     <Default>
-     uom = meters
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/wps/1.0.0/wpsExecute_response.xsd
     </Default>
     <Supported>
-     uom = feet
+     mimeType = text/xml
+     encoding = UTF-8
+     schema = http://schemas.opengis.net/wps/1.0.0/wpsExecute_response.xsd
     </Supported>
-   </LiteralData>
+   </ComplexData>
  </DataOutputs>  
Index: /trunk/zoo-services/utils/status/cgi-env/longProcess.zcfg
===================================================================
--- /trunk/zoo-services/utils/status/cgi-env/longProcess.zcfg	(revision 105)
+++ /trunk/zoo-services/utils/status/cgi-env/longProcess.zcfg	(revision 106)
@@ -19,9 +19,5 @@
     dataType = integer
     <Default>
-     uom = meters
     </Default>
-    <Supported>
-     uom = feet
-    </Supported>
    </LiteralData>
  </DataInputs>
@@ -36,9 +32,5 @@
     dataType = string
     <Default>
-     uom = meters
     </Default>
-    <Supported>
-     uom = feet
-    </Supported>
    </LiteralData>
  </DataOutputs>  
