From JRapid
<app
name = NAME
basepackage = BASEPACKAGE
((config|entity|enumset|panel|report)*,
reference*)
/>
<config
((usescript|usestylesheet|usewidget|useview|restrict)*)
/>
<usescript
location = LOCATION
/>
<usestylesheet
location = LOCATION
/>
<usewidget
name = NAME
((usescript|usestylesheet)*)
/>
<useview
name = name
((usescript|usestylesheet)*)
/>
<reference
name = NAME
file = FILE
/>
<entity name = NAME
label = LABEL
menu = MENU
stereotype = (User|Email|Language|LangValue|SavedFilter|Role|Login|Async)
size = (small|medium|large)
defaultlisting = LISTING
transient = "transient"
order = COMMA_SEPARATED_ORDER
comboproperty = COMBOPROPERTY>
auditlevel = AUDIT_LEVEL
optimisticlock = "deny | warn"
navigator = "navigator"
cache = "cache"
(restrict?, description?, usescript|usestylesheet|(subset|listing|defaultset|
(property|tab|columns|row|html|embeddedlisting)*|filter|action|next)*)>
</entity>
<property
name = NAME
label = LABEL
style = STYLE
description = DESCRIPTION
tooltip = TOOLTIP
cache = "cache">
unique = "unique"
enumset = ENUMSET
required = "required"
readonly = "readonly"
widget = (select|combo|radio|selectmultiple|checkbox)
comboproperty =
maxlength = LENGTH
minlength = MINLENGTH
hint = "hint"
class = CLASS
display = (primary|secondary)
type = (id|double|float|short|integer|long|boolean|string|text|longtext
|richtext|enum|date|time|datetime|timerange|timequantity|file|password|image|email|phone
|url|googledoc) #IMPLIED>
entity = ENTITY
subset = SUBSET
subsetparams = PARAMS
collection = COLLECTION
transient = "transient"
embedded = (inline|detail|grid)
labelposition = POSITION
dimension = (row|column)
childproperty = PROPERTY
maxrows = ROWS
minrows = ROWS
listindex = LIST_INDEX
listunique = LIST_UNIQUE
setorder = SETORDER
sort = SORT
sortexpr = EXPR
where = WHERE
extendable = "extendable"
sortable = "sortable"
whennotinsubset = (donotshow|show|shownotvalid)
default = DEFAULT
expr = EXPR
calculated = CALCULATED
calculatedtrigger = (onload|onchange|onchangenew)
formula = FORMULA
expr = EXPR
displayif = CONDITION
visibleif = CONDITION
disabledif = CONDITION
readonlyif = CONDITION
checkif = CONDITION
displayproperties = PROPERTIES
fixed = "fixed"
hidden = "hidden"
disabled = "disabled"
invisible = "invisible"
gridheader = "grideheader"
gridvalue = "gridvalue"
width = WIDTH
height = HEIGHT
imagecopyof = IMAGECOPYOF
fromyear = FROMYEAR
toyear = TOYEAR
autosuggest = "autosuggest"
(restrict?, enum*, displaycondition?, visiblecondition?, readonlycondition?,
disabledcondition?, suggest*, dynamicvalue*, foreach?, dynamicforeach?, action*)
</property>
<foreach
select = SELECT
setproperty = PROPERTY
property = PROPERTY
/>
<restrict
authentication = "basic"
(allow*)
/>
<allow>
privilege = PRIVILEGE
action = ACTION
/>
<enumset
name = NAME
privileges = PRIVILEGES
(enum*)
/>
<action
label=LABEL
name=NAME
type=TYPE
location=LOCATION
display=DISPLAY
description=DESCRIPTION
function=FUNCTION
functionparams=PARAMS
entity=ENTITY
listing=LISTING
subset=SUBSET
report=REPORT
subsetparams=SUBSETPARAMS
defaultset=DEFAULTSET
defaultsetparams=PARAMS
/>
<listing
name = NAME
subset = SUBSET
view = VIEW
layout = LAYOUT
displayproperties = COMMA_SEPARATED_PROPERTIES
displayfilters = FILTERS
entity = ENTITY
(restrict?, tab*)
/>
<embeddedlisting
name = NAME
label = LABEL
labelposition = LABELPOSITION
entity = ENTITY
listing = LISTING
subset = SUBSET
subsetparams = SUBSETPARAMS
defaultset = DEFAULTSET
defaultsetparams = PARAMS
displayif = DISPLAYIF
(displaycondition?)
/>
<subset
name = NAME
displayproperties = COMA_SEPARATED_PROPERTIES
order = ORDER
(restrict?, (param|condition|and|or|restriction)*)
/>
<param
name = NAME
entity = ENTITY
type = TYPE
collection = COLLECTION
/>
<condition
field = FIELD
value = VALUE
in = COLLECTION
contains = ITEM
isnull= "isnull"
gt = VALUE
lt = VALUE
ge = VALUE
le = VALUE
ne = VALUE
like = PATTERN
/>
<restriction
expr = EXPR
usedistinct = "usedistinct"
(param*)
/>
<and
(condition*, and*, or*, restriction*)
/>
<or
(condition*, and*, or*, restriction*)
/>
<next
type=TYPE
function=FUNCTION
report=REPORT
entity=ENTITY
defaultset=DEFAULTSET
panel=PANEL
/>
<defaultset
name = NAME
unique = UNIQUE
(restrict?, defaultset param*)
/>
<filter
name = NAME
entity = ENTITY
type = TYPE
property = PROPERTY
label = LABEL
subset = SUBSET
subsetparams = SUBSETPARAMS
display = DISPLAY
flag = FLAG
widget = WIDGET
comboproperty = COMBOPROPERTY
collection = COLLECTION
enumset = ENUMSET
(enum*, (condition|and|or|restriction)*)
/>
<chart
chart = CHART
entity = ENTITY
name = NAME
title = TITLE
/>
<crosstab
entity = ENTITY
name = NAME
title = TITLE
/>
<accordeon
(accordeonitem*)
/>
<accordeonitem
title = TITLE
(ANY*)
/>