xslt.transformations.ddi2fodt.ddi2fodt.xsl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eno-core Show documentation
Show all versions of eno-core Show documentation
Eno is a tool that generates survey questionnaires starting from their formal description in DDI
This stylesheet is used to transform a DDI input into an Xforms form (containing orbeon form runner adherences).
The current version of Eno, to display the info in the questionnaires that are produced.
The parameter file used by the stylesheet.
The parameters are charged as an xml tree.
The folder containing label resources in different languages.
A variable is created to build a set of label resources in different languages.
Only the resources in languages already present in the DDI input are charged.
Characters used to surround variables in conditioned text.
Root template :
The transformation starts with the main Sequence.
This function retrieves the languages to appear in the generated Xforms.
Those languages can be specified in a parameters file on a questionnaire level.
If not, it will get the languages defined in the DDI input.
Function for retrieving instructions based on the location they need to be outputted
Function for retrieving instructions based on the location they need to be outputted
(*)
The main Sequence activates the higher driver 'Form'.
The 'module' Sequence activates the 'Module' driver.
The 'submodule' Sequence activates the 'SubModule' driver.
The 'group' Sequence activates the 'Group' driver.
The d:ThenConstructReference elements activate the xf-group driver.
The d:ElseConstructReference elements activate the xf-group driver.
The d:ThenConstructReference elements that are not part of a Loop element activate the Filter driver.
The d:ElseConstructReference elements that are not part of a Loop activate the Filter driver.
"Other – give details" activate the Clarification driver for "give details" in QuestionItem
"Other – give details" activate the Clarification driver for "give details" in QuestionGrid
A StatementItem activates the xf-output driver.
Most Instruction elements activates the xf-output driver.
The "FlowControl" ExternalAid of a Question is the Instruction for a GoTo leaving from the Question, so it activates the GoTo.
The Computation Item activates the control driver
Those DateTimeDomain elements activate the DurationDomain driver.
Those DateTimeDomainReference elements activate the DurationDomain driver.
Those DateTimeDomain elements (not duration) activate the DateTimeDomain driver.
Those DateTimeDomainReference elements (not duration) activate the DateTimeDomain driver.
The NumericDomain element activates the NumericDomain driver.
The NumericDomainReference element activates the NumericDomain driver.
Those TextDomain (250 chars max excluded) activate the TextDomain driver.
Those TextDomain elements (250 chars min) activate the TextareaDomain driver.
Those CodeDomain elements activate the CodeDomaindriver.
The NominalDomain element activates the BooleanDomain driver.
Those Code elements activate the xf-item driver.
Those Code elements activate the xf-item driver.
Those Code elements activate the TextCell driver.
Those Label elements activate the TextCell driver. It is placed at the top left of the Grid.
Those Label elements activate the TextCell driver. It is used as a header for the l:Code of the CodeList.
First dimension from 2-dimensions grid active the TextCell driver even if they don't have Label.
Those GridResponseDomain elements activate the Cell driver.
Those NoDataByDefinition elements which are not linked to a text activate the EmptyCell driver.
Those NoDataByDefinition elements which are linked to a text activate the FixedCell driver.
The QuestionItem elements with a single response activate the SingleResponseQuestion driver.
The QuestionItem elements with a StructuredMixedResponseDomain activates the MultipleQuestion driver.
Those d:QuestionGrid aren't fixed, it is possible to add rows, they activate the 'TableLoop' driver.
Those d:QuestionGrid aren't fixed, it is possible to add rows. The d:StructuredMixedGridResponseDomain activate a RowLoop driver to do so.
Those d:QuestionGrid are 'fixed', they activate the Table driver.
The d:QuestionGrid corresponding to MultipleChoiceQuestion
The d:Loop element activates the QuestionLoop driver.
Group of Variable (based on an Instrument or a loop until now)
Variable (collected + calculated + external)
A GenerationInstruction activates the CalculatedVariable driver.
Linking output function enofodt:get-form-title to input function enoddi:get-label.
Linking output function enofodt:get-application-name to input function enoddi:get-id.
Linking output function enofodt:get-form-name to input function enoddi:get-id.
Linking output function enofodt:get-name to input function enoddi:get-id.
Linking output function enofodt:get-external-variables to input function enoddi:get-external-variables.
Linking output function enofodt:get-relevant to input function enoddi:get-hideable-command.
Linking output function enofodt:get-readonly to input function enoddi:get-deactivatable-command.
Linking output function enofodt:is-required to input function enoddi:is-required.
Linking output function enofodt:get-type to input function enoddi:get-type.
Linking output function enofodt:get-format to input function enoddi:get-format.
Linking output function enofodt:get-constraint to input function enoddi:get-control.
Linking output function enofodt:get-format-constraint to input function enoddi:get-format-constraint.
Linking output function enofodt:get-alert-level to input function enoddi:get-message-type.
Linking output function enofodt:get-help to input function enoddi:get-help-instruction.
Linking output function enofodt:get-label to input function enofodt:get-formatted-label.
Linking output function enofodt:get-value to input function enoddi:get-value.
Linking output function enofodt:get-appearance to input function enoddi:get-output-format.
Linking output function enofodt:get-css-class to input function enoddi:get-style.
Linking output function enofodt:get-length to input function enoddi:get-length.
Linking output function enofodt:get-minimum to input function enoddi:get-minimum
Linking output function enofodt:get-maximum to input function enoddi:get-maximum
Linking output function enofodt:get-number-of-decimals to input function enoddi:get-number-of-decimals
Linking output function enofodt:get-suffix to input function enoddi:get-suffix.
Linking output function enofodt:get-header-columns to input function enoddi:get-levels-first-dimension.
Linking output function enofodt:get-header-lines to input function enoddi:get-levels-second-dimension.
Linking output function enofodt:get-body-lines to input function enoddi:get-codes-first-dimension.
Linking output function enofodt:get-header-line to input function enoddi:get-title-line.
Linking output function enofodt:get-body-line to input function enoddi:get-table-line.
Linking output function enofodt:get-rowspan to input function enoddi:get-rowspan.
Linking output function enofodt:get-colspan to input function enoddi:get-colspan.
Linking output function enofodt:get-minimum-lines to input function enoddi:get-minimum-lines.
Linking output function enofodt:get-maximum-lines to input function enoddi:get-maximum-lines.
Linking output function enofodt:get-relevant-dependencies to input function enoddi:get-hideable-then.
Linking output function enofodt:get-readonly-dependencies to input function enoddi:get-deactivatable-then.
Linking output function enofodt:get-code-depth to input function enoddi:get-level-number.
Linking output function enofodt:get-image to input function enoddi:get-image.
Linking output function enofodt:get-readonly-ancestors to input function enoddi:get-deactivatable-ancestors
Linking output function enofodt:get-readonly-ancestors-variables to input function enoddi:get-deactivatable-ancestors-variables
Linking output function enofodt:get-label-conditioning-variables to input function enoddi:get-label-conditioning-variables
Linking output function enofodt:get-conditioning-variable-formula to input function enoddi:get-conditioning-variable-formula
Linking output function enofodt:get-conditioning-variable-formula-variables to input function enoddi:get-conditioning-variable-formula-variables
Linking output function enofodt:get-item-label-conditioning-variables to input function enoddi:get-item-label-conditioning-variables
Linking output function enofodt:get-business-name to input function enoddi:get-business-name
Linking output function enofodt:get-business-ancestors to input function enoddi:get-business-ancestors
Linking output function enofodt:get-control-variables to input function enoddi:get-control-variables
Linking output function enofodt:get-hideable-command-variables to input function enoddi:get-hideable-command-variables
Linking output function enofodt:get-deactivatable-command-variables to input function enoddi:get-deactivatable-command-variables
Linking output function enofodt:get-variable-calculation to input function enoddi:get-variable-calculation.
Linking output function enofodt:get-variable-calculation-variables to input function enoddi:get-variable-calculation-variables.
Linking output function enofodt:get-before-question-title-instructions to input function enoddi:get-previous-filter-description
Linking output function enofodt:get-question-name to input function enoddi:get-question-name.
Linking output function enofodt:get-code-maximum-length to input function enoddi:get-code-maximum-length
Linking output function enofodt:get-container to input function enoddi:get-container
Linking output function enofodt:get-check-name to input function enoddi:get-check-name
Linking output function enofodt:get-flowcontrol-label to input function enoddi:get-flowcontrol-label.
Linking output function enofodt:get-flowcontrol-condition to input function enoddi:get-flowcontrol-condition.
Linking output function enofodt:get-flowcontrol-target to input function enoddi:get-flowcontrol-target.
Linking output function enofodt:get-minimum-occurrences to input function enoddi:get-minimum-occurrences
Linking output function enofodt:get-minimum-occurrences-variables to input function enoddi:get-minimum-occurrences-variables
Linking output function enofodt:get-maximum-occurrences to input function enoddi:get-maximum-occurrences
Linking output function enofodt:get-maximum-occurrences-variables to input function enoddi:get-maximum-occurrences-variables
Linking output function enofodt:get-loop-filter to input function enoddi:get-loop-filter
Linking output function enofodt:get-loop-filter-variables to input function enoddi:get-loop-filter-variables
Linking output function enofodt:get-filtered-loop-name to input function enoddi:get-filtered-loop-name
Linking output function enofodt:get-loop-occurrence-filter-dependencies to input function enoddi:get-loop-occurrence-filter-dependencies
Linking output function enofodt:get-descendant-loop to input function enoddi:get-descendant-loop-ids
Linking output function enofodt:get-descendant-module to input function enoddi:get-descendant-module-ids
Linking output function enofodt:is-first-module-in-loop to input function enoddi:is-first-module-in-loop
Linking output function enofodt:is-first-calculated-variable to input function enoddi:is-first-calculated-variable
Linking output function enofodt:get-question-label to input function enoddi:get-label.
Linking output function enofodt:get-module-name to input function enoddi:get-module-name.
Linking output function enofodt:get-submodule-name to input function enoddi:get-submodule-name.
Linking output function enofodt:get-question-tooltip to input function enoddi:get-question-tooltip.
Linking output function enofodt:get-question-response-tooltip to input function enoddi:get-question-response-tooltip.
Linking output function enofodt:get-question-instruction-tooltip to input function enoddi:get-question-instruction-tooltip.
Linking output function enofodt:get-filter-description to input function enoddi:get-hideable-description.
Linking output function enofodt:is-module-filter to input function enoddi:is-module-filter.
Linking output function enofodt:get-control-criticality to input function enoddi:get-control-criticality
Linking output function enofodt:get-loop-name to input function enoddi:get-loop-name.
ResponseDomainInMixed with AttachmentLocation correspond to attached Responsedomain that should'nt be seen as a direct child of the ResponseDomainInMixed but as a direct child of the response field which it's attached to ('other:' usecase)
GridResponseDomainInMixed with AttachmentLocation correspond to attached Responsedomain that should'nt be seen as a direct child of the GridResponseDomainInMixed but as a direct child of the response field which it's attached to ('other:' usecase)
For l:Code with attached ResponseDomain, the attached is a direct child of the l:Code. FIXME : Works only for l:Code, if other case are used, need an extension of the implementation.
For l:Code with attached ResponseDomain, the attached is a direct child of the l:Code. FIXME : Works only for l:Code, if other case are used, need an extension of the implementation.
As in r:OutParameter, all the CodeList could be referenced, it's needed to make the r:OutParameter not a direct child of the CodeDomain to avoid conflict for attached ResponseDomain.
In MultipleChoiceQuestion, only the child of GridResponseDomainInMixed are considered as child (GridDimension and GridResponseDomainInMixed are escaped to prevent Table&Cell drivers).
It deactivate explicit driver flow for Instructions attached to a question. Explicit out-getters should be used instead to retrieve instructions.
Variables become children of the Instrument