#kdl #schema #document #check #validation #node #name

bin+lib kdl-schema-check

基于 schema 的 KDL 文档验证

1 个不稳定版本

0.1.0 2022 年 3 月 28 日

#15#kdl

BlueOak-1.0.0

24KB
535

kdl-schema-check

KDL Schema 文档验证。

示例

库使用

use kdl_schema::Schema;
use kdl_schema_check::CheckExt;

let schema_kdl = r#"
document {
    info {
        title "Sample Schema" lang="en"
        description "An example schema" lang="en"
        author "boringcactus"
    }
    node "name" {
        value {
            type "string"
        }
    }
    node "age" {
        value {
            type "number"
        }
    }
}
"#;
let schema = Schema::parse(schema_kdl).unwrap();
let document = r#"
name "Joe"
age 69
"#;
schema.check_text_matches("<sample document>", document)
    .expect("document validation failed");

二进制使用

$ cargo install kdl-schema-check
$ kdl-schema-check schema.kdl document.kdl
Validation succeeded!

阻止版本 1.0.0 的条件

  • 返回多个错误
  • kdl-schema 在 1.0.0
  • 错误报告的综合测试
  • 代码中没有 TODOs

许可证

Blue Oak 模型许可证 1.0.0.

依赖项

~10–14MB
~264K SLoC