patch-xml

Crates.iopatch-xml
lib.rspatch-xml
version0.0.3
sourcesrc
created_at2021-03-13 22:51:49.511977
updated_at2021-04-18 20:22:14.969663
descriptionLoad and patch xml files. Pre-alpha version. No stable interface until version 0.1.0.
homepage
repositoryhttps://github.com/VilNeo/patch-xml
max_upload_size
id368532
size205,684
(VilNeo)

documentation

README

Crates.io Docs Actions Status grcov

patch-xml is a tool and library that reads and patches XML files.

Usage

patch-xml can be used to change XML files with a generic patch in YAML format.
The general idea of this tool is to change parts of the XML file dynamically based on rules that are defined in the patch.

A sample code that shows the usage of this library is shown below.
After that, an introduction to the patch rules is described in detail.

How to use patch-xml library

Currently, patch-xml will require the unstable Rust toolchain because the external_doc-feature is used. The current state of this feature depends on this pull request.

use indoc::indoc;
let original_xml = r#"<element>Foo</element>"#;
let patch = indoc!(
    r#"
    element:
        Bar"#
    );
let result_xml = r#"<?xml version="1.0" encoding="UTF-8"?><element>Bar</element>"#;
// Load XML string, patch it and return the result as string
let result = patch_xml::patch_xml(original_xml.to_string(), patch.to_string()).unwrap();
assert_eq!(result, result_xml);

It is also possible to use patch-xml as command line tool.

Patch syntax

The syntax is almost stable and will be documented here soon...

Commit count: 0

cargo fmt