Home

libxml2

libxml2 is a software library written in C that provides parsing, creation, and manipulation of XML documents. It exposes a DOM-like in-memory tree as well as streaming interfaces (SAX) and a robust XPath engine for querying. The library is widely used by applications and other libraries as a core XML processor.

Core capabilities include parsing of XML 1.0 and XML 1.1 documents, namespace processing, validation against DTDs,

Portability and performance are emphasized. libxml2 runs on a broad range of operating systems and compilers,

Licensing and history: libxml2 is released under a permissive MIT/X Consortium-style license. It was developed by

and
extended
validation
options
via
Relax
NG
and
XML
Schema
in
optional
components.
It
supports
XInclude,
XML
Catalogs,
and
incremental
parsing
for
large
documents.
The
API
covers
DOM-style
access
through
xmlDocPtr
and
xmlNodePtr
as
well
as
event-driven
parsing
and
push
parsing.
and
provides
a
clean
C
API
suitable
for
embedding
in
other
software.
Bindings
exist
for
many
languages,
allowing
use
from
Python,
PHP,
Perl,
Java,
and
others.
Daniel
Veillard
in
the
late
1990s
and
has
been
maintained
as
a
core
project
in
the
XML
ecosystem,
often
used
in
conjunction
with
related
libraries
such
as
libxslt
for
XSLT
processing.