name mode size
..
doc 040000
Makefile 100644 613B
README 100644 3.01kB
pv_xml.c 100644 13.5kB
pv_xml.h 100644 1.22kB
xmlops_mod.c 100644 2kB
README
XMLOPS Module Daniel-Constantin Mierla asipto.com <miconda@gmail.com> Copyright © 2009 asipto.com __________________________________________________________________ Table of Contents 1. Admin Guide 1. Overview 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 3. Parameters 3.1. buf_size (integer) 3.2. xml_ns (str) 4. Pseudo-Variables 4.1. $xml(name=>spec) List of Examples 1.1. Set buf_size parameter 1.2. Set xml_ns parameter 1.3. xml usage Chapter 1. Admin Guide Table of Contents 1. Overview 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 3. Parameters 3.1. buf_size (integer) 3.2. xml_ns (str) 4. Pseudo-Variables 4.1. $xml(name=>spec) 1. Overview This is a module implementing functions and pseudo-variables for XML operations. 2. Dependencies 2.1. Kamailio Modules 2.2. External Libraries or Applications 2.1. Kamailio Modules The following modules must be loaded before this module: * none. 2.2. External Libraries or Applications The following libraries or applications must be installed before running kamailio with this module loaded: * libxml - for compilation from source, the development headers from this library are needed as well. 3. Parameters 3.1. buf_size (integer) 3.2. xml_ns (str) 3.1. buf_size (integer) Maximum size of the XML buffer. Default value is 4096. Example 1.1. Set buf_size parameter ... modparam("xmlops", "buf_size", 8192) ... 3.2. xml_ns (str) Register xml namespace prefix. Parameter value must have the format: 'prefix=uri'. It can be set many times to cope with multiple namespaces without prefix. This is useful when it is needed to access XML documents that specify xmlns without prefix, which is not XML-standard compliant, but it comes with SIP SIMPLE presence bodies. Example 1.2. Set xml_ns parameter ... modparam("xmlops", "xml_ns", "rpid=urn:ietf:params:xml:ns:pidf:rpid") modparam("xmlops", "xml_ns", "pidf=urn:ietf:params:xml:ns:pidf") ... $xml(x=>doc) = '<?xml version="1.0" encoding="utf-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" entity="sip:test@mydomain.com" > <tuple id="86ae65b7-42de-4399-b635-295caad13aac"> <status><basic>none</basic></status> </tuple> </presence>'; xinfo("status: $xml(x=>xpath:/pidf:presence/pidf:tuple/pidf:status/pidf:basic)\n "); ... 4. Pseudo-Variables 4.1. $xml(name=>spec) 4.1. $xml(name=>spec) Pseudo-variable for XML document operations using xpath syntax. For more see the Pseudo-Variables Cookbook. Example 1.3. xml usage ... $xml(x=>doc) = '<?xml version="1.0" encoding="UTF-8"?><a><b>test</b></a>'; xlog("content of node b: $xml(x=>xpath:/a/b/text())\n"); $xml(x=>xpath:/a/b) = "1234"; ...