Skip to content

Commit b6d5eb2

Browse files
committed
new schema format/spec
1 parent ebf9ef7 commit b6d5eb2

File tree

6 files changed

+1234
-385
lines changed

6 files changed

+1234
-385
lines changed

.DS_Store

6 KB
Binary file not shown.

SCHEMA-SPEC.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
# KDL Schema Specification
1+
# KDL Schema Language Specification
22

3-
The KDL Schema specification describes a schema language for use with KDL,
4-
written in KDL itself. A schema language allows users to describe and
5-
constrain the allowed semantics of a KDL document. This can be used for many
6-
purposes: documentation for users, automated verification, or even automated
7-
generation of bindings!
3+
The KDL Schema Language specification describes a schema language for use with
4+
KDL. A schema language allows users to describe and constrain the allowed
5+
semantics of a document. This can be used for many purposes: documentation for
6+
users, automated verification, or even automated generation of bindings!
87

9-
This document describes KDL Schema version `1.0.0`. It was released on September 11, 2021.
8+
This document describes KDL Schema version `2.0.0`. It is unreleased.
109

1110
## The Formal Schema
1211

13-
For the full KDL Schema schema itself, see
14-
[examples/kdl-schema.kdl](./examples/kdl-schema.kdl).
12+
For the full KDL Schema Language schema itself, see
13+
[schema/ksl-schema.kdl](./schema/ksl-schema.kdl).
1514

1615
## Definition
1716

@@ -39,6 +38,14 @@ None.
3938
* `tag-names` (optional): [Validations](#validation-nodes) to apply to the _names_ of tags of child nodes.
4039
* `other-tags-allowed` (optional): Whether to allow node tags other than the ones explicitly listed here. Defaults to `#false`.
4140

41+
#### Example
42+
43+
```kdl
44+
document {
45+
46+
}
47+
```
48+
4249
### `info` node
4350

4451
The `info` node describes the schema itself.

0 commit comments

Comments
 (0)