generator_annotations
auto-webclient grammar version yar.10
| model | 108 | application |
|---|---|---|
| client_request | ||
| interface | 20 | interface |
| project-build-environment | 44 | deployment |
| project_wiring | ||
| auto-webclient | zora.1 | generator_annotations |
| generator_settings | ||
| parameters | ||
| phrases | ||
| query | ||
| translations | ||
| connector | 39 | processor |
| template | ||
| variables | ||
| datastore | 119.2 | consumed_interfaces_mapping |
| provided_interface_implementation | ||
| relational-database-bridge | 111 | database |
| database_transformation | ||
| regular_expression_engine | ||
| sql-mirror | 119.2 | sql_mapping |
| webclient | zora.1.0 | client bindings |
| default features | ||
| gui_model | ||
| handheld features | ||
| main | ||
| parameters | ||
| phrases | ||
| production features | ||
| query | ||
| settings | ||
| translations | ||
| views | ||
| widget |
'has global features': stategroup (
'yes' {
'configured features': dictionary { [ feature ]
'has more features': stategroup = node-switch successor (
| node = 'yes' { 'next feature' = successor }
| none = 'no'
)
'feature': component 'feature'
}
}
'no' { }
)
'handheld menu': stategroup (
'yes' { [ handheld-menu (, ) ]
'items': dictionary {
'icon': [ icon: ] text
'view': component 'handheld view selector'
'has more items': stategroup = node-switch successor (
| node = 'yes' { 'next item' = successor }
| none = 'no'
)
}
}
'no' { }
)
'annotations': component 'extended annotations'
Navigation expressions
'singular path' {
'has steps': stategroup (
'yes' {
'type': stategroup (
'group' {
'group': [ . ] reference
}
)
'tail': component 'singular path'
}
'no' { }
)
}
'conditional path' {
'head': component 'singular path'
'has steps': stategroup (
'yes' {
'type': stategroup (
'state' {
'state group': [ . ] reference
'state': [ ? ] reference
}
)
'tail': component 'conditional path'
}
'no' { }
)
}
'collection path' {
'head': component 'conditional path'
'collection': [ ., [] ] reference
'has more steps': stategroup (
'yes' {
'tail': component 'collection path'
}
'no' { }
)
}
'query path' {
'has steps': stategroup (
'yes' {
'type': stategroup (
'parent' { [ ^ ] }
'reference' {
'reference': [ > ] reference
'result': stategroup (
'referenced node' { }
'rule' {
'rule': [ $ ] reference
}
)
}
'group' {
'group': [ + ] reference
}
'state' {
'state group': [ ? ] reference
'state': [ | ] reference
}
)
'tail': component 'query path'
}
'no' { }
)
}
'extended annotations' { [ (, ) ]
'has features': stategroup (
'yes' {
'configured features': dictionary { [ feature ]
'has more features': stategroup = node-switch successor (
| node = 'yes' { 'next feature' = successor }
| none = 'no'
)
'feature': component 'feature'
}
}
'no' { }
)
'has handheld frames': stategroup (
'yes' {
'handheld frames': dictionary { [ handheld: ]
'frame': component 'handheld view frame'
}
'main frame': reference = first
}
'no' { }
)
'properties': dictionary {
'type': [ : ] stategroup (
'command' { [ command ]
'annotations': component 'extended annotations'
}
'action' { [ action ]
'annotations': component 'extended annotations'
}
'group' { [ group ]
'annotations': component 'extended annotations'
}
'reference set' { [ reference-set ]
'has custom queries': stategroup (
'yes' {
'custom queries': dictionary { [ query ]
'has more queries': stategroup = node-switch successor (
| node = 'yes' { 'next query' = successor }
| none = 'no'
)
'query': component 'custom query'
}
}
'no' { }
)
}
'collection' { [ collection ]
'entries are custom properties': stategroup (
'yes' { [ @properties ]
'type': stategroup (
'value' {
'value attribute': [ value: ] reference
}
'node' { [ node ] }
)
}
'list' { [ @list ] }
'no' { }
)
'has custom queries': stategroup (
'yes' {
'custom queries': dictionary { [ query ]
'has more queries': stategroup = node-switch successor (
| node = 'yes' { 'next query' = successor }
| none = 'no'
)
'query': component 'custom query'
}
}
'no' { }
)
'sub tree': stategroup (
'yes' {
'annotations': component 'extended annotations'
}
'no' { }
)
}
'stategroup' { [ stategroup ]
'states': [ (, ) ] dictionary { [ | ]
'annotations': component 'extended annotations'
}
}
'text' { [ text ] }
'number' { [ number ] }
)
}
}
'feature' {
'properties': component 'feature properties'
}
'feature properties' {
'properties': [ (, ) ] dictionary {
'type': [ = ] stategroup (
'binding' {
'type': stategroup (
'user' { [ user ] }
'collection' { [ collection ]
'path': component 'query path'
'collection': [ . ] reference
}
'stategroup' { [ stategroup ]
'path': component 'query path'
'stategroup': [ . ] reference
}
'state' { [ state ]
'state': reference
}
'number' { [ number ]
'path': component 'query path'
'number': [ . ] reference
}
'text' { [ text ]
'path': component 'query path'
'text': [ . ] reference
}
'file' { [ file ]
'path': component 'query path'
'file': [ . ] reference
}
'command' { [ command ]
'path': component 'query path'
'command': [ . ] reference
}
'action' { [ action ]
'path': component 'query path'
'action': [ . ] reference
}
'query' { [ query ]
'path': component 'collection path'
'query': component 'custom query'
}
'query property' { [ query property ]
'property': reference
}
'query stategroup' { [ query stategroup ]
'property': reference
}
'query number' { [ query number ]
'property': reference
}
'query text' { [ query text ]
'property': reference
}
'query file' { [ query file ]
'property': reference
}
)
'properties': component 'feature properties'
}
'configuration' {
'type': stategroup (
'list' {
'properties': [ [, ] ] component 'feature properties list'
}
'stategroup' {
'state': reference
'properties': component 'feature properties'
}
'number' {
'value': integer
}
'text' {
'value': text
}
)
}
'feature' {
'properties': component 'feature properties'
}
)
}
}
'feature properties list' {
'has entry': stategroup (
'yes' {
'entry': component 'feature properties'
'tail': component 'feature properties list'
}
'no' { }
)
}
'custom query' {
'custom limit': stategroup (
'yes' { [ limit: ]
'sample': stategroup (
'yes' {
'sample size': integer
'sample limit': [ /, / ] integer
}
'no' { }
)
'absolute limit': integer
}
'no' { }
)
'properties': [ [, ] ] dictionary {
'has more properties': stategroup = node-switch successor (
| node = 'yes' { 'next property' = successor }
| none = 'no'
)
'context path': [ -> ] component 'query path'
'type': [ : ] stategroup (
'stategroup' { [ stategroup ]
'property': reference
'filter': stategroup (
'yes' { [ filter ]
'states': [ ? ] dictionary { [ | ]
'is selected': stategroup (
'yes' { [ selected ] }
'no' { }
)
}
}
'simple' { [ filter simple ] }
'no' { }
)
}
'number' { [ number ]
'property': reference
'filter': stategroup (
'yes' { [ filter ]
'operator': stategroup (
'smaller' { [ < ] }
'smaller equal' { [ <= ] }
'greater' { [ > ] }
'greater equal' { [ >= ] }
'equal' { [ == ] }
)
'criteria': stategroup (
'now' { [ now ]
'offset': [ + ] integer
}
'static' {
'value': integer
}
)
}
'simple' { [ filter simple ] }
'no' { }
)
}
'text' { [ text ]
'property': reference
'filter': stategroup (
'yes' { [ filter ]
'criteria': text
}
'simple' { [ filter simple ] }
'containment' { [ filter, selection ]
'operator': stategroup (
'in' { [ in ] }
'not in' { [ not in ] }
)
}
'no' { }
)
}
'file' { [ file ]
'property': reference
}
'action' { [ action ]
'attribute': reference
}
'command' { [ command ]
'attribute': reference
}
)
}
'custom sorting': stategroup (
'yes' {
'direction': stategroup (
'ascending' { [ @ascending: ] }
'descending' { [ @descending: ] }
)
'type': stategroup (
'number' {
'number': [ # ] reference
}
'text' {
'text': [ . ] reference
}
)
}
'no' { }
)
}
'annotated collection selector' {
'has step': stategroup (
'yes' {
'property': [ . ] reference
'type': stategroup (
'group' { }
'collection' { [ [] ] }
'state' {
'state': [ ? ] reference
}
)
'tail': component 'annotated collection selector'
}
'no' {
'property': [ ., [] ] reference
}
)
}
'handheld frame selector' {
'type': stategroup (
'inline' {
'frame': component 'handheld view frame'
}
'annotated' {
'frame': reference
}
)
}
'handheld view details' {
'title': stategroup (
'yes' {
'property': [ title: ] component 'handheld view descriptor'
}
'no' { }
)
'fields': dictionary {
'has more fields': stategroup = node-switch successor (
| node = 'yes' { 'next field' = successor }
| none = 'no'
)
'emphasis': [ : ] stategroup (
'yes' { [ @emphasis ] }
'no' { }
)
'property': component 'handheld view descriptor'
}
}
'handheld view elements' {
'has element': stategroup (
'yes' {
'type': [ -> ] stategroup (
'label' { [ label: ]
'text': reference
}
'inline view' { [ inline view: ]
'frame': component 'handheld frame selector'
}
'view' {
'view': component 'handheld view selector'
}
)
'tail': component 'handheld view elements'
}
'no' { }
)
}
'handheld view frame' {
'type': stategroup (
'decision' { [ (, ) ]
'options': dictionary {
'has more options': stategroup = node-switch successor (
| node = 'yes' { 'next option' = successor }
| none = 'no'
)
'emphasis': [ : ] stategroup (
'low' { }
'medium' { [ @emphasis: medium ] }
'high' { [ @emphasis: high ] }
)
'frame': component 'handheld frame selector'
}
}
'collection navigation' { [ collection (, ) ]
'collection context': [ path: ] stategroup (
'this' { }
'root' { [ root ] }
)
'path': component 'annotated collection selector'
'annotations': group {
'header': stategroup (
'yes' { }
'no' { [ @no-header ] }
)
'layout': stategroup (
'set' { [ @layout: ]
'type': stategroup (
'tabular' { [ tabular ] }
'cards' { [ cards ] }
'buttons' { [ buttons ] }
'partition' { [ partition ]
'path': [ on ] component 'query path'
'property': [ . ] reference
'type': stategroup (
'simple' { }
'year' { [ by, year ] }
'month' { [ by, month ] }
'week' { [ by, week ] }
'day' { [ by, day ] }
'hour' { [ by, hour ] }
)
}
)
}
'default' { }
)
}
'details': stategroup (
'yes' {
'details': component 'handheld view details'
}
'no' {
'property': [ label: ] component 'handheld view descriptor'
}
)
'filters': stategroup (
'yes' { [ filters: ]
'fields': dictionary {
'has more fields': stategroup = node-switch successor (
| node = 'yes' { 'next field' = successor }
| none = 'no'
)
'path': [ : ] component 'query path'
'property': [ . ] reference
'type': stategroup (
'stategroup' {
'filter': stategroup (
'state' {
'state': [ is ] reference
}
'not state' {
'state': [ is not ] reference
}
'states' {
'states': [ is (, ) ] dictionary { }
}
'simple' { [ stategroup ] }
)
}
'number' {
'filter': stategroup (
'match' {
'operator': stategroup (
'smaller' { [ smaller ] }
'smaller equal' { [ smaller or equal ] }
'greater' { [ greater ] }
'greater equal' { [ greater or equal ] }
'equal' { [ equal ] }
)
'type': [ than ] stategroup (
'now' { [ now + ] }
'static' { }
)
'offset': integer
}
'simple' { [ number ] }
)
}
'text' {
'filter': stategroup (
'pattern' {
'criteria': [ match ] text
}
'simple' { [ text ] }
'current node' { [ this ] }
'containment' { [ filter, selection ]
'operator': stategroup (
'in' { [ in ] }
'not in' { [ not in ] }
)
}
)
}
)
}
}
'no' { }
)
'sort': stategroup (
'yes' { [ sort: ]
'path': component 'query path'
'property': component 'handheld view property'
'direction': stategroup (
'ascending' { [ ascending ] }
'descending' { [ descending ] }
)
}
'no' { }
)
'action': stategroup (
'yes' { [ view: ]
'emphasis': stategroup (
'low' { }
'medium' { [ @emphasis: medium ] }
'high' { [ @emphasis: high ] }
)
'view': component 'handheld view selector'
}
'no' { }
)
}
'group navigation' {
'property': [ . ] reference
'frame': component 'handheld frame selector'
}
'state navigation' {
'property': [ . ] reference
'state': [ ? ] reference
'frame': component 'handheld frame selector'
}
'reference navigation' {
'text': [ > ] reference
'frame': component 'handheld frame selector'
}
'pivot view' { [ pivot (, ) ]
'options': group { dynamic-order
'show crosshair': stategroup (
'yes' { [ @crosshair ] }
'no' { }
)
'show grid': stategroup (
'yes' { [ @grid ] }
'no' { }
)
}
'columns': [ columns: . ] reference
'column grouping': [ : ] reference
'column label': [ label: ] component 'handheld view descriptor'
'cells': [ cells: . ] reference
'row grouping': [ : ] reference
'row label': [ label: ] component 'handheld view descriptor'
'content': stategroup (
'inline view' { [ inline view: ]
'frame': component 'handheld frame selector'
}
'label' { [ label: ]
'property': component 'handheld view descriptor'
}
)
}
'detail view' { [ details (, ) ]
'details': component 'handheld view details'
'elements': component 'handheld view elements'
}
'command view' { [ command (, ) ]
'details': component 'handheld view details'
'selection': [ view: ] stategroup (
'button' {
'emphasis': stategroup (
'low' { }
'medium' { [ @emphasis: medium ] }
'high' { [ @emphasis: high ] }
)
}
'scan' { [ @scan (, ) ]
'referencer': group {
'path': component 'conditional path'
'collection': [ ., [] ] reference
}
'path': [ using: ] component 'conditional path'
'search property': [ . ] reference
}
)
'view': component 'handheld view selector'
}
)
}
'handheld view descriptor' {
'type': stategroup (
'dynamic' {
'property': component 'handheld view property selector'
}
'static text' {
'text': reference
}
'icon' {
'icon name': [ icon: ] text
}
)
'has tail': stategroup (
'yes' { [ , ]
'tail': component 'handheld view descriptor'
}
'no' { }
)
}
'handheld view property' {
'property': [ . ] reference
'style': stategroup (
'default' { }
'barcode' { [ @barcode: ]
'barcode type': stategroup (
'CODE128' { [ CODE128 ] }
'CODE128A' { [ CODE128A ] }
'CODE128B' { [ CODE128B ] }
'CODE128C' { [ CODE128C ] }
'EAN13' { [ EAN13 ] }
'EAN8' { [ EAN8 ] }
'EAN5' { [ EAN5 ] }
'EAN2' { [ EAN2 ] }
'UPCA' { [ UPCA ] }
'UPCE' { [ UPCE ] }
'CODE39' { [ CODE39 ] }
'ITF' { [ ITF ] }
'ITF14' { [ ITF14 ] }
'MSI10' { [ MSI10 ] }
'MSI11' { [ MSI11 ] }
'MSI1010' { [ MSI1010 ] }
'MSI1110' { [ MSI1110 ] }
'Pharmacode' { [ Pharmacode ] }
'Codabar' { [ Codabar ] }
)
}
'qrcode' { [ @qrcode ] }
)
}
'handheld view property selector' {
'type': stategroup (
'switch' {
'stategroup': [ . ] reference
'states': [ (, ) ] dictionary { [ | ]
'tail': component 'handheld view property selector'
}
}
'step' {
'type': stategroup (
'group' {
'group': [ . ] reference
}
'state' {
'stategroup': [ . ] reference
'state': [ ? ] reference
}
'reference' {
'text': [ > ] reference
}
'parent' { [ ^ ] }
)
'tail': component 'handheld view property selector'
}
'property' {
'property': component 'handheld view property'
}
)
}
'handheld command annotations' { [ (, ) ]
'properties': dictionary {
'type': [ : ] stategroup (
'group' { [ group ]
'parameters': component 'handheld command annotations'
}
'collection' { [ collection ]
'parameters': component 'handheld command annotations'
}
'stategroup' { [ stategroup (, ) ]
'states': dictionary {
'parameters': component 'handheld command annotations'
}
}
'text' { [ text ]
'style': stategroup (
'buttons' { [ @button ] }
'keyboard' { [ @keyboard ] }
'default' { }
'scan' { [ @scan using: ]
'path': component 'conditional path'
'search property': [ . ] reference
}
)
}
)
}
}
'handheld view context' {
'has step': stategroup (
'yes' { [ ^ ]
'tail': component 'handheld view context'
}
'no' { }
)
}
'handheld view selector' {
'type': stategroup (
'switch' {
'property': [ . ] reference
'states': [ (, ) ] dictionary { [ | ]
'tail': component 'handheld view selector'
}
}
'step' {
'type': stategroup (
'group' {
'property': [ . ] reference
}
'state' {
'property': [ . ] reference
'state': [ ? ] reference
}
'reference' {
'text': [ > ] reference
}
)
'tail': component 'handheld view selector'
}
'command' {
'command': [ command: ] reference
'annotations': group { dynamic-order
'auto execute': stategroup (
'yes' { [ @auto-execute ] }
'no' { }
)
'close after execute': stategroup (
'yes' { }
'no' { [ @keep-open ] }
)
'emphasis': stategroup (
'low' { }
'medium' { [ @emphasis: medium ] }
'high' { [ @emphasis: high ] }
)
}
'parameter annotations': stategroup (
'yes' {
'parameters': component 'handheld command annotations'
}
'no' { }
)
'open view': stategroup (
'yes' { [ and ]
'context': component 'handheld view context'
'frame': component 'handheld frame selector'
}
'no' { }
)
'has details': stategroup (
'no' { }
'yes' { [ details (, ) ]
'details': component 'handheld view details'
'elements': component 'handheld view elements'
}
)
}
'view' {
'emphasis': [ : ] stategroup (
'low' { }
'medium' { [ @emphasis: medium ] }
'high' { [ @emphasis: high ] }
)
'context': component 'handheld view context'
'frame': component 'handheld frame selector'
'title': stategroup (
'custom' { [ title: ]
'property': component 'handheld view descriptor'
}
'default' { }
)
}
)
}