ZOO-Project
Macros | Functions | Variables
response_print.h File Reference
#include <libintl.h>
#include <locale.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <stdio.h>
#include <time.h>
#include <ctype.h>
#include "service.h"
#include <openssl/sha.h>
#include <openssl/md5.h>
#include <openssl/hmac.h>
#include <openssl/evp.h>
#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>

Go to the source code of this file.

Macros

#define DEFAULT_SERVICE_URL   "http://www.zoo-project.org/"
 The default service url (overriden by serverAddress) More...
 
#define TIME_SIZE   40
 The time size. More...
 
#define _(String)   dgettext ("zoo-kernel",String)
 ZOO-Kernel internal messages translation function. More...
 
#define _ss(String)   dgettext ("zoo-services",String)
 ZOO-Services messages translation function. More...
 
#define ZOO_LOCK_CREATE_FAILED   -4
 ZOO-Kernel was unable to create a lock. More...
 
#define ZOO_LOCK_ACQUIRE_FAILED   -5
 ZOO-Kernel was unable to acquire a lock. More...
 
#define ZOO_LOCK_RELEASE_FAILED   -6
 ZOO-Kernel was unable to release a lock. More...
 
#define ZOO_NS_MAX   10
 Maximum number of XML namespaces. More...
 
#define ZOO_DOC_MAX   20
 Maximum number of XML docs. More...
 

Functions

void addLangAttr (xmlNodePtr, maps *)
 Add a land attribute to a XML node. More...
 
void printHeaders (maps **)
 Print the HTTP headers based on a map. More...
 
void printSessionHeaders (maps **)
 Print the Set-Cookie header if necessary (conf["lenv"]["cookie"]) and save the session file. More...
 
int printAFile (maps **, char *, zStatStruct, void(funcError)(maps **, map *))
 Print a file red as binary. More...
 
int zooXmlSearchForNs (const char *)
 Search for an existing XML namespace in usedNS. More...
 
int zooXmlAddNs (xmlNodePtr, const char *, const char *)
 Add an XML namespace to the usedNS if it was not already used. More...
 
void zooXmlCleanupNs ()
 Free allocated memory to store used XML namespace. More...
 
int zooXmlAddDoc (xmlNodePtr, const char *, const char *)
 
void zooXmlCleanupDocs ()
 Free allocated memort to store XML documents. More...
 
const char * produceStatusString (maps *, map *)
 Produce the status string used in HTTP headers. More...
 
void printExceptionReportResponse (maps **, map *)
 Print an OWS ExceptionReport or exception.yaml Document and HTTP headers (when required) depending on the code. More...
 
xmlNodePtr createExceptionReportNode (maps *, map *, int)
 Create an OWS ExceptionReport Node. More...
 
void printProcessResponse (maps **, map *, int, service *, const char *, int, maps *, maps *)
 Generate a wps:Execute XML document. More...
 
xmlNodePtr printWPSHeader (xmlDocPtr, maps *, const char *, const char *, const char *, int)
 Generate a WPS header. More...
 
xmlNodePtr printGetCapabilitiesHeader (xmlDocPtr, maps *, const char *)
 Generate a Capabilities header. More...
 
void printGetCapabilitiesForProcess (registry *, maps *, void *, void *, service *)
 Generate a wps:Process node for a servie and add it to a given node. More...
 
void printDescribeProcessForProcess (registry *, maps *, void *, void *, service *)
 Generate a ProcessDescription node for a servie and add it to a given node. More...
 
void printFullDescription (xmlDocPtr, int, elements *, const char *, xmlNsPtr, xmlNsPtr, xmlNodePtr, int, int, const map *)
 Generate the required XML tree for the detailled metadata information of inputs or outputs. More...
 
void printDocument (maps **, xmlDocPtr, int)
 Print a XML document. More...
 
void printDescription (xmlNodePtr, xmlNsPtr, const char *, map *, int)
 Create XML node with basic ows metadata information (Identifier,Title,Abstract) More...
 
void printIOType (xmlDocPtr, xmlNodePtr, xmlNsPtr, xmlNsPtr, xmlNsPtr, elements *, maps *, const char *, int)
 Generate XML nodes describing inputs or outputs metadata. More...
 
void printRawdataOutput (maps **, maps *)
 Print one outputs as raw. More...
 
void printRawdataOutputs (maps **, service *, maps *)
 Print all outputs as raw. More...
 
