| Title: | Rectangle Arbitrary XML into Analysis-Friendly Tables |
|---|---|
| Description: | 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] |
| Maintainer: | Lorenzo Isella <lorenzo.isella@gmail.com> |
| License: | GPL-3 |
| Version: | 0.0.0.9000 |
| Built: | 2026-09-29 16:17:48 UTC |
| Source: | https://github.com/larry77/xmlrectr |
Convert arbitrary XML into canonical node tables and analysis-friendly rectangles with explicit profiles, bounded streaming, optional native acceleration, and automatic record-level parallel execution.
The normal workflow is proposal, review, profile, compilation, and rectangling. For exploratory work, the analyst layer provides a self-contained single-table projection. See the package README and vignettes for complete workflows.
propose_xml_profile(), xml_profile(), rectangle_xml(),
rectangle_xml_analyst()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
as_xml_profile(x)as_xml_profile(x)
x |
An existing |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
compile_xml_profile( profile, sample, whitespace = c("drop_blank", "preserve"))compile_xml_profile( profile, sample, whitespace = c("drop_blank", "preserve"))
profile |
A human-facing profile created by |
sample |
A representative XML sample accepted by |
whitespace |
How blank text nodes are handled while inspecting the sample: |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
inspect_xml( x, whitespace = c("drop_blank", "preserve"))inspect_xml( x, whitespace = c("drop_blank", "preserve"))
x |
An XML file path or an existing canonical node table. |
whitespace |
How blank text nodes are handled when an XML file is read. |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
inspect_xsd(xsd)inspect_xsd(xsd)
xsd |
Path to an XML Schema (XSD) file to inspect as advisory structural evidence. |
This is deliberately an advisory XSD inspection layer, not a complete XSD validator or resolver.
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
make_rectangle( structure, one_row_per = NULL, namespace = NULL, identify_by = NULL, fields = NULL, types = NULL, representation = c("auto", "wide", "long"))make_rectangle( structure, one_row_per = NULL, namespace = NULL, identify_by = NULL, fields = NULL, types = NULL, representation = c("auto", "wide", "long"))
structure |
An inspected XML structure returned by |
one_row_per |
Optional visible element name or path defining one output record. If omitted, an unambiguous proposed record path is used. |
namespace |
Optional namespace URI used to disambiguate the row element. |
identify_by |
Optional visible value name or path used as the record identifier; omit to generate sequential identifiers. |
fields |
Optional character vector of values to retain. Named entries rename output columns. |
types |
Optional named character vector declaring output types for selected fields. |
representation |
Requested table representation: automatic safe choice, wide, or long. |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
propose_xml_profile( sample, rows = NULL, namespace = NULL, xsd = NULL, whitespace = c("drop_blank", "preserve"))propose_xml_profile( sample, rows = NULL, namespace = NULL, xsd = NULL, whitespace = c("drop_blank", "preserve"))
sample |
An XML sample accepted by |
rows |
Optional visible row element name or path to evaluate instead of relying only on automatic row candidates. |
namespace |
Optional namespace URI used to disambiguate row candidates. |
xsd |
Optional XSD file whose directly declared structure is added as advisory evidence. |
whitespace |
How blank text nodes are handled while inspecting the XML sample. |
The returned proposal is review-only and is not an executable profile.
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
read_xml_profile( file, format = c("auto", "json", "yaml"))read_xml_profile( file, format = c("auto", "json", "yaml"))
file |
Path to a serialized XML profile. |
format |
Profile serialization format. |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
rectangle_spec( sample, one_row_per = NULL, namespace = NULL, identify_by = NULL, fields = NULL, types = NULL, representation = c("auto", "wide", "long"), whitespace = c("drop_blank", "preserve"))rectangle_spec( sample, one_row_per = NULL, namespace = NULL, identify_by = NULL, fields = NULL, types = NULL, representation = c("auto", "wide", "long"), whitespace = c("drop_blank", "preserve"))
sample |
An XML sample accepted by |
one_row_per |
Optional visible element name or path defining one output record. |
namespace |
Optional namespace URI used to disambiguate the row element. |
identify_by |
Optional visible value name or path used as the record identifier. |
fields |
Optional character vector of values to retain. Named entries rename output columns. |
types |
Optional named character vector declaring output types for selected fields. |
representation |
Requested table representation: automatic safe choice, wide, or long. |
whitespace |
How blank text nodes are handled when the sample is read. |
xml_profile(), rectangle_xml()
Apply an explicit profile/specification while preserving repeated values and output order. Parallelism is an execution option of the same public workflow.
rectangle_xml( file, spec, whitespace = NULL, parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL, progress = FALSE)rectangle_xml( file, spec, whitespace = NULL, parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL, progress = FALSE)
file |
Path to the XML file to rectangle in memory. |
spec |
A compiled rectangle specification or an |
whitespace |
Optional blank-text policy. When omitted, the policy stored in the specification/profile is used. |
parallel |
Execution mode: |
workers |
Optional positive number of parallel workers. When omitted, a balanced default is chosen. |
strategy |
Parallel scheduling strategy. |
chunk_records |
Optional number of complete records in an outer processing chunk. |
task_records |
Optional number of records assigned to each inner parallel task. |
progress |
Logical; whether to emit progress events through progressr for supported in-memory parallel execution. |
Use parallel = FALSE for the exact sequential path, parallel = TRUE to request tuned parallel defaults, or parallel = "auto" to let the engine avoid parallel overhead on small in-memory workloads.
xml_profile(), rectangle_xml()
Create or work with the exploratory single-table analyst projection, which keeps universal xml_* provenance/entity columns alongside atomic analytical values.
rectangle_xml_analyst( file, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE)rectangle_xml_analyst( file, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE)
file |
Path to the XML file. |
whitespace |
How blank text nodes are handled. |
infer_types |
Logical; whether conservative scalar type inference is applied to analyst data columns. |
include_misc |
Logical; whether miscellaneous XML content/provenance columns are retained. |
xml_profile(), rectangle_xml()
Create or work with the exploratory single-table analyst projection, which keeps universal xml_* provenance/entity columns alongside atomic analytical values.
rectangle_xml_analyst_csv( file, output, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE, na = "\\N", overwrite = FALSE)rectangle_xml_analyst_csv( file, output, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE, na = "\\N", overwrite = FALSE)
file |
Path to the XML file. |
output |
Destination CSV file. |
whitespace |
How blank text nodes are handled. |
infer_types |
Logical; whether conservative scalar type inference is applied. |
include_misc |
Logical; whether miscellaneous XML content/provenance columns are retained. |
na |
Character string written for missing values. |
overwrite |
Logical; whether an existing destination may be replaced. |
xml_profile(), rectangle_xml()
Create or work with the exploratory single-table analyst projection, which keeps universal xml_* provenance/entity columns alongside atomic analytical values.
rectangle_xml_analyst_parquet( file, output, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE, overwrite = FALSE, compression = "snappy")rectangle_xml_analyst_parquet( file, output, whitespace = c("drop_blank", "preserve"), infer_types = TRUE, include_misc = TRUE, overwrite = FALSE, compression = "snappy")
file |
Path to the XML file. |
output |
Destination Parquet file. |
whitespace |
How blank text nodes are handled. |
infer_types |
Logical; whether conservative scalar type inference is applied. |
include_misc |
Logical; whether miscellaneous XML content/provenance columns are retained. |
overwrite |
Logical; whether an existing destination may be replaced. |
compression |
Parquet compression codec passed to arrow. |
xml_profile(), rectangle_xml()
Apply an explicit profile/specification while preserving repeated values and output order. Parallelism is an execution option of the same public workflow.
rectangle_xml_csv( file, spec, output, overwrite = FALSE, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)rectangle_xml_csv( file, spec, output, overwrite = FALSE, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)
file |
Path to the XML file. |
spec |
A compiled rectangle specification. |
output |
Destination CSV file. |
overwrite |
Logical; whether an existing destination may be replaced. |
document_id |
Optional identifier attached to canonical rows; by default it is derived from the input file. |
whitespace |
Optional blank-text policy; when omitted, the specification policy is used. |
chunk_rows |
Positive number controlling the canonical SAX node-buffer capacity. |
batch_rows |
Maximum number of rectangled rows accumulated before a writer callback flush. |
id_check |
For source identifiers, |
parallel |
Execution mode: sequential, explicitly parallel, or automatic. |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy or |
chunk_records |
Optional number of complete XML records in an outer parallel chunk. |
task_records |
Optional number of records per inner parallel task. |
The streaming parser and record-boundary detection remain coordinator-side. Parallel workers receive only complete independent record subtrees.
xml_profile(), rectangle_xml()
Lower-level explicit parallel entry point retained for diagnostics, regression tests and advanced tuning. Routine use should normally use the corresponding ordinary function with the parallel argument.
rectangle_xml_parallel( file, spec, whitespace = NULL, workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL, progress = FALSE)rectangle_xml_parallel( file, spec, whitespace = NULL, workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL, progress = FALSE)
file |
Path to the XML file. |
spec |
A compiled rectangle specification or an |
whitespace |
Optional blank-text policy. |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy. |
chunk_records |
Optional number of complete records in an outer processing chunk. |
task_records |
Optional number of records per inner task. |
progress |
Logical; whether to emit progress events through progressr. |
xml_profile(), rectangle_xml()
Apply an explicit profile/specification while preserving repeated values and output order. Parallelism is an execution option of the same public workflow.
rectangle_xml_parquet( file, spec, output_dir, overwrite = FALSE, compression = "snappy", document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)rectangle_xml_parquet( file, spec, output_dir, overwrite = FALSE, compression = "snappy", document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)
file |
Path to the XML file. |
spec |
A compiled rectangle specification. |
output_dir |
Destination directory for the Parquet dataset. |
overwrite |
Logical; whether an existing destination may be replaced. |
compression |
Parquet compression codec passed to arrow. |
document_id |
Optional identifier attached to canonical rows; by default it is derived from the input file. |
whitespace |
Optional blank-text policy; when omitted, the specification policy is used. |
chunk_rows |
Positive number controlling the canonical SAX node-buffer capacity. |
batch_rows |
Maximum number of rectangled rows accumulated before a writer flush. |
id_check |
For source identifiers, |
parallel |
Execution mode: sequential, explicitly parallel, or automatic. |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy or |
chunk_records |
Optional number of complete XML records in an outer parallel chunk. |
task_records |
Optional number of records per inner parallel task. |
The streaming parser and record-boundary detection remain coordinator-side. Parallel workers receive only complete independent record subtrees.
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
review_rectangle(spec)review_rectangle(spec)
spec |
A compiled rectangle specification returned by |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
review_xml_proposal( proposal, what = c("rows", "ids", "fields", "xsd"))review_xml_proposal( proposal, what = c("rows", "ids", "fields", "xsd"))
proposal |
A proposal returned by |
what |
Which proposal component to review: row candidates, ID candidates, fields, or XSD evidence. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
validate_xml_nodes(nodes)validate_xml_nodes(nodes)
nodes |
A data frame intended to satisfy the canonical XML node-table contract. |
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
write_xml_profile( profile, file, format = c("auto", "json", "yaml"), overwrite = FALSE)write_xml_profile( profile, file, format = c("auto", "json", "yaml"), overwrite = FALSE)
profile |
An |
file |
Destination JSON or YAML file. |
format |
Serialization format. |
overwrite |
Logical; whether an existing destination may be replaced. |
xml_profile(), rectangle_xml()
Create or work with the exploratory single-table analyst projection, which keeps universal xml_* provenance/entity columns alongside atomic analytical values.
xml_analyst_expand_context(x, entity = NULL, levels = Inf)xml_analyst_expand_context(x, entity = NULL, levels = Inf)
x |
A table returned by |
entity |
Optional entity name or vector of entity names to retain. |
levels |
Maximum number of ancestor-entity levels from which contextual values may be propagated; |
xml_profile(), rectangle_xml()
Create or work with the exploratory single-table analyst projection, which keeps universal xml_* provenance/entity columns alongside atomic analytical values.
xml_analyst_table( nodes, infer_types = TRUE, include_misc = TRUE, .validate_nodes = TRUE)xml_analyst_table( nodes, infer_types = TRUE, include_misc = TRUE, .validate_nodes = TRUE)
nodes |
A canonical XML node table. |
infer_types |
Logical; whether conservative scalar type inference is applied to analyst data columns. |
include_misc |
Logical; whether miscellaneous XML content/provenance columns are retained. |
.validate_nodes |
Internal logical fast-path control. Ordinary callers should leave this at |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_node_children( nodes, node_id, document_id = NULL, include_attributes = FALSE)xml_node_children( nodes, node_id, document_id = NULL, include_attributes = FALSE)
nodes |
A canonical XML node table. |
node_id |
Positive canonical node identifier whose children are requested. |
document_id |
Optional document identifier used to disambiguate node IDs in combined tables. |
include_attributes |
Logical; whether attribute rows owned by the node are included with child content. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_nodes_schema()xml_nodes_schema()
xml_profile(), rectangle_xml()
Discover structural evidence and define a reviewable, reusable extraction contract. Proposals and XSD evidence are advisory rather than silently executable.
xml_profile( rows, id = NULL, fields = NULL, types = NULL, namespace = NULL, layout = c("safe", "wide", "long"))xml_profile( rows, id = NULL, fields = NULL, types = NULL, namespace = NULL, layout = c("safe", "wide", "long"))
rows |
Visible XML element name or path defining one output record. |
id |
Optional visible value name/path used as record identifier; omit or use |
fields |
Optional character vector of values to retain. Named entries rename output columns. |
types |
Optional named character vector declaring output types. |
namespace |
Optional namespace URI used to disambiguate the row element. |
layout |
One-table layout policy: safe automatic layout, explicitly wide, or explicitly long. |
xml_profile(), rectangle_xml()
Apply an explicit profile/specification while preserving repeated values and output order. Parallelism is an execution option of the same public workflow.
xml_rectangle( nodes, spec, parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL, progress = FALSE)xml_rectangle( nodes, spec, parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL, progress = FALSE)
nodes |
A canonical XML node table. |
spec |
A compiled rectangle specification or an |
parallel |
Execution mode: |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy or |
chunk_records |
Optional number of complete records in an outer processing chunk. |
task_records |
Optional number of records per inner parallel task. |
progress |
Logical; whether to emit progress events through progressr. |
Use parallel = FALSE for the exact sequential path, parallel = TRUE to request tuned parallel defaults, or parallel = "auto" to let the engine avoid parallel overhead on small in-memory workloads.
xml_profile(), rectangle_xml()
Lower-level explicit parallel entry point retained for diagnostics, regression tests and advanced tuning. Routine use should normally use the corresponding ordinary function with the parallel argument.
xml_rectangle_parallel( nodes, spec, workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL, progress = FALSE)xml_rectangle_parallel( nodes, spec, workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL, progress = FALSE)
nodes |
A canonical XML node table. |
spec |
A compiled rectangle specification or an |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy. |
chunk_records |
Optional number of complete records in an outer processing chunk. |
task_records |
Optional number of records per inner task. |
progress |
Logical; whether to emit progress events through progressr. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_stream_nodes( file, callback, document_id = NULL, whitespace = c("preserve", "drop_blank"), chunk_rows = 100000L)xml_stream_nodes( file, callback, document_id = NULL, whitespace = c("preserve", "drop_blank"), chunk_rows = 100000L)
file |
Path to the XML file. |
callback |
Function called with each emitted canonical node-table chunk. |
document_id |
Optional identifier attached to canonical rows; by default it is derived from the input file. |
whitespace |
How blank text nodes are handled. |
chunk_rows |
Positive maximum number of canonical rows buffered before the callback is invoked. |
xml_profile(), rectangle_xml()
Apply an explicit profile/specification while preserving repeated values and output order. Parallelism is an execution option of the same public workflow.
xml_stream_rectangle( file, spec, callback, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)xml_stream_rectangle( file, spec, callback, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), parallel = FALSE, workers = NULL, strategy = "auto", chunk_records = NULL, task_records = NULL)
file |
Path to the XML file. |
spec |
A compiled rectangle specification. |
callback |
Function called with each emitted rectangled result batch. |
document_id |
Optional identifier attached to canonical rows. |
whitespace |
Optional blank-text policy; when omitted, the specification policy is used. |
chunk_rows |
Positive number controlling the canonical SAX node-buffer capacity. |
batch_rows |
Maximum number of rectangled rows passed to a callback batch. |
id_check |
For source identifiers, |
parallel |
Execution mode: sequential, explicitly parallel, or automatic. |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy or |
chunk_records |
Optional number of complete XML records in an outer parallel chunk. |
task_records |
Optional number of records per inner parallel task. |
The streaming parser and record-boundary detection remain coordinator-side. Parallel workers receive only complete independent record subtrees.
xml_profile(), rectangle_xml()
Lower-level explicit parallel entry point retained for diagnostics, regression tests and advanced tuning. Routine use should normally use the corresponding ordinary function with the parallel argument.
xml_stream_rectangle_parallel( file, spec, callback, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL)xml_stream_rectangle_parallel( file, spec, callback, document_id = NULL, whitespace = NULL, chunk_rows = 100000L, batch_rows = 100000L, id_check = c("memory", "none"), workers = NULL, strategy = c("shared_chunk", "parallel_chunks"), chunk_records = NULL, task_records = NULL)
file |
Path to the XML file. |
spec |
A compiled rectangle specification. |
callback |
Function called with each emitted rectangled result batch. |
document_id |
Optional identifier attached to canonical rows. |
whitespace |
Optional blank-text policy; when omitted, the specification policy is used. |
chunk_rows |
Positive number controlling the canonical SAX node-buffer capacity. |
batch_rows |
Maximum number of rectangled rows passed to a callback batch. |
id_check |
For source identifiers, |
workers |
Optional positive number of parallel workers. |
strategy |
Parallel scheduling strategy. |
chunk_records |
Optional number of complete XML records in an outer parallel chunk. |
task_records |
Optional number of records per inner parallel task. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_text_to_nodes_memory( text, document_id = "inline-xml", whitespace = c("preserve", "drop_blank"), initial_capacity = 1024L)xml_text_to_nodes_memory( text, document_id = "inline-xml", whitespace = c("preserve", "drop_blank"), initial_capacity = 1024L)
text |
One character string containing XML markup. |
document_id |
Identifier assigned to all canonical rows from the supplied XML text. |
whitespace |
How blank text nodes are handled. |
initial_capacity |
Positive initial size of the internal row buffer; it grows automatically as needed. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_to_nodes_memory( file, document_id = NULL, whitespace = c("preserve", "drop_blank"), initial_capacity = 1024L)xml_to_nodes_memory( file, document_id = NULL, whitespace = c("preserve", "drop_blank"), initial_capacity = 1024L)
file |
Path to the XML file. |
document_id |
Optional identifier attached to all canonical rows; by default it is derived from the input file. |
whitespace |
How blank text nodes are handled. |
initial_capacity |
Positive initial size of the internal row buffer; it grows automatically as needed. |
xml_profile(), rectangle_xml()
Work with the canonical XML-node representation that preserves node identity, parentage, source order, namespaces, node types and scalar values.
xml_to_nodes_stream( file, document_id = NULL, whitespace = c("preserve", "drop_blank"), chunk_rows = 100000L)xml_to_nodes_stream( file, document_id = NULL, whitespace = c("preserve", "drop_blank"), chunk_rows = 100000L)
file |
Path to the XML file. |
document_id |
Optional identifier attached to canonical rows; by default it is derived from the input file. |
whitespace |
How blank text nodes are handled. |
chunk_rows |
Positive maximum number of canonical rows buffered per emitted chunk. |
xml_profile(), rectangle_xml()