6 个版本

0.2.0-alpha.22024 年 5 月 22 日
0.2.0-alpha.12024 年 1 月 3 日
0.1.3 2023 年 6 月 13 日
0.1.1 2023 年 2 月 23 日
0.1.0 2023 年 1 月 18 日

#377数据库接口

Download history 252/week @ 2024-04-27 194/week @ 2024-05-04 117/week @ 2024-05-11 354/week @ 2024-05-18 341/week @ 2024-05-25 376/week @ 2024-06-01 296/week @ 2024-06-08 318/week @ 2024-06-15 190/week @ 2024-06-22 693/week @ 2024-06-29 157/week @ 2024-07-06 349/week @ 2024-07-13 221/week @ 2024-07-20 427/week @ 2024-07-27 306/week @ 2024-08-03 1363/week @ 2024-08-10

2,365 每月下载量
26 Crates 中使用(6 直接使用)

MIT/Apache

225KB
5.5K SLoC

oxsdatatypes

Latest Version Released API docs Crates.io downloads actions status Gitter

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 方法,遵循其 身份关系
  • PartialEqEq(如果可能),实现遵循其 等价关系
  • PartialOrdOrd(如果可能),实现遵循其 顺序关系
  • FromTryFrom 实现,以实现 XPath 类型转换
  • 实现各种 XPath 函数 的方法。
  • 用于序列化的 from_be_bytesto_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