---
name: "Xacobeo::XS"
section: "3pm"
platform: "linux"
package: "xacobeo"
version: "0.15-3+b2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Xacobeo::XS"
---

# Xacobeo::XS(3pm)

Functions rewritten in XS.

## NAME

Xacobeo::XS - Functions rewritten in XS.

## SYNOPSIS

```
        use Xacobeo::XS;

        Xacobeo::XS->load_text_buffer($textview->get_buffer, $node, $namespaces);
        Xacobeo::XS->load_tree_store($treeview->get_store, $node, $namespaces);
```

## DESCRIPTION

This package provides some functions that are implemented through XS. These functions are much faster than their Perl counterpart.

## CLASS METHODS

The following class methods are available:

### load\_text\_buffer

Populates a Gtk2::TextBuffer with the contents of an XML::LibXML::Node. The elements and attributes are displayed with the prefix corresponding to their respective namespaces. The XML document is also displayed with proper syntax highlighting.

Parameters:

- •

  `$buffer`

  The text buffer to fill. Must be an instance of Gtk2::TextBuffer.

- •

  `$node`

  The node to display in the the text view. Must be an instance of XML::LibXML::Node.

- •

  `$namespaces`

  The namespaces declared in the document. Must be an hash ref where the keys are the URIs and the values the prefixes of the namespaces.

### load\_tree\_store

Populates a Gtk2::TreeStore with the contents of an XML::LibXML::Node. The tree will display only the nodes of type element. Furthermore, the elements are displayed with the prefix corresponding to their respective namespaces.

Parameters:

- •

  `$store`

  The text store to fill. Must be an instance of Gtk2::TreeStore.

- •

  `$node`

  The node to display in the the tree view. Must be an instance of XML::LibXML::Node.

- •

  `$namespaces`

  The namespaces declared in the document. Must be an hash ref where the keys are the URIs and the values the prefixes of the namespaces.

### get\_node\_mark

Returns a unique identifier for the given node.

Parameters:

- •

  `$node`

  The node. Must be an instance of XML::LibXML::Node.

### get\_node\_path

Returns a unique XPath path for the given XML::LibXML::Node. The path will use node names using the right prefixes.

Parameters:

- •

  `$node`

  The node for which the path has to be computed. Must be an instance of XML::LibXML::Node.

- •

  `$namespaces`

  The namespaces declared in the document. Must be an hash ref where the keys are the URIs and the values the prefixes of the namespaces.

## AUTHORS

Emmanuel Rodriguez \<potyl@cpan.org\>.

## COPYRIGHT AND LICENSE

Copyright (C) 2008,2009 by Emmanuel Rodriguez.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
