Changes for version 2.0212 - 2026-05-19
- BUG FIXES
- Ship POD files in the CPAN tarball. The per-class .pod files generated from docs/libxml.dbk were gitignored, and nothing in the dist chain was producing them, so recent tarballs shipped without POD. The .pod files are now tracked in git (bison-style), so `make dist` includes them via MANIFEST and the documentation reaches CPAN consumers again. Also eliminates the bootstrap problem of needing XML::LibXML installed to build XML::LibXML's docs, and silences the "kit incomplete" warning from `perl Makefile.PL` on a fresh checkout.
- MAINTENANCE
- Add a `pod-drift` CI job that runs `make pod_docs` and fails on any diff, catching forgotten POD regenerations after edits to docs/libxml.dbk.
- Move xmllibxmldocs.pl from example/ to scripts/. It is a maintenance tool that emits source files (POD), not a usage example of XML::LibXML; scripts/ already houses similar build/dev tooling.
- Skip t/release-kwalitee.t outside a dist tarball. The Test::Kwalitee `has_meta_yml` check was failing under `make test` in author mode because META.yml is only generated by `make dist`. The test now skips cleanly when META.yml is absent and still runs the full 18-check suite under `make disttest` against the unpacked tarball.
Documentation
XML::LibXML Attribute Class
XML::LibXML Class for CDATA Sections
XML::LibXML Comment Class
XML::LibXML DOM Implementation
XML::LibXML DOM Document Class
XML::LibXML's DOM L2 Document Fragment Implementation
XML::LibXML DTD Handling
XML::LibXML Class for Element Nodes
XML::LibXML Class for Input Callbacks
A map for named nodes
XML::LibXML Namespace Implementation
Abstract Base Class of XML::LibXML Nodes
XML::LibXML Processing Instructions
Parsing XML Data with XML::LibXML
XML::LibXML::Pattern - interface to libxml2 XPath patterns
XML::LibXML::RegExp - interface to libxml2 regular expressions
RelaxNG Schema Validation
XML Schema Validation
XML::LibXML Class for Text Nodes
XML::LibXML::XPathExpression - interface to libxml2 pre-compiled XPath expressions
semi-automatically and partially convert Test.pm scripts to Test::More.
Modules
Perl Binding for libxml2
tie an XML::LibXML::Element to a hash to access its attributes
Boolean true/false values
Constants and Character Encoding Routines
makes functions from LibXML.xs available
Structured Errors
Structured Errors
Simple string values.
a list of XML document nodes
Simple numeric values.
XML::LibXML::Reader - interface to libxml2 pull parser
XML::LibXML direct SAX parser
Building DOM trees from SAX events.
Generate SAX events from a LibXML tree
XPath Evaluation
Provides
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in lib/XML/LibXML/SAX/Generator.pm
in lib/XML/LibXML/SAX/Parser.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
in LibXML.pm
Examples
- example/JBR-ALLENtrees.htm
- example/article.xml
- example/article_bad.xml
- example/article_external_bad.xml
- example/article_internal.xml
- example/article_internal_bad.xml
- example/bad.dtd
- example/bad.xml
- example/catalog.xml
- example/cb_example.pl
- example/complex/complex.dtd
- example/complex/complex.xml
- example/complex/complex2.xml
- example/complex/dtd/f.dtd
- example/complex/dtd/g.dtd
- example/create-sample-html-document.pl
- example/dromeds.xml
- example/dtd.xml
- example/enc2_latin2.html
- example/enc_latin2.html
- example/ext_ent.dtd
- example/hello-world.pl
- example/ns.xml
- example/test.dtd
- example/test.html
- example/test.xhtml
- example/test.xml
- example/test2.xml
- example/test3.xml
- example/test4.xml
- example/thedieline.rss
- example/utf-16-1.html
- example/utf-16-2.html
- example/utf-16-2.xml
- example/xmlns/badguy.xml
- example/xmlns/goodguy.xml
- example/xpath.pl
- example/yahoo-finance-html-with-errors.html