vl-schema-jsoneditor
Erzeugen und Ausliefern von JSON-SCHEMA-Objekten zur Verwendung mit JSON-EDITOR in der Web-Applikation Ottomane.
Die SCHEMA-Definitionen (z.B. Dokument 000_SCHEMA-cus
) enthalten oftmals
Bestandteile in Form von Variablen, sind also unvollständig. Diese Variablen
müssen durch reale Daten ersetzt werden, die ebenfalls ihren Ursprung in
Datenbankdokumenten haben. Man erreicht so eine bessere Aktualität, wenn die
Ersetzung automatisch geschieht. Die List-View-Kombination in diesem
Repositorium dient diesem Zweck.
Die Variablen
Folgende Struktur wird verwendet: {{XXX@YYY@ZZZ}}
. Bedeutung:
-
XXX
: Kennung der Variablen. Sie bestimmt, woher der konkrete Inhalt zur Ersetzung beschafft wird. Welche Kennungen derzeit unterstützt werden, findet man im Quelltext der List. -
YYY
: Typ der Variablen. Derzeit wird nur der TypeENUM
(Array) unterstützt. Denkbar wäre nochOBJECT
, um komplette Sub-SCHEMAs einzufügen. -
ZZZ
: Erweiterte Kennung (optional).
Beispiel: {{000_UNITS@ENUM@Pressure}}
. Es wird ein Array aus der
Unterstruktur Pressure
in der Quelle 000_UNITS
adressiert, in diesem Fall
also alle üblichen Druck-Maßeinheiten.
Die SCHEMA-Definitionen
Wird ein SCHEMA in Rohform beispielsweise per http://localhost:5984/vl_db/000_SCHEMA-cob-srg beschafft, so ist darin ausschnittsweise die folgende Struktur enthalten:
"properties": {
"Unit": {
"type": "string",
"enum": "{{000_UNITS@ENUM@Pressure}}"
}
}
Erfolgt dagegen der Zugriff über die List editor-schema
, d.h. per
[http://localhost:5984/vl_db/_design/editor-schema/_list/getSchema/getData?schema=000_SCHEMA-cob-srg]
(http://localhost:5984/vl_db/_design/editor-schema/_list/getSchema/getData?schema=000_SCHEMA-cob-srg),
erhält man eine Struktur mit ersetzten Variablen:
"properties": {
"Unit": {
"type": "string",
"enum": ["mbar", "DCR", "Pa", "kPa", "Torr"]
}
}