Bindings to libxml2
Now compatible with libxml2 2.12.0 and later (@KNnut).
Fixed format string issues detected in R-devel.
Remove unused dependencies on glue, withr and lifecycle (@mgirlich).
print()
is faster for very long xml_nodeset
inputs (#366, @michaelchirico).
xml_attr()
, xml_attrs()
, xml_double()
, xml_integer()
, xml_length()
,
xml_name()
, xml_path()
, xml_text()
, and xml_type()
no longer use
S3 dispatch but instead dispatch in C, leading to considerable performance
improvements in many cases (@mgirlich, #400).
xml_find_int()
analogous to xml_find_num()
for returning integers
matched by an XPath (#365, @michaelchirico).
xml_serialize()
now includes the document type so that xml_unserialize()
works also for HTML documents (#407, @HenrikBengtsson).
Small speedup for xml_find_all()
(@mgirlich, #393).
Fixes for R CMD check problems.
Fixes for R CMD check problems.
Windows: update to libxml2 2.10.3
Hadley Wickham is now (again) the maintainer.
xml2 has been re-licensed as MIT (#317).
xml_find_all.xml_node()
fails more informatively the xpath
parameter is the wrong type (@michaelchirico)
xml_find_all.xml_nodeset()
gains a flatten
argument to control whether to return a single nodeset or a list of nodesets (#311, @jakejh)
write_xml()
and write_html()
now return NULL invisibly, as they did prior to version 1.3.0 (#307)
XPtr
gets explicit copy constructor and assignment operator definitions, which were two missing components of the Rule of three (@michaelchirico)
Windows: update to libxml2 2.9.10 and libxslt 1.1.34 and add ucrt libs
read_html()
and read_xml()
now error if passed strings of length greater than one (#121)
read_xml.raw()
had an inadvertent regression in 1.3.0 and is now again fixed (#300)
Compilation fix on macOS 10.15.4 (@kevinushey, #296)
read_html()
now again works with HTML files with non-ASCII encodings (#293).Fix potential dangling pointer with internal asXmlChar()
function (@michaelquinn32, #287).
as_xml_document()
now handles cases with text nodes trailing normal nodes (#274).
xml_add_child()
can now create nodes with a par
attribute. These previously errored due to partial name matching of the parent
function in the internal create_node()
function. (@jennybc, #285)
libxml2_version()
now returns a semantic version rather than alphanumeric version, so "2.9.10" > "2.9.9" (#277)