mapparseBoundingBox (const char *)
 Parse a BoundingBox string. More...
 
void printBoundingBox (xmlNsPtr, xmlNodePtr, map *)
 Create required XML nodes for boundingbox and update the current XML node. More...
 
void printBoundingBoxDocument (maps *, maps *, FILE *)
 Print an ows:BoundingBox XML document. More...
 
void printOutputDefinitions (xmlDocPtr, xmlNodePtr, xmlNsPtr, xmlNsPtr, elements *, maps *, const char *)
 Print a XML document. More...
 
void printStatusInfo (maps *, map *, char *)
 Print a StatusInfo XML document. More...
 
void addAdditionalParameters (map *, xmlDocPtr, xmlNodePtr, xmlNsPtr, xmlNsPtr, int)
 Add AdditionalParameters nodes to any existing node. More...
 
void addMetadata (map *, xmlDocPtr, xmlNodePtr, xmlNsPtr, xmlNsPtr, int)
 Add a Metadata node to any existing node. More...
 
char * produceFileUrl (service *, maps *, maps *, const char *, int)
 Produce a copy file and the corresponding url in case it is required Please, free the returned ressource while used. More...
 
void outputResponse (service *, maps *, maps *, map *, int, maps **, int)
 Generate the output response (RawDataOutput or ResponseDocument) More...
 
void localPrintException (maps **, map *)
 Invoke the ensureFiltered then printExceptionReportResponseJ functions. More...
 
int errorException (maps **, const char *, const char *, const char *)
 Print an OWS ExceptionReport. More...
 
xmlNodePtr soapEnvelope (maps *, xmlNodePtr)
 Generate a SOAP Envelope node when required (if the isSoap key of the [main] section is set to true). More...
 
int checkForSoapEnvelope (xmlDocPtr)
 

Variables

static char * SERVICE_URL
 Global char* to store the serverAddress value of the [main] section. More...
 
static xmlNsPtr usedNs [ZOO_NS_MAX]
 Array of xmlNsPtr storing all used XML namespace. More...
 
static char * nsName [ZOO_NS_MAX]
 Array storing names of the used XML namespace. More...
 
static int nbNs =0
 Number of XML namespaces. More...
 
static xmlDocPtr iDocs [ZOO_DOC_MAX]
 Array of xmlDocPtr storing XML docs. More...
 
static int nbDocs =0
 Number of XML docs. More...
 
static char wpsStatus [3][11]
 Definitions of acceptable final status. More...
 
static const char * schemas [2][8]
 Definitions of schemas depending on the WPS version. More...
 
static int nbSupportedRequests =7
 Definitions of support requests (depending on the WPS version) More...
 
static const char * requests [2][7]
 Definitions of requests depending on the WPS version. More...
 
static int nbReqIdentifier =2
 Definitions requests requiring identifier (depending on the WPS version) More...
 
static int nbReqJob =3
 Definitions requests requiring jobid (only for WPS version 2.0.0) More...
 
static const char * root_nodes [2][4]
 Definitions of root node for response depending on the request and the WPS version. More...
 
static const char * capabilities [2][7]
 Name and corresponding attributes depending on the WPS version. More...
 
static const char *const aapccStatusCodes [][10]
 Correspondance between HTTP status code and exception code. More...
 

Macro Definition Documentation

◆ _

#define _ (   String)    dgettext ("zoo-kernel",String)

ZOO-Kernel internal messages translation function.

◆ _ss

#define _ss (   String)    dgettext ("zoo-services",String)

ZOO-Services messages translation function.

◆ DEFAULT_SERVICE_URL

#define DEFAULT_SERVICE_URL   "http://www.zoo-project.org/"

The default service url (overriden by serverAddress)

◆ TIME_SIZE

#define TIME_SIZE   40

The time size.

◆ ZOO_DOC_MAX

#define ZOO_DOC_MAX   20

Maximum number of XML docs.

◆ ZOO_LOCK_ACQUIRE_FAILED

#define ZOO_LOCK_ACQUIRE_FAILED   -5

ZOO-Kernel was unable to acquire a lock.

◆ ZOO_LOCK_CREATE_FAILED

#define ZOO_LOCK_CREATE_FAILED   -4

ZOO-Kernel was unable to create a lock.

◆ ZOO_LOCK_RELEASE_FAILED

#define ZOO_LOCK_RELEASE_FAILED   -6

