6 个版本

0.3.5 2024 年 5 月 10 日
0.3.4 2024 年 5 月 10 日

#478数据结构


dawproject 中使用

MIT 许可证

7KB
61

hifa xml-schema

Build Status Latest Version Coverage Status

从 XSD 生成 Rust 代码(结构和枚举)

这是 media-io/xml-schema 项目的一个修改版本。

需求

此项目依赖于其他所需库以启动,将它们添加到您的 Cargo.toml

用法

在 Rust 项目的入口点中,添加以下行

#[macro_use]
extern crate hifa_yaserde_derive;

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

然后使用以下方式实现 XSD

#[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 模块。

依赖关系

~0–13MB
~177K SLoC