bump version to 1.0.0 and add example with type annotations

This commit is contained in:
Kat Marchán 2021-09-11 21:04:22 -07:00
parent d24d8551ca
commit 02c40c589d
No known key found for this signature in database
GPG Key ID: AEB529C08A3C7E9E
2 changed files with 18 additions and 2 deletions

View File

@ -16,6 +16,8 @@ Language](SCHEMA-SPEC.md) loosely based on JSON Schema.
The language is based on [SDLang](https://sdlang.org), with a number of
modifications and clarifications on its syntax and behavior.
The current version of the KDL spec is `1.0.0`.
## Design and Discussion
KDL is still extremely new, and discussion about the format should happen over
@ -181,6 +183,20 @@ mynode /-"commented" "not commented" /-key="value" /-{
}
```
### Type Annotations
KDL supports type annotations on both values and nodes. These can be
arbitrary, but can be used by individual implementations or use-cases to
constrain KDL's basic types. A number of type names are also reserved to have
specific meanings.
```kdl
numbers (u8)10 (i32)20 myfloat=(f32)1.5 {
strings (uuid)"123e4567-e89b-12d3-a456-426614174000" (date)"2021-02-03" filter=(regex)r"$\d+"
(author)person name="Alex"
}
```
### More Details
```kdl

View File

@ -3,7 +3,7 @@
This is the semi-formal specification for KDL, including the intended data
model and the grammar.
This document describes KDL version `1.0.0-pre.0`.
This document describes KDL version `1.0.0`.
## Introduction
@ -253,7 +253,7 @@ IEEE 754-2008 decimal floating point numbers
* `date-time`: ISO8601 date/time format.
* `time`: "Time" section of ISO8601.
* `date`: "Date" section of ISO8601.
* `duration`: ISO8601 duration format.
* `duration`: ISO8601 duration format.
* `decimal`: IEEE 754-2008 decimal string format.
* `currency`: ISO 4217 currency code.
* `country-2`: ISO 3166-1 alpha-2 country code.