ZOO-Kernel was unable to release a lock.

◆ ZOO_NS_MAX

#define ZOO_NS_MAX   10

Maximum number of XML namespaces.

Function Documentation

◆ addAdditionalParameters()

void addAdditionalParameters ( map meta,
xmlDocPtr  doc,
xmlNodePtr  nc,
xmlNsPtr  ns_ows,
xmlNsPtr  ns_xlink,
int  fromDb 
)

Add AdditionalParameters nodes to any existing node.

Parameters
metathe map defining the additional parameters
docthe XML document used
nbthe node to add the additional parameters
ns_owsthe OWS namespace
ns_xlinkthe xlink namespace
fromDb1 if the metadata has been extracted from the metadb, 0 otherwise

◆ addLangAttr()

void addLangAttr ( xmlNodePtr  n,
maps pmsConf 
)

Add a land attribute to a XML node.

Parameters
nthe XML node to add the attribute
pmsConfthe map containing the language key to add as xml:lang

◆ addMetadata()

void addMetadata ( map meta,
xmlDocPtr  doc,
xmlNodePtr  nc,
xmlNsPtr  ns_ows,
xmlNsPtr  ns_xlink,
int  vid 
)

Add a Metadata node to any existing node.

Parameters
metathe map defining the additional parameters
docthe XML document used
nbthe node to add the additional parameters
ns_owsthe OWS namespace
ns_xlinkthe xlink namespace
vidthe version of WPS to use (0 for 1.0.0 and 1 for 2.0)

◆ checkForSoapEnvelope()

int checkForSoapEnvelope ( xmlDocPtr  )

◆ createExceptionReportNode()

xmlNodePtr createExceptionReportNode ( maps pmsConf,
map s,
int  use_ns 
)

Create an OWS ExceptionReport Node.

Parameters
mthe conf maps
sthe map containing the text,code,locator keys
use_ns(0/1) choose if you want to generate an ExceptionReport or ows:ExceptionReport node respectively
Returns
the ExceptionReport/ows:ExceptionReport node

◆ errorException()

int errorException ( maps **  pmsConf,
const char *  message,
const char *  errorcode,
const char *  locator 
)

Print an OWS ExceptionReport.

Parameters
pmsConfthe conf maps
messagethe error message
errorcodethe error code
locatorthe potential locator

◆ localPrintException()

void localPrintException ( maps **  pmsConf,
map pmError 
)

Invoke the ensureFiltered then printExceptionReportResponseJ functions.

Parameters
pmsConfthe maps containing the settings of the main.cfg file
pmErrorthe map containing the text,code,locator keys (or a map array)
See also
printExceptionReportResponseJ,ensureFiltered

◆ outputResponse()

void outputResponse ( service s,
maps request_inputs,
maps request_outputs,
map request_inputs1,
int  cpid,
maps **  ppmsConf,
int  res 
)

Generate the output response (RawDataOutput or ResponseDocument)

Parameters
sthe service structure containing the metadata information
request_inputsthe inputs provided to the service for execution
request_outputsthe outputs updated by the service execution
request_inputs1the map containing the HTTP request
cpidthe process identifier attached to a service execution
pmsConfthe conf maps containing the main.cfg settings
resthe value returned by the service execution

We get the requested output or fallback to the first one if the requested one is not present in the resulting outputs maps.

◆ parseBoundingBox()

map* parseBoundingBox ( const char *  value)

Parse a BoundingBox string.

OGC 06-121r3: 10.2 Bounding box

Value is provided as : lowerCorner,upperCorner,crs,dimension Exemple : 189000,834000,285000,962000,urn:ogc:def:crs:OGC:1.3:CRS84

A map to store boundingbox information should contain:

  • lowerCorner : double,double (minimum within this bounding box)
  • upperCorner : double,double (maximum within this bounding box)
  • crs : URI (Reference to definition of the CRS)
  • dimensions : int

Note : support only 2D bounding box.

Parameters
valuethe char* containing the KVP bouding box
Returns
a map containing all the bounding box keys

◆ printAFile()

int printAFile ( maps **  ppmsConf,
char *  pcFilePath,
zStatStruct  zssStatus,
void(funcError)(maps **, map *)   
)

Print a file red as binary.

Parameters
pmsConfthe maps containing the settings of the main.cfg file
pjoResthe JSON object to populate

◆ printBoundingBox()

