6 个版本
0.2.0-alpha.2 | 2024 年 5 月 22 日 |
---|---|
0.2.0-alpha.1 | 2024 年 1 月 3 日 |
0.1.3 | 2023 年 6 月 13 日 |
0.1.1 | 2023 年 2 月 23 日 |
0.1.0 | 2023 年 1 月 18 日 |
#377 在 数据库接口
2,365 每月下载量
在 26 个 Crates 中使用(6 直接使用)
225KB
5.5K SLoC
oxsdatatypes
oxsdatatypes 是一些 XML Schema Definition Language Datatypes 的实现。其主要目的是简化 SPARQL 和 XPath 的实现。
使用示例
use std::str::FromStr;
use oxsdatatypes::Decimal;
assert!(Decimal::from_str("22.2").unwrap() > Decimal::from_str("21").unwrap());
每个数据类型由一个 Rust 结构体表示。
每个数据类型提供
FromStr
实现,以解析遵循其 词法映射 的数据类型字符串序列化。Display
实现,以遵循其 规范映射 序列化数据类型。is_identical_with
方法,遵循其 身份关系。PartialEq
和Eq
(如果可能),实现遵循其 等价关系。PartialOrd
和Ord
(如果可能),实现遵循其 顺序关系。From
和TryFrom
实现,以实现 XPath 类型转换。- 实现各种 XPath 函数 的方法。
- 用于序列化的
from_be_bytes
和to_be_bytes
方法。
DateTime::now
行为
DateTime::now()
函数需要特殊的操作系统支持。目前
- 如果启用了
custom-now
特性,则必须设置一个计算now
的函数use oxsdatatypes::Duration; #[no_mangle] fn custom_ox_now() -> Duration { unimplemented!("now implementation") }
- 对于
wasm32-unknown-unknown
,如果启用了js
功能,则使用 ECMAScript API 的Date.now()
。 - 对于所有其他目标,使用
SystemTime::now()
。
许可证
本项目许可方式为以下之一:
- Apache License,版本 2.0,(LICENSE-APACHE 或
<http://www.apache.org/licenses/LICENSE-2.0>
) - MIT 许可证(LICENSE-MIT 或
<http://opensource.org/licenses/MIT>
)
任选其一。
贡献
除非您明确声明,否则您提交给 Oxigraph 的任何有意包含在内的贡献,根据 Apache-2.0 许可证定义,将按照上述方式双许可,不附加任何额外条款或条件。
依赖关系
~0.3–1MB
~20K SLoC