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

MIT 许可证

62KB
2K SLoC

xml-schema

Build Status Latest Version Coverage Status

从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生成一些错误,则很有用。值可以是 errorwarninfodebugtrace
module_namespace_mapping:将命名空间映射到Rust模块。它可以出现多次以将多个命名空间映射到不同的Rust模块。

依赖关系

~4–20MB
~283K SLoC