Security Code Display

The fm:set-out command takes the following syntax: -
<fm:set-out match=”XPathnamespace:mode=”XPath” [namespace:attribute=”attribute-value”, namespace2:attribute=”attribute-value”, ...] />
The match attribute tells FOX what elements to set out on the screen. The namespace:mode attribute tells FOX which of the elements within the scope of the XPath should be displayed and when.
You will notice how the simple type element OBSCURE has a restriction on it of xs:string . This facet tells FOX what type of data to expect which assists FOX when it sets out the field to the screen to make sure it is the right size.
fox:widget  determines the type of widget to enter/display the data for each field. The widgets normally correspond to HTML <input> types. But FOX interprets “obscure” as a box displaying a security code.
fox:init-db-interface and fox:init-query are the names of the interface and the query respectively that will be used to initialise the element with a value. In this case, the element OBSCURE will be initialised by the database query “qry-get-rand”. (The query SELECTs a random sequence of numbers and letters from dual).
Underneath the Security Code is a link to regenerate the code. It is created using a Phantom Element. These are specified in the schema part of your FOX module. They are simply placeholders for buttons or links. Phantom Elements are set out using the same size and positioning attributes as for other list/form display elements. The Phantom Element is the only case where fm:set-out displays something when no data exists  in the DOM (i.e. element node).
In this demo, the phantom presents a link that runs the action “action-regenerate-capture” which re-initialises the field.