Changes for version 0.07 - 2026-04-21

  • XML namespace handling when creating elements with namespace prefixes
  • xmlns attribute present only when needed
  • cleaner xc() creation with XML::LibXML::Document as a parameter
  • children() now returns only child elements to match chaining semantics
  • auto_indent() formatting no longer mutates the original DOM
  • reference inputs are now parsed via a private safe default XML::LibXML parser
  • parent() now stops at the document root (returns same element when called on root)
  • add map_selection() and grep_selection() methods for functional element filtering and transformation
  • add data() method for storing arbitrary per-element metadata
  • switch from Moose to Class::XSAccessor (test run went from 1,490s down to 0,778s)

Modules

a chained way of manipulating and inspecting XML documents
helper class for XML::Chain representing a single element
selector for traversing XML::Chain