Geometry handling functions: XML document. More...
Go to the source code of this file.
Macros | |
#define | GAIA_XML_START 0x00 |
XmlBLOB internal marker: START. | |
#define | GAIA_XML_END 0xDD |
XmlBLOB internal marker: END. | |
#define | GAIA_XML_HEADER 0xAC |
XmlBLOB internal marker: HEADER. | |
#define | GAIA_XML_LEGACY_HEADER 0xAB |
XmlBLOB internal marker: LEGACY HEADER. | |
#define | GAIA_XML_SCHEMA 0xBA |
XmlBLOB internal marker: SCHEMA. | |
#define | GAIA_XML_FILEID 0xCA |
XmlBLOB internal marker: FILEID. | |
#define | GAIA_XML_PARENTID 0xDA |
XmlBLOB internal marker: PARENTID. | |
#define | GAIA_XML_NAME 0xDE |
XmlBLOB internal marker: TITLE. | |
#define | GAIA_XML_TITLE 0xDB |
XmlBLOB internal marker: TITLE. | |
#define | GAIA_XML_ABSTRACT 0xDC |
XmlBLOB internal marker: ABSTRACT. | |
#define | GAIA_XML_GEOMETRY 0xDD |
XmlBLOB internal marker: GEOMETRY. | |
#define | GAIA_XML_CRC32 0xBC |
XmlBLOB internal marker: CRC32. | |
#define | GAIA_XML_PAYLOAD 0xCB |
XmlBLOB internal marker: PAYLOAD. | |
#define | GAIA_XML_LITTLE_ENDIAN 0x01 |
XmlBLOB FLAG - LITTLE_ENDIAN bitmask. | |
#define | GAIA_XML_COMPRESSED 0x02 |
XmlBLOB FLAG - COMPRESSED bitmask. | |
#define | GAIA_XML_VALIDATED 0x04 |
XmlBLOB FLAG - VALIDATED bitmask. | |
#define | GAIA_XML_ISO_METADATA 0x80 |
XmlBLOB FLAG - ISO METADATA bitmask. | |
#define | GAIA_XML_SLD_SE_RASTER_STYLE 0x10 |
XmlBLOB FLAG - SLDSE VECTOR STYLE bitmask. | |
#define | GAIA_XML_SLD_SE_VECTOR_STYLE 0x40 |
XmlBLOB FLAG - SLDSE VECTOR STYLE bitmask. | |
#define | GAIA_XML_SLD_STYLE 0x48 |
XmlBLOB FLAG - SLD STYLE bitmask. | |
#define | GAIA_XML_SVG 0x20 |
XmlBLOB FLAG - SVG bitmask. | |
Functions | |
GAIAGEO_DECLARE char * | gaia_libxml2_version (void) |
return the LIBXML2 version string More... | |
GAIAGEO_DECLARE void | gaiaXmlToBlob (const void *p_cache, const unsigned char *xml, int xml_len, int compressed, const char *schemaURI, unsigned char **result, int *size, char **parsing_errors, char **schema_validation_errors) |
Creates an XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlTextFromBlob (const unsigned char *blob, int size, int indent) |
Extract an XMLDocument from within an XmlBLOB buffer. More... | |
GAIAGEO_DECLARE void | gaiaXmlFromBlob (const unsigned char *blob, int size, int indent, unsigned char **result, int *res_size) |
Extract an XMLDocument from within an XmlBLOB buffer. More... | |
GAIAGEO_DECLARE int | gaiaIsValidXmlBlob (const unsigned char *blob, int size) |
Checks if a BLOB actually is a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE int | gaiaIsCompressedXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer is compressed or not. More... | |
GAIAGEO_DECLARE int | gaiaIsIsoMetadataXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer does contain an ISO Metadata or not. More... | |
GAIAGEO_DECLARE int | gaiaIsSldSeVectorStyleXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not. More... | |
GAIAGEO_DECLARE int | gaiaIsSldSeRasterStyleXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not. More... | |
GAIAGEO_DECLARE int | gaiaIsSldStyleXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer does contain an SLD Style or not. More... | |
GAIAGEO_DECLARE int | gaiaIsSvgXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer does contain an SVG Symbol or not. More... | |
GAIAGEO_DECLARE void | gaiaXmlBlobCompression (const unsigned char *blob, int in_size, int compressed, unsigned char **result, int *out_size) |
Return another XmlBLOB buffer compressed / uncompressed. More... | |
GAIAGEO_DECLARE int | gaiaIsSchemaValidatedXmlBlob (const unsigned char *blob, int size) |
Checks if a valid XmlBLOB buffer has succesfully passed a formal Schema validation or not. More... | |
GAIAGEO_DECLARE int | gaiaXmlBlobGetDocumentSize (const unsigned char *blob, int size) |
Return the XMLDocument size (in bytes) from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetSchemaURI (const unsigned char *blob, int size) |
Return the SchemaURI from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlGetInternalSchemaURI (const void *p_cache, const unsigned char *xml, int xml_len) |
Return the Internal SchemaURI from a valid XmlDocument. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetFileId (const unsigned char *blob, int size) |
Return the FileIdentifier from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetParentId (const unsigned char *blob, int size) |
Return the ParentIdentifier from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE int | gaiaXmlBlobSetFileId (const void *p_cache, const unsigned char *blob, int size, const char *identifier, unsigned char **new_blob, int *new_size) |
Return a new XmlBLOB (ISO Metadata) by replacing the FileId value. More... | |
GAIAGEO_DECLARE int | gaiaXmlBlobSetParentId (const void *p_cache, const unsigned char *blob, int size, const char *identifier, unsigned char **new_blob, int *new_size) |
Return a new XmlBLOB (ISO Metadata) by replacing the ParentId value. More... | |
GAIAGEO_DECLARE int | gaiaXmlBlobAddFileId (const void *p_cache, const unsigned char *blob, int size, const char *identifier, const char *ns_id, const char *uri_id, const char *ns_charstr, const char *uri_charstr, unsigned char **new_blob, int *new_size) |
Return a new XmlBLOB (ISO Metadata) by inserting a FileId value. More... | |
GAIAGEO_DECLARE int | gaiaXmlBlobAddParentId (const void *p_cache, const unsigned char *blob, int size, const char *identifier, const char *ns_id, const char *uri_id, const char *ns_charstr, const char *uri_charstr, unsigned char **new_blob, int *new_size) |
Return a new XmlBLOB (ISO Metadata) by inserting a ParentId value. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetName (const unsigned char *blob, int size) |
Return the Name from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetTitle (const unsigned char *blob, int size) |
Return the Title from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetAbstract (const unsigned char *blob, int size) |
Return the Abstract from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE void | gaiaXmlBlobGetGeometry (const unsigned char *blob, int size, unsigned char **blob_geom, int *blob_size) |
Return the Geometry Buffer from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetEncoding (const unsigned char *blob, int size) |
Return the Charset Encoding from a valid XmlBLOB buffer. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetLastParseError (const void *p_cache) |
Return the most recent XML Parse error/warning (if any) More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetLastValidateError (const void *p_cache) |
Return the most recent XML Validate error/warning (if any) More... | |
GAIAGEO_DECLARE int | gaiaIsValidXPathExpression (const void *p_cache, const char *xpath_expr) |
Checks if a Text string could be a valid XPathExpression. More... | |
GAIAGEO_DECLARE char * | gaiaXmlBlobGetLastXPathError (const void *p_cache) |
Return the most recent XPath error/warning (if any) More... | |
GAIAGEO_DECLARE int | gaiaXmlLoad (const void *p_cache, const char *path_or_url, unsigned char **result, int *size, char **parsing_errors) |
Load an external XML Document. More... | |
GAIAGEO_DECLARE int | gaiaXmlStore (const unsigned char *blob, int size, const char *path, int indent) |
Stores an external XML Document. More... | |
Geometry handling functions: XML document.
GAIAGEO_DECLARE char* gaia_libxml2_version | ( | void | ) |
return the LIBXML2 version string
GAIAGEO_DECLARE int gaiaIsCompressedXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer is compressed or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsIsoMetadataXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer does contain an ISO Metadata or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsSchemaValidatedXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer has succesfully passed a formal Schema validation or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsSldSeRasterStyleXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsSldSeVectorStyleXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer does contain an SLD/SE Style or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsSldStyleXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer does contain an SLD Style or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsSvgXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a valid XmlBLOB buffer does contain an SVG Symbol or not.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsValidXmlBlob | ( | const unsigned char * | blob, |
int | size | ||
) |
Checks if a BLOB actually is a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaIsValidXPathExpression | ( | const void * | p_cache, |
const char * | xpath_expr | ||
) |
Checks if a Text string could be a valid XPathExpression.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
xpath_expr | pointer to the XPathExpression to be checked. |
GAIAGEO_DECLARE int gaiaXmlBlobAddFileId | ( | const void * | p_cache, |
const unsigned char * | blob, | ||
int | size, | ||
const char * | identifier, | ||
const char * | ns_id, | ||
const char * | uri_id, | ||
const char * | ns_charstr, | ||
const char * | uri_charstr, | ||
unsigned char ** | new_blob, | ||
int * | new_size | ||
) |
Return a new XmlBLOB (ISO Metadata) by inserting a FileId value.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
blob | pointer to the input XmlBLOB buffer. |
size | input XmlBLOB's size (in bytes). |
identifier | the new FileId value to be inserted. |
ns_id | prefix corresponding to FileIdentifier NameSpace (may be NULL) |
uri_id | URI corresponding to the FileIdentifier NameSpace (may be NULL) |
ns_charstr | prefix corresponding to CharacterString NameSpace (may be NULL) |
uri_charstr | URI corresponding to CharacterString NameSpace (may be NULL) |
new_blob | on completion will contain a pointer to the output XmlBLOB buffer. |
new_size | on completion will containg the output XmlBlob's size (in bytes). |
GAIAGEO_DECLARE int gaiaXmlBlobAddParentId | ( | const void * | p_cache, |
const unsigned char * | blob, | ||
int | size, | ||
const char * | identifier, | ||
const char * | ns_id, | ||
const char * | uri_id, | ||
const char * | ns_charstr, | ||
const char * | uri_charstr, | ||
unsigned char ** | new_blob, | ||
int * | new_size | ||
) |
Return a new XmlBLOB (ISO Metadata) by inserting a ParentId value.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
blob | pointer to the inputXmlBLOB buffer. |
size | input XmlBLOB's size (in bytes). |
identifier | the new ParentId value to be inserted. |
ns_id | prefix corresponding to FileIdentifier NameSpace (may be NULL) |
uri_id | URI corresponding to the FileIdentifier NameSpace (may be NULL) |
ns_charstr | prefix corresponding to CharacterString NameSpace (may be NULL) |
uri_charstr | URI corresponding to CharacterString NameSpace (may be NULL) |
new_blob | on completion will contain a pointer to the output XmlBLOB buffer. |
new_size | on completion will containg the output XmlBlob's size (in bytes). |
GAIAGEO_DECLARE void gaiaXmlBlobCompression | ( | const unsigned char * | blob, |
int | in_size, | ||
int | compressed, | ||
unsigned char ** | result, | ||
int * | out_size | ||
) |
Return another XmlBLOB buffer compressed / uncompressed.
blob | pointer to the input XmlBLOB buffer. |
in_size | input XmlBLOB's size (in bytes). |
compressed | if TRUE the returned XmlBLOB will be zip-compressed. |
result | on completion will containt a pointer to the output XmlBLOB: NULL on failure. |
out_size | on completion this variable will contain the output XmlBLOB's size (in bytes) |
GAIAGEO_DECLARE char* gaiaXmlBlobGetAbstract | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the Abstract from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaXmlBlobGetDocumentSize | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the XMLDocument size (in bytes) from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE char* gaiaXmlBlobGetEncoding | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the Charset Encoding from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE char* gaiaXmlBlobGetFileId | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the FileIdentifier from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE void gaiaXmlBlobGetGeometry | ( | const unsigned char * | blob, |
int | size, | ||
unsigned char ** | blob_geom, | ||
int * | blob_size | ||
) |
Return the Geometry Buffer from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
blob_geom | on completion this variable will contain a pointer to the returned Geometry Buffer (NULL if no Geometry was defined within the XmlBLOB) |
blob_size | on completion this variable will contain the size (in bytes) of the returned Geometry Buffer |
GAIAGEO_DECLARE char* gaiaXmlBlobGetLastParseError | ( | const void * | p_cache | ) |
Return the most recent XML Parse error/warning (if any)
ptr | a memory pointer returned by spatialite_alloc_connection() |
GAIAGEO_DECLARE char* gaiaXmlBlobGetLastValidateError | ( | const void * | p_cache | ) |
Return the most recent XML Validate error/warning (if any)
p_cache | a memory pointer returned by spatialite_alloc_connection() |
GAIAGEO_DECLARE char* gaiaXmlBlobGetLastXPathError | ( | const void * | p_cache | ) |
Return the most recent XPath error/warning (if any)
p_cache | a memory pointer returned by spatialite_alloc_connection() |
GAIAGEO_DECLARE char* gaiaXmlBlobGetName | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the Name from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE char* gaiaXmlBlobGetParentId | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the ParentIdentifier from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE char* gaiaXmlBlobGetSchemaURI | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the SchemaURI from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE char* gaiaXmlBlobGetTitle | ( | const unsigned char * | blob, |
int | size | ||
) |
Return the Title from a valid XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
GAIAGEO_DECLARE int gaiaXmlBlobSetFileId | ( | const void * | p_cache, |
const unsigned char * | blob, | ||
int | size, | ||
const char * | identifier, | ||
unsigned char ** | new_blob, | ||
int * | new_size | ||
) |
Return a new XmlBLOB (ISO Metadata) by replacing the FileId value.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
blob | pointer to the input XmlBLOB buffer. |
size | input XmlBLOB's size (in bytes). |
identifier | the new FileId value to be set. |
new_blob | on completion will contain a pointer to the output XmlBLOB buffer. |
new_size | on completion will containg the output XmlBlob's size (in bytes). |
GAIAGEO_DECLARE int gaiaXmlBlobSetParentId | ( | const void * | p_cache, |
const unsigned char * | blob, | ||
int | size, | ||
const char * | identifier, | ||
unsigned char ** | new_blob, | ||
int * | new_size | ||
) |
Return a new XmlBLOB (ISO Metadata) by replacing the ParentId value.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
blob | pointer to the inputXmlBLOB buffer. |
size | input XmlBLOB's size (in bytes). |
identifier | the new ParentId value to be set. |
new_blob | on completion will contain a pointer to the output XmlBLOB buffer. |
new_size | on completion will containg the output XmlBlob's size (in bytes). |
GAIAGEO_DECLARE void gaiaXmlFromBlob | ( | const unsigned char * | blob, |
int | size, | ||
int | indent, | ||
unsigned char ** | result, | ||
int * | res_size | ||
) |
Extract an XMLDocument from within an XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
indent | if a negative value is passed the XMLDocument will be extracted exactly as it was when loaded. Otherwise it will be properly formatted using the required intenting (max. 8); ZERO means that the whole XML Document will consist of a single line. |
result | pointer to the memory buffer containing the XML Document |
res_size | dimension (in bytes) of the XML Document memory buffer (both values will be passed back after succesful completion). |
GAIAGEO_DECLARE char* gaiaXmlGetInternalSchemaURI | ( | const void * | p_cache, |
const unsigned char * | xml, | ||
int | xml_len | ||
) |
Return the Internal SchemaURI from a valid XmlDocument.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
xml | pointer to the XML document |
xml_len | lenght of the XML document (in bytes). |
GAIAGEO_DECLARE int gaiaXmlLoad | ( | const void * | p_cache, |
const char * | path_or_url, | ||
unsigned char ** | result, | ||
int * | size, | ||
char ** | parsing_errors | ||
) |
Load an external XML Document.
path_or_url | pointer to the external XML Document (could be a pathname or an URL). |
result | on completion will containt a pointer to a BLOB: NULL on failure. |
size | on completion this variable will contain the BLOB's size (in bytes). |
parsing_errors | on completion this variable will contain all error/warning messages emitted during the XML Parsing step. Can be set to NULL so to ignore any message. |
GAIAGEO_DECLARE int gaiaXmlStore | ( | const unsigned char * | blob, |
int | size, | ||
const char * | path, | ||
int | indent | ||
) |
Stores an external XML Document.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
path | pathname of the export file |
indent | if a negative value is passed the XMLDocument will be extracted exactly as it was when loaded. Otherwise it will be properly formatted using the required intenting (max. 8); ZERO means that the whole XML Document will consist of a single line. |
GAIAGEO_DECLARE char* gaiaXmlTextFromBlob | ( | const unsigned char * | blob, |
int | size, | ||
int | indent | ||
) |
Extract an XMLDocument from within an XmlBLOB buffer.
blob | pointer to the XmlBLOB buffer. |
size | XmlBLOB's size (in bytes). |
indent | if a negative value is passed the XMLDocument will be extracted exactly as it was when loaded. Otherwise it will be properly formatted using the required intenting (max. 8); ZERO means that the whole XML Document will consist of a single line. |
GAIAGEO_DECLARE void gaiaXmlToBlob | ( | const void * | p_cache, |
const unsigned char * | xml, | ||
int | xml_len, | ||
int | compressed, | ||
const char * | schemaURI, | ||
unsigned char ** | result, | ||
int * | size, | ||
char ** | parsing_errors, | ||
char ** | schema_validation_errors | ||
) |
Creates an XmlBLOB buffer.
p_cache | a memory pointer returned by spatialite_alloc_connection() |
xml | pointer to the XML document (XmlBLOB payload). |
xml_len | lenght of the XML document (in bytes). |
compressed | if TRUE the returned XmlBLOB will be zip-compressed. |
schemaURI | if not NULL the XML document will be assumed to be valid only if it succesfully passes a formal Schema valitadion. |
result | on completion will containt a pointer to XmlBLOB: NULL on failure. |
size | on completion this variable will contain the XmlBLOB's size (in bytes) |
parsing_errors | on completion this variable will contain all error/warning messages emitted during the XML Parsing step. Can be set to NULL so to ignore any message. |
schema_validation_errors | on completion this variable will contain all error/warning messages emitted during the XML Schema Validation step. Can be set to NULL so to ignore any message. |