36 个版本

0.9.5 2024 年 7 月 19 日
0.9.3 2024 年 4 月 11 日
0.9.2 2024 年 3 月 15 日
0.8.2 2023 年 10 月 20 日
0.2.0 2022 年 2 月 24 日

#145 in 数据结构

Download history 32/week @ 2024-05-02 155/week @ 2024-05-09 89/week @ 2024-05-16 61/week @ 2024-05-23 120/week @ 2024-05-30 63/week @ 2024-06-06 49/week @ 2024-06-13 150/week @ 2024-06-20 107/week @ 2024-06-27 147/week @ 2024-07-04 84/week @ 2024-07-11 182/week @ 2024-07-18 258/week @ 2024-07-25 333/week @ 2024-08-01 479/week @ 2024-08-08 346/week @ 2024-08-15

1,422 每月下载量
44 个 crate 中使用 (17 个直接)

MIT/Apache

460KB
14K SLoC

Rust 的 XSD 类型

CI Crate informations License Documentation

此 crate 旨在提供 XSD 内置数据类型的安全表示。

用法

对于每个 XSD 数据类型,此库提供两类类型:一类表示数据类型的 词汇空间(见 lexical 模块),另一类表示数据类型的 值空间(见 value 模块)。

例如,假设我们希望存储 XSD decimal 数据类型值的词汇表示。我们可以使用 lexical::Decimal 类型(或其拥有变体,lexical::DecimalBuf

let string = "3.141592653589793";

// Parse the lexical representation (lexical domain).
let lexical_repr = xsd_types::lexical::Decimal::new(string).unwrap();

// Interprets the lexical representation (value domain).
use xsd_types::lexical::LexicalFormOf;
let value_repr: xsd_types::Decimal = lexical_repr.try_as_value().unwrap();

当然,可以使用 FromStr 直接将值解析到值域中

let value_repr: xsd_types::Decimal = "3.141592653589793".parse().unwrap();

任何值

Value 类型提供了一种简单的方式来表示 任何 XSD 值。

use xsd_types::{XSD_DATE, Datatype, Value};
let dt = Datatype::from_iri(XSD_DATE).unwrap();
let value: Value = dt.parse("1758-12-25").unwrap(); // Halley is back!

许可证

根据以下任一许可证许可

由您选择。

贡献

除非您明确声明,否则您提交的任何贡献,根据 Apache-2.0 许可证定义,将根据上述条款双许可,不附加任何额外条款或条件。

依赖项

~5.5MB
~117K SLoC