hifa-xml-schema

Crates.iohifa-xml-schema
lib.rshifa-xml-schema
version0.3.5
sourcesrc
created_at2024-05-07 05:43:50.566697
updated_at2024-05-10 09:39:23.214056
descriptionStructure generator from XSD source file
homepagehttps://github.com/media-io/xml-schema
repositoryhttps://github.com/media-io/xml-schema
max_upload_size
id1231852
size4,675
Kazuki Kurota (kurotakazuki)

documentation

https://docs.rs/xml_schema

README

hifa xml-schema

Build Status Latest Version Coverage Status

Generate rust code (structures and enum) from XSD

This is a modified version of the project in media-io/xml-schema.

Requirements

This project depends to other required libraries to start with, add them to your Cargo.toml.

Usage

In the entrypoint of your rust project, add these folowing lines:

#[macro_use]
extern crate hifa_yaserde_derive;

use std::io::prelude::*;
use hifa_xml_schema_derive::XmlSchema;
use hifa_yaserde::{YaDeserialize, YaSerialize};

Then implement the XSD using:

#[derive(Debug, XmlSchema)]
#[xml_schema(source = "path_to_schema.xsd", target_prefix = "my_prefix")]
struct MySchema;

Remark: the MySchema don't need to be public. It serve just as support of information.

Attributes

source: Source of the XSD - XML Schema. It can be local file (related to the root of the project) or an HTTP resource.
target_prefix: The schema not define any prefix. It the targetNamespace is declared in the schema, this attribute is required.
store_generated_code: Optional attribute for debug purpose. It store the generated Rust code into the file - the attribute value is the output filename.
log_level: To configure the logger level at the the compile time - usefull if the XSD generate some bugs. Values can be error, warn, info, debug, trace.
module_namespace_mapping: map a namespace to a Rust module. It can be present many times to map multiple namespaces to different Rust modules.

Commit count: 112

cargo fmt