[UP]
The UI language
 ui:a
 ui:alist-value and ui:alist-item
 ui:application
 ui:button
 ui:checkbox
 ui:cond
 ui:context
 ui:default
 ui:dialog
 ui:dyn-enum-value and ui:dyn-enum-item
 ui:dynamic
 ui:encode
 ui:enum-value and ui:enum-item
 ui:enumerate
 ui:enumeration and ui:enum
 ui:false
 ui:file
 ui:form
 ui:if
 ui:ifexpr
 ui:iflang
 ui:ifvar
 ui:imagebutton
 ui:iter-*
 ui:iterate
 ui:page
 ui:param
 ui:popup
 ui:radio
 ui:richbutton
 ui:select
 ui:server-popup
 ui:special
 ui:string-value
 ui:template
 ui:text and ui:password
 ui:textarea
 ui:translate
 ui:true
 ui:use
 ui:variable
 t:*, q:*, and p:*
 l:*
 $param
 $[expr]
 Dot notation (v1.v2)
   
The element ui:context

This elements extends the set of current context parameters while the body of ui:context is expanded. Context parameters are one way to pass values to templates.

If a parameter is added to the context by ui:context, but it happens that a parameter with the same name is already member of the context, the existing member is suspended for the time the body of ui:context is expanded, and the new parameter becomes part of the context instead.

Declaration

Level: Control structure

<!ELEMENT ui:context ANY >

The subelements of ui:context must match the informal rule ( ui:param*, %context-body;* ) where %context-body; stands symbolically for the sub elements of the body. Note that whitespace between the %context-body; elements counts, but at the other places it does not count.

Sub elements

The ui:param subelements must be placed at the beginning of the inner nodes. For every ui:param a new parameter is added to the context.

The elements following ui:param are the body of ui:context.