void printBoundingBox ( xmlNsPtr  ns_ows,
xmlNodePtr  n,
map boundingbox 
)

Create required XML nodes for boundingbox and update the current XML node.

Parameters
ns_owsthe ows XML namespace
nthe XML node to update
boundingboxthe map containing the boundingbox definition

◆ printBoundingBoxDocument()

void printBoundingBoxDocument ( maps pmsConf,
maps boundingbox,
FILE *  file 
)

Print an ows:BoundingBox XML document.

Parameters
mthe maps containing the settings of the main.cfg file
boundingboxthe maps containing the boundingbox definition
filethe file to print the BoundingBox (if NULL then print on stdout)
See also
parseBoundingBox, printBoundingBox

◆ printDescribeProcessForProcess()

void printDescribeProcessForProcess ( registry reg,
maps pmsConf,
void *  doc0,
void *  nc0,
service serv 
)

Generate a ProcessDescription node for a servie and add it to a given node.

Parameters
regthe profile registry
mthe conf maps containing the main.cfg settings
ncthe XML node to add the Process node
servthe servive structure created from the zcfg file
Returns
the generated wps:ProcessOfferings xmlNodePtr

◆ printDescription()

void printDescription ( xmlNodePtr  root,
xmlNsPtr  ns_ows,
const char *  identifier,
map amap,
int  vid = 0 
)

Create XML node with basic ows metadata information (Identifier,Title,Abstract)

Parameters
rootthe root XML node to add the description
ns_owsthe ows XML namespace
identifierthe identifier to use
amapthe map containing the ows metadata information

◆ printDocument()

void printDocument ( maps **  ppmsConf,
xmlDocPtr  doc,
int  pid 
)

Print a XML document.

Parameters
ppmsConfthe conf maps containing the main.cfg settings
docthe XML document
pidthe process identifier linked to a service

◆ printExceptionReportResponse()

void printExceptionReportResponse ( maps **  ppmsConf,
map pmError 
)

Print an OWS ExceptionReport or exception.yaml Document and HTTP headers (when required) depending on the code.

Parameters
ppmsConfthe maps containing the settings of the main.cfg file
pmErrorthe map containing the text,code,locator keys (or a map array)

◆ printFullDescription()

void printFullDescription ( xmlDocPtr  doc,
int  in,
elements elem,
const char *  type,
xmlNsPtr  ns,
xmlNsPtr  ns_ows,
xmlNodePtr  nc1,
int  vid,
int  fromDb,
const map serviceType 
)

Generate the required XML tree for the detailled metadata information of inputs or outputs.

Parameters
in1 in case of inputs, 0 for outputs
elemthe elements structure containing the metadata information
typethe name ("Input" or "Output") of the XML node to create
ns_owsthe ows XML namespace
ns_owsthe ows XML namespace
nc1the XML node to use to add the created tree
vidthe WPS version id (0 for 1.0.0, 1 for 2.0.0)
fromDb1 in case the metadata comes from the DB, -1 in other cases
serviceTypethe serviceType found in the ZCFG file or the DB

Range: Table 46 OGC Web Services Common Standard

RangeClosure: Table 47 OGC Web Services Common Standard

◆ printGetCapabilitiesForProcess()

void printGetCapabilitiesForProcess ( registry reg,
maps pmsConf,
void *  doc0,
void *  nc0,
service serv 
)

Generate a wps:Process node for a servie and add it to a given node.

Parameters
regthe profiles registry
mthe conf maps containing the main.cfg settings
registrythe profile registry if any
ncthe XML node to add the Process node
servthe service structure created from the zcfg file
Returns
the generated wps:ProcessOfferings xmlNodePtr

◆ printGetCapabilitiesHeader()

xmlNodePtr printGetCapabilitiesHeader ( xmlDocPtr  doc,
maps pmsConf,
const char *  version = "1.0.0" 
)

Generate a Capabilities header.

Parameters
docthe document to add the header
mthe conf maps containing the main.cfg settings
Returns
the generated wps:ProcessOfferings xmlNodePtr

◆ printHeaders()

void printHeaders ( maps **  ppmsConf)

Print the HTTP headers based on a map.

Parameters
ppmsConfthe map containing the headers information

◆ printIOType()

void printIOType ( xmlDocPtr  doc,
xmlNodePtr  nc,
xmlNsPtr  ns_wps,
xmlNsPtr  ns_ows,
xmlNsPtr  ns_xlink,
elements e,
maps pmsConf,
const char *  type,
int  vid 
)

