Package: xmlrectr 0.1.0

Lorenzo Isella

xmlrectr: Rectangle Arbitrary 'XML' into Analysis-Friendly Tables

Converts arbitrary 'XML' into canonical node tables and analysis-friendly rectangular outputs without requiring a vocabulary-specific parser. Supports conservative structure proposals, explicit reusable profiles, advisory 'XSD' inspection, bounded streaming, 'CSV' and 'Parquet' output, an analyst-oriented single-table projection, and record-level parallel execution with automatic scheduling. The native implementation uses 'libxml2' for structural acceleration while the 'R' implementation remains the semantic reference.

Authors:Lorenzo Isella [aut, cre]

xmlrectr_0.1.0.tar.gz
xmlrectr_0.1.0.zip(r-4.7-x86_64)xmlrectr_0.1.0.zip(r-4.7-arm64)xmlrectr_0.1.0.zip(r-4.6-x86_64)xmlrectr_0.1.0.zip(r-4.6-arm64)
xmlrectr_0.1.0.tar.gz(r-4.7-arm64)xmlrectr_0.1.0.tar.gz(r-4.7-x86_64)xmlrectr_0.1.0.tar.gz(r-4.6-arm64)xmlrectr_0.1.0.tar.gz(r-4.6-x86_64)
xmlrectr_0.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
xmlrectr/json (API)

# Install 'xmlrectr' in R:
install.packages('xmlrectr', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/larry77/xmlrectr/issues

Uses libs:
  • libxml2– GNOME XML library

On CRAN:

Conda:

libxml2

3.18 score 32 exports 12 dependencies

Last updated from:846a2f86c9. Checks:10 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-devel-arm64OK163
linux-devel-x86_64OK188
source / vignettesOK253
linux-release-arm64OK173
linux-release-x86_64OK196
windows-devel-arm64OK245
windows-devel-x86_64OK174
windows-release-arm64OK239
windows-release-x86_64OK197
wasm-releaseOK129

Exports:as_xml_profilecompile_xml_profileinspect_xmlinspect_xsdmake_rectanglepropose_xml_profileread_xml_profilerectangle_specrectangle_xmlrectangle_xml_analystrectangle_xml_analyst_csvrectangle_xml_analyst_parquetrectangle_xml_csvrectangle_xml_parallelrectangle_xml_parquetreview_rectanglereview_xml_proposalvalidate_xml_nodeswrite_xml_profilexml_analyst_expand_contextxml_analyst_tablexml_node_childrenxml_nodes_schemaxml_profilexml_rectanglexml_rectangle_parallelxml_stream_nodesxml_stream_rectanglexml_stream_rectangle_parallelxml_text_to_nodes_memoryxml_to_nodes_memoryxml_to_nodes_stream

Dependencies:cligluelifecyclemagrittrpillarpkgconfigrlangtibbleutf8vctrsXMLxml2

Architecture and validation
Semantic reference first | Canonical contract | Parallel execution | Validation before package conversion | Package conversion rule

Last update: 2026-09-28
Started: 2026-09-28

Getting started with unknown XML
The core idea | Inspect a sample | Define the profile | Rectangle the XML | Parallel execution is an option, not another workflow | XSD-assisted review | Exploratory analyst table

Last update: 2026-09-28
Started: 2026-09-28

Large XML, streaming and parallel execution
Compile once | In-memory execution | Streaming execution | CSV output | Parquet output | Automatic workers and scheduling | The two parallel strategies | parallel_chunks | shared_chunk | Why streaming auto does not pre-count the XML | Correctness invariants

Last update: 2026-09-28
Started: 2026-09-28

Readme and manuals

Help Manual

Help pageTopics
xmlrectr: generic XML rectanglingxmlrectr-package xmlrectr
Coerce a portable object to an XML profileas_xml_profile
Compile a profile into an executable rectangle specificationcompile_xml_profile
Inspect XML structure before defining a rectangleinspect_xml
Inspect advisory XSD evidenceinspect_xsd
Create a lower-level rectangle specificationmake_rectangle
Propose candidate rows, identifiers and fieldspropose_xml_profile
Read an XML profile from JSON or YAMLread_xml_profile
Create an explicit rectangle specificationrectangle_spec
Read and rectangle an XML filerectangle_xml
Create an analyst-oriented table directly from XMLrectangle_xml_analyst
Write the analyst-oriented XML table to CSVrectangle_xml_analyst_csv
Write the analyst-oriented XML table to Parquetrectangle_xml_analyst_parquet
Rectangle XML to a staged CSV filerectangle_xml_csv
Read and rectangle XML with explicit parallel executionrectangle_xml_parallel
Rectangle XML to a staged Parquet datasetrectangle_xml_parquet
Review a compiled rectangle specificationreview_rectangle
Review one part of an XML profile proposalreview_xml_proposal
Validate the canonical XML node-table contractvalidate_xml_nodes
Write an XML profile to JSON or YAMLwrite_xml_profile
Expand analyst-table entity contextxml_analyst_expand_context
Project canonical XML into one analyst-oriented tablexml_analyst_table
Return direct canonical children of XML nodesxml_node_children
Return the canonical XML node-table schemaxml_nodes_schema
Create a human-facing reusable XML profilexml_profile
Rectangle a canonical XML node tablexml_rectangle
Rectangle canonical nodes with explicit parallel executionxml_rectangle_parallel
Stream canonical XML node batchesxml_stream_nodes
Stream complete XML records through a rectangle callbackxml_stream_rectangle
Stream XML records with explicit parallel executionxml_stream_rectangle_parallel
Read XML text into the canonical node tablexml_text_to_nodes_memory
Read an XML file into the canonical node tablexml_to_nodes_memory
Read XML with the sequential streaming canonical enginexml_to_nodes_stream