# Admin Guide

## Overview

This is a module implementing functions and pseudo-variables for XML operations.

## Dependencies

### Kamailio Modules

The following modules must be loaded before this module:

- none.

### 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.

## Parameters

### `buf_size` (integer)

Maximum size of the XML buffer.

Default value is 4096.

#### Set `buf_size` parameter

    ...
    modparam("xmlops", "buf_size", 8192)
    ...

### `xml_ns` (str)

Register xml namespace prefix. Parameter value must have the format: 'prefix=uri'.

#### Set `xml_ns` parameter

    ...
    modparam("xmlops", "xml_ns", "rpid=urn:ietf:params:xml:ns:pidf:rpid")
    ...

## Pseudo-Variables

### `$xml(name=>spec)`

Pseudo-variable for XML document operations using xpath syntax. For more see the Pseudo-Variables Cookbook.

#### `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";
    ...