Generate XML nodes describing inputs or outputs metadata.

Parameters
docthe XML document
ncthe XML node to add the definition
ns_wpsthe wps namespace
ns_owsthe ows namespace
ns_xlinkthe xlink namespace
ethe output elements
mthe conf maps containing the main.cfg settings
typethe type

◆ printOutputDefinitions()

void printOutputDefinitions ( xmlDocPtr  doc,
xmlNodePtr  nc,
xmlNsPtr  ns_wps,
xmlNsPtr  ns_ows,
elements e,
maps pmsConf,
const char *  type 
)

Print a XML document.

Parameters
docthe XML document (unused)
ncthe XML node to add the output definition
ns_wpsthe wps XML namespace
ns_owsthe ows XML namespace
ethe output elements
mthe conf maps containing the main.cfg settings
typethe type (unused)

◆ printProcessResponse()

void printProcessResponse ( maps **  ppmsConf,
map request,
int  pid,
service serv,
const char *  service,
int  status,
maps inputs,
maps outputs 
)

Generate a wps:Execute XML document.

Parameters
ppmsConfthe conf maps containing the main.cfg settings
requestthe map representing the HTTP request
pidthe process identifier linked to a service
servthe serv structure created from the zcfg file
servicethe service name
statusthe status returned by the service
inputsthe inputs provided
outputsthe outputs generated by the service

Check if the ZOO Service GetStatus is available in the local directory. If yes, then it uses a reference to an URL which the client can access to get information on the status of a running Service (using the percentCompleted attribute). Else fallback to the initial method using the xml file to write in ...

Display the process output only when requested !

In case there was no definition found in the ZCFG file but present in the service code

◆ printRawdataOutput()

void printRawdataOutput ( maps **  ppmsConf,
maps outputs 
)

Print one outputs as raw.

Parameters
ppmsConfthe main configuration maps
outputsthe output to be print as raw

◆ printRawdataOutputs()

void printRawdataOutputs ( maps **  ppmsConf,
service s,
maps outputs 
)

Print all outputs as raw.

Parameters
pmsConfthe main configuration maps
outputsthe output to be print as raw

◆ printSessionHeaders()

void printSessionHeaders ( maps **  ppmsConf)

Print the Set-Cookie header if necessary (conf["lenv"]["cookie"]) and save the session file.

The session file (sess_<SESSID>_.cfg where <SESSID> is the cookie value) is stored in the conf["main"]["tmpPath"] directory.

Parameters
ppmsConfthe main configuration map

◆ printStatusInfo()

void printStatusInfo ( maps conf,
map statusInfo,
char *  req 
)

Print a StatusInfo XML document.

a statusInfo map should contain the following keys:

  • JobID corresponding to usid key from the lenv section
  • Status the current state (Succeeded,Failed,Accepted,Running)
  • PercentCompleted (optional) the percent completed
  • Message (optional) any messages the service may wish to share
Parameters
confthe maps containing the settings of the main.cfg file
statusInfothe map containing the statusInfo definition
reqthe WPS requests (GetResult, GetStatus or Dismiss)

◆ printWPSHeader()

xmlNodePtr printWPSHeader ( xmlDocPtr  doc,
maps pmsConf,
const char *  req,
const char *  rname,
const char *  version,
int  reqId 
)

Generate a WPS header.

Parameters
docthe document to add the header
mthe conf maps containing the main.cfg settings
reqthe request type (GetCapabilities,DescribeProcess,Execute)
rnamethe root node name
Returns
the generated wps:rname xmlNodePtr (can be wps: Capabilities, wps:ProcessDescriptions,wps:ExecuteResponse)

◆ produceFileUrl()

char* produceFileUrl ( service psService,
maps pmsConf,
maps pmsOutputs,
const char *  pccFormat,
int  itn 
)

Produce a copy file and the corresponding url in case it is required Please, free the returned ressource while used.

Parameters
pmConfmaps* pointing to the main configuration file

◆ produceStatusString()

const char* produceStatusString ( maps pmConf,
map pmCode 
)

Produce the status string used in HTTP headers.

Parameters
pmConfthe maps containing the settings of the main.cfg file
pmCodethe map containing the error code (or a map array of the same keys)

◆ soapEnvelope()

xmlNodePtr soapEnvelope ( maps conf,
xmlNodePtr  n 
)

