| Crates.io | xml-canonicalization |
| lib.rs | xml-canonicalization |
| version | 0.1.0 |
| created_at | 2025-02-12 22:50:56.922925+00 |
| updated_at | 2025-02-12 22:50:56.922925+00 |
| description | XML Canonicalisation Library in pure Rust |
| homepage | |
| repository | https://github.com/lilopkins/xml-canonicalization-rs |
| max_upload_size | |
| id | 1553575 |
| size | 52,660 |
xml-canonicalizationA pure Rust XML Canonicalisation implementation.
Certain XML features (that are rarely used in practice) are unsupported by this crate:
Otherwise, all XML canonicalisation features are supported, and are validated against examples from the W3C specification.
use std::io::Cursor;
use xml_canonicalization::Canonicalizer;
let input = r#"<?xml version="1.0" encoding="ISO-8859-1"?><doc>©</doc>"#;
let canonical = r#"<doc>©</doc>"#;
let mut result = vec![];
Canonicalizer::read_from_str(input)
.write_to_writer(Cursor::new(&mut result))
.canonicalize(true)
.expect("canonicalization shouldn't fail");
assert_eq!(String::from_utf8_lossy(&result), canonical);