Package: xmlrectr 0.0.0.9000

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.0.0.9000.tar.gz
xmlrectr_0.0.0.9000.zip(r-4.7-x86_64)xmlrectr_0.0.0.9000.zip(r-4.7-arm64)xmlrectr_0.0.0.9000.zip(r-4.6-x86_64)xmlrectr_0.0.0.9000.zip(r-4.6-arm64)xmlrectr_0.0.0.9000.zip(r-4.5-x86_64)
xmlrectr_0.0.0.9000.tgz(r-4.6-x86_64)xmlrectr_0.0.0.9000.tgz(r-4.6-arm64)xmlrectr_0.0.0.9000.tgz(r-4.5-x86_64)xmlrectr_0.0.0.9000.tgz(r-4.5-arm64)
xmlrectr_0.0.0.9000.tar.gz(r-4.7-arm64)xmlrectr_0.0.0.9000.tar.gz(r-4.7-x86_64)xmlrectr_0.0.0.9000.tar.gz(r-4.6-arm64)xmlrectr_0.0.0.9000.tar.gz(r-4.6-x86_64)
xmlrectr_0.0.0.9000.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://larry77.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

4.18 score 32 exports 12 dependencies

Last updated from:5ebdffd340. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK228
linux-devel-x86_64OK207
source / vignettesOK220
linux-release-arm64OK155
linux-release-x86_64OK183
macos-release-arm64OK144
macos-release-x86_64OK235
macos-oldrel-arm64OK135
macos-oldrel-x86_64OK293
windows-devel-arm64OK225
windows-devel-x86_64OK181
windows-release-arm64OK307
windows-release-x86_64OK161
windows-oldrel-x86_64OK130
wasm-releaseOK128

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-08
Started: 2026-09-08

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-08
Started: 2026-09-08

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-08
Started: 2026-09-08

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