Appendix A: Xslt templates

templates defined in the Navigation layer (navigation.xsl)

match

mode

parameters

description

itp:interact

 

custom

Calls producePage to produce the page content

itp:interact

group

custom

Calls produceGroup to produce the top level group

itp:group

 

custom

Calls produceGroup to produce a child group

itp:table

 

custom

Calls produceTable to produce a tabular structure

itp:row

 

custom

Calls produceTableRow to produce a row in an itp:table

itp:cell

 

custom

Calls produceTableCell to produce a cell in an itp:table

itp:question

 

custom

Calls produceSimpleText to produce static text or produceQuestion to produce normal questions

itp:question

keyselection

custom

Calls produceKeyList to produce a key selection list

xforms:submit

keyselection

custom

Calls produceKey to produce a key selection item

xforms:item

 

questioninfo, custom

Calls produceOption to produce a selection option

itp:textblock

 

questioninfo, custom

Calls registerFieldSet for each field set and registerField for each field that applies to an editable text block or editable rich text block

itp:button

 

custom

Calls produceButton to produce a button

templates defined in the Customization layer (overridable.xsl)

name

XForms context

parameters

description

getMaxFeatureLevel

any

-

Returns the feature level that can be handled by the transformation. Currently, the maximum level defined is 9.

producePage

itp:interact

interactinfo, custom

Produces the main page.

producePageHeader

itp:interact

interactinfo, custom

Produces the contents of the page header.

producePageTitle

itp:interact

interactinfo, custom

Produces the title in the page header.

producePageCSS

itp:interact

interactinfo, custom

Produces the css references in the page header.

producePageScript

itp:interact

interactinfo, custom

Produces the script references in the page header.

producePageBody

itp:interact

interactinfo, custom

Produces the contents of the page body.

producePageOnLoad

itp:interact

interactinfo, custom

Produces the contents of the onload attribute of the page body.

produceForm

itp:interact

interactinfo, custom

Produces the html form.

produceFormOn Submit

itp:interact

interactinfo, custom

Produce the javascript code to be executed upon form submission.

produceFormBody

itp:interact

interactinfo, custom

Produce the contents of the html form.

produceGroup

itp:group

groupinfo, custom

Produces a group.

produceGroup Header

itp:group

groupinfo, custom

Produce the header of a group.

produceGroupBody

itp:group

groupinfo, custom

Produce the contents of a group

produceTable

itp:table

tableinfo, custom

Produces a tabular structure.

produceTableRow

itp:row

rowinfo, custom

Produces a row in a tabular structure.

produceTableCell

itp:cell

cellinfo, custom

Produces a cell in a tabular structure.

produceKeyList

itp:question

keylistinfo, custom

Produces a list of key selection entries.

produceKey

xforms:submit

keyinfo, custom

Produces a key selection entry.

produceSimpleText

itp:question

textinfo, custom

Produces a bit of static text.

produceQuestion Structure

itp:question

questioninfo, custom, label, input, structuretype

Produces the general html-structure of a question, given the specific content of the question label and the question input controls. May produce different output, based on the structuretype, which by default may either contains the value "simple" or "extended".

produceQuestion

itp:question

questioninfo, custom

Produces the content of a question. Will transfer to either of the more specific question templates, possibly using the produceQuestionStructure template.

produceETBQuestion

itp:question

questioninfo, custom

Produces an editable text block question.

produceERTBQuestion

itp:question

questioninfo, custom

produces an editible rich text block question

produceDate Question

itp:question

questioninfo, custom

Produces a date question.

produceTime Question

itp:question

questioninfo, custom

Produces a time question.

produceText Question

itp:question

questioninfo, custom

Produces a text question.

produceNumber Question

itp:question

questioninfo, custom

Produces a number question.

produceFileQuestion

itp:question

questioninfo, custom

Produces a file question.

produceBool Question

itp:question

questioninfo, custom

Produces a check box question.

produceTextBlock MultiSelectQuestion

itp:question

questioninfo, custom

Produces a multi select question for text blocks.

produceSimpleMulti SelectQuestion

itp:question

questioninfo, custom

Produces a multi select question.

produceTextBlock SingleSelect Question

itp:question

questioninfo, custom

Produces a single select question for text blocks.

produceRadioSingle SelectQuestion

itp:question

questioninfo, custom

Produces a single select question rendered as radio buttons.

produceSimple SingleSelect Question

itp:question

questioninfo, custom

Produces a single select question.

produceOption

xforms:item

questioninfo, optioninfo, custom

Produces an option in a select question.

registerFieldSet

itp:fieldset

fieldsetinfo, custom

Registers the availability of a field set for an editable text block question or editable rich text block question.

registerField

itp:field

fieldinfo, custom

Registers the existence of a field inside a field set.

produceButtons

itp:interact

interactinfo, custom

Produce all form submission buttons.

produceButton

itp:button

buttoninfo, custom

Produces a form submission button.

produceButtonLabel

itp:button

buttoninfo, custom

Produce the label to be displayed on a form submission button.

templates defined in the Support Library (support.xsl)

name

XForms context

parameters

description

replace

any

source, tobereplaced, replacewith

Replace all occurrences of $tobereplaced in $source by $replacewith

escapejavavar

any

javavar

Escape a text value for use in javascript string values

escapeurlparam

any

urlparam

Escape a text value for use in a query string

buildTextBlock PreviewUrl

any

sessionid, rprj, rusr, srv, port, env

Create a url to the text block preview.

Appending a text block identifier to this url will result in a url that shows the preview for the corresponding text block.

applySelected Options

itp:question

questioninfo, custom, enforceordering

Drill down to the xforms:item level, only for those items that should be selected by default, possibly enforcing the order in which the items are processed to follow the order in the default

applyUnselected Options

itp:question

questioninfo, custom

Do the same for the items that should not be selected by default

applyAllOptions

itp:question

questioninfo, custom

Do the same for all items (i.e. ignoring the default)

applyNamedButtons

itp:question

names, custom

Drill down to the itp:button level, only for the buttons with a submission attribute named in the $names parameter (space separated list)

applyOtherButtons

itp:question

exclude_names, custom

Do the same for the buttons not in the $exclude_names parameter

buildInteractInfo

itp:interact

-

Build a node set containing interact info

buildGroupInfo

itp:group

-

Build a node set containing group info

buildTableInfo

itp:table

-

Build a node set containing table info

buildTableRowInfo

itp:row

-

Build a node set containing row info

buildTableCellInfo

itp:cell

-

Build a node set containing cell info

buildTextInfo

itp:question

-

Build a node set containing text info

buildQuestionInfo

itp:question

-

Build a node set containing question info

buildKeyListInfo

itp:question

-

Build a node set containing keylist info

buildKeyInfo

xforms:submit

-

Build a node set containing key info

buildOptionInfo

xforms:item

questioninfo

Build a node set containing option info

buildFieldSetInfo

itp:fieldset

questioninfo

Build a node set containing field set info

buildFieldInfo

itp:field

questioninfo

Build a node set containing field info

buildButtonInfo

itp:button

-

Build a node set containing button info

buildSuspendButton Info

any

-

Build a node set containing button info for the suspend button