libxml-raku / LibXML-raku

Raku bindings to the libxml2 native library
Artistic License 2.0
11 stars 4 forks source link
libxml-dom libxml2 raku xpath

Actions Status SparrowCI

[Raku LibXML Project] / [LibXML Module] /

NAME

LibXML - Raku bindings to the libxml2 native library

SYNOPSIS

use LibXML;
use LibXML::Document;
my LibXML::Document $doc .=  parse: :string('<Hello/>');
$doc.root.nodeValue = 'World!';
say $doc.Str;
# <?xml version="1.0" encoding="UTF-8"?>
# <Hello>World!</Hello>
say $doc<Hello>;
# <Hello>World!</Hello>

my Version $library-version = LibXML.version;
my Version $module-version = LibXML.^ver;

DESCRIPTION

This module is an interface to libxml2, providing XML and HTML parsers with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 interface and a XML::XPath-like interface to XPath API of libxml2.

For further information, please check the following documentation:

DOM Objects

The nodes in the Document Object Model (DOM) are represented by the following classes (most of which "inherit" from LibXML::Node):

See also LibXML::DOM, which summarizes DOM classes and methods.

Container/Mapping classes

Parsing

SAX Parser

XPath and Searching

Validation

Other

PREREQUISITES

This module may requires the libxml2 library to be installed. Please follow the instructions below based on your platform:

Debian/Ubuntu Linux

sudo apt-get install libxml2-dev

Additional packages (such as build-essential) may be required to enable make, C compilation and linking.

Mac OS X

brew update
brew install libxml2

The Xcode package also needs to be installed to enable compilation.

Windows

This module uses prebuilt DLLs on Windows. There are currently some configuration (LibXML::Config) restrictions:

ACKNOWLEDGEMENTS

This Raku module:

With thanks to: Christian Glahn, Ilya Martynov, Matt Sergeant, Petr Pajas, Shlomi Fish, Toby Inkster, Tobias Leich, Xliff, and others.

COPYRIGHT

2001-2007, AxKit.com Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0 http://www.perlfoundation.org/artistic_license_2_0.