Generate a SOAP Envelope node when required (if the isSoap key of the [main] section is set to true).

Parameters
confthe conf maps containing the main.cfg settings
nthe node used as children of the generated soap:Envelope
Returns
the generated soap:Envelope (if isSoap=true) or the input node n (when isSoap=false)

◆ zooXmlAddDoc()

int zooXmlAddDoc ( xmlNodePtr  ,
const char *  ,
const char *   
)

◆ zooXmlAddNs()

int zooXmlAddNs ( xmlNodePtr  nr,
const char *  url,
const char *  name 
)

Add an XML namespace to the usedNS if it was not already used.

Parameters
nrthe xmlNodePtr to attach the XML namspace (can be NULL)
urlthe url of the XML namespace to add
namethe name of the XML namespace to add
Returns
the index of the XML namespace added.

◆ zooXmlCleanupDocs()

void zooXmlCleanupDocs ( )

Free allocated memort to store XML documents.

◆ zooXmlCleanupNs()

void zooXmlCleanupNs ( )

Free allocated memory to store used XML namespace.

◆ zooXmlSearchForNs()

int zooXmlSearchForNs ( const char *  name)

Search for an existing XML namespace in usedNS.

Parameters
namethe name of the XML namespace to search
Returns
the index of the XML namespace found or -1 if not found.

Variable Documentation

◆ aapccStatusCodes

const char* const aapccStatusCodes[][10]
static

Correspondance between HTTP status code and exception code.

◆ capabilities

const char* capabilities[2][7]
static
Initial value:
={
{
"Process",
"processVersion","1",
"storeSupported","true",
"statusSupported","true"
},
{
"ProcessSummary",
"processVersion","1.0.0",
"jobControlOptions","sync-execute async-execute dismiss",
"outputTransmission","value reference"
}
}

Name and corresponding attributes depending on the WPS version.

◆ iDocs

xmlDocPtr iDocs[ZOO_DOC_MAX]
static

Array of xmlDocPtr storing XML docs.

◆ nbDocs

int nbDocs =0
static

Number of XML docs.

◆ nbNs

int nbNs =0
static

Number of XML namespaces.

◆ nbReqIdentifier

int nbReqIdentifier =2
static

Definitions requests requiring identifier (depending on the WPS version)

◆ nbReqJob

int nbReqJob =3
static

Definitions requests requiring jobid (only for WPS version 2.0.0)

◆ nbSupportedRequests

int nbSupportedRequests =7
static

Definitions of support requests (depending on the WPS version)

◆ nsName

char* nsName[ZOO_NS_MAX]
static

Array storing names of the used XML namespace.

◆ requests

const char* requests[2][7]
static
Initial value:
={
{"GetCapabilities","DescribeProcess","Execute",NULL},
{"GetCapabilities","DescribeProcess","Execute","GetStatus","GetResult","Dismiss",NULL},
}

Definitions of requests depending on the WPS version.

◆ root_nodes

const char* root_nodes[2][4]
static
Initial value:
={
{"ProcessOfferings","ProcessDescriptions","ExecuteResponse",NULL},
{"Contents","ProcessOfferings","Result",NULL}
}

Definitions of root node for response depending on the request and the WPS version.

◆ schemas

const char* schemas[2][8]
static
Initial value:
={
{"1.0.0","http://www.opengis.net/ows/1.1","http://www.opengis.net/wps/1.0.0","http://schemas.opengis.net/wps/1.0.0","%s %s/wps%s_response.xsd","http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd","1.1.0"},
{"2.0.0","http://www.opengis.net/ows/2.0","http://www.opengis.net/wps/2.0","http://schemas.opengis.net/wps/2.0","http://www.opengis.net/wps/2.0 http://schemas.opengis.net/wps/2.0/wps.xsd","http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd","2.0.2","http://www.opengis.net/spec/wps/2.0/def/process-profile/"},
}

Definitions of schemas depending on the WPS version.

◆ SERVICE_URL

char* SERVICE_URL
static

Global char* to store the serverAddress value of the [main] section.

◆ usedNs

xmlNsPtr usedNs[ZOO_NS_MAX]
static

Array of xmlNsPtr storing all used XML namespace.

◆ wpsStatus

char wpsStatus[3][11]
static
Initial value:
={
"Succeeded",
"Failed",
"Running"
}

Definitions of acceptable final status.