spiegel-keyman/resources/standards-data/ldml-keyboards/readme.md
Marc Durdin 25b2d255aa feat(developer): use json schema to verify source file
As we do not appear to have access to a good DTD validation library in
Node.js, we will instead convert the DTD to a JSON schema file and use
that for validation.

I have not verified every aspect of the JSON schema at this point, but
will incrementally do so as I implement further aspects of the compiler.

This updates all the testing to use the schema. As the schema validation
is slow, I have increased the 'normal' time for tests.
2022-09-01 16:56:50 +10:00

952 B

ldml-keyboards

This data is from https://github.com/unicode-org/cldr.git

Data will eventually be versioned, so there would be a 42, 43 etc directory.

Currently there is a techpreview directory referring to the technical preview—work in progress work in 2022. That will very roughly correspond to https://github.com/unicode-org/cldr/tree/keyboard-preview, or pull requests thereunto.

Data Format

Each directory contains:

  • ldmlKeyboard.dtd - the DTD file

  • ldmlKeyboard.xsd - the XSD file, automatically converted from the DTD using Visual Studio, hand tweaked as necessary

  • ldml-keyboard.schema.json - the JSON schema file, automatically converted from the XSD using xsd2json (https://github.com/Mermade/jgeXml), hand tweaked as necessary:

    • change toplevel "id" to "$id"
    • add "type": "object" to /keyboard
    • change /keyboard/keys/key type to "array"
  • imports/ - the importable data files (TODO-LDML)