10个版本
0.3.0 | 2023年12月19日 |
---|---|
0.2.0 | 2023年2月21日 |
0.1.0 | 2023年2月9日 |
0.0.7 | 2020年8月20日 |
0.0.1 | 2020年4月7日 |
#8 in #xsd
每月 33 次下载
用于 xml-schema
62KB
2K SLoC
xml-schema
从XSD生成Rust代码(结构和枚举)
要求
此项目依赖于其他库才能启动,将它们添加到您的 Cargo.toml
中。
用法
在Rust项目的入口点中,添加以下行
#[macro_use]
extern crate yaserde_derive;
use std::io::prelude::*;
use xml_schema_derive::XmlSchema;
use yaserde::{YaDeserialize, YaSerialize};
然后使用
#[derive(Debug, XmlSchema)]
#[xml_schema(source = "path_to_schema.xsd", target_prefix = "my_prefix")]
struct MySchema;
注意:MySchema
不需要是公共的。它仅作为信息支持。
属性
source:XSD - XML Schema的源。它可以是本地文件(与项目的根相关)或HTTP资源。
target_prefix:模式未定义任何前缀。如果模式中声明了 targetNamespace
,则此属性是必需的。
store_generated_code:用于调试目的的可选属性。它将生成的Rust代码存储到文件中 - 属性值是输出文件名。
log_level:在编译时配置记录器级别 - 如果XSD生成一些错误,则很有用。值可以是 error
、warn
、info
、debug
、trace
。
module_namespace_mapping:将命名空间映射到Rust模块。它可以出现多次以将多个命名空间映射到不同的Rust模块。
依赖关系
~4–20MB
~283K SLoC