xslt.outputs.xforms.models.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
The newest version!
An xslt stylesheet who transforms an input into Xforms (Orbeon Form-Runner) through generic driver templates.
The real input is mapped with the drivers.
The highest driver, which starts the generation of the xforms.
It writes codes on different levels for a same driver by adding an element to the virtuel tree :
- Instance : to write the main instance
- Bind : to writes the binds associated to the elements of the instance
- Resource : an instance which stores the externalized texts used in the body part (xforms labels, hints, helps, alerts)
- Body : to write the fields
- Model : to write model elements of the instance which could be potentially added by the user in the instance
GoTo are to be removed.
VariableGroup are used through the element they are based on.
Default template for Instance for the drivers.
The element is created and we continue to parse the input tree next to the created element.
Template for Instance for those drivers.
The element is created and we continue to parse the input tree next within the created element.
Template for Instance and Bind for SingleResponseQuestion.
The element is invisible and absorbed in its Response.
Template for Resource and ResourceBind for SingleResponseQuestion.
The element is invisible, but sends its label to its Response.
Special template for Instance for the RowLoop driver.
Template for Instance for those drivers.
The element is created and we continue to parse the input tree next within the created element.
Special template for Instance for the TableLoop driver.
Special template for Instance for the DurationDomain and DateTimeDomain drivers.
Default template for Model for the drivers : doing nothing and continuing parsing.
Only if the Instance element wasn't added to the virtual tree (to write the instance part into the model).
Template for RowLoop and QuestionLoop.
An element is created and we copy the Instance part into this model.
It goes down the tree to check if there are no other loops.
Template for RowLoop and QuestionLoop into a QuestionLoop.
An element is created and we copy the Instance part into this model.
It goes down the tree to check if there are no other loops.
Default template for Bind for the drivers.
It builds the bind by using different enofr functions then the process goes on next to the created bind.
Default template for Bind for the drivers.
It builds the bind by using different enofr functions then the process goes on next to the created bind.
Default template for Bind for the drivers.
It builds the bind by using different enofr functions then the process goes on next to the created bind.
xs:float
xs:integer
Recursive named template which calculated the regex of a positive number
5 cases :
- only 9s (ex : 99999999.999999)
- only 9s except the first digit
- only 9s after the dot ; something different for a digit before the dot and different from the first one
- something different from 9s after the dot and the number made by the digits before the 9s is less than 10 (ex : 123456798.00000079999 or 12.5)
- something different from 9s after the dot and the number made by the digits before the 9s is more than 9 (ex : 12.109)
Each case adds a regex and, except the first one, calls itself or a previous one with at least one digit less different from 9 at the end
Ex : numbers less than 31.01299 : numbers between 31.01 and 31.01299 + numbers between 31 and 31.00999 + numbers between 30 and 30.999999 + numbers between 10 and 29.99999 + numbers between 0 and 9.99999
Template for Bind for the following drivers.
It builds the bind by using different enofr functions then the process goes on within the created bind.
Template for Bind for the following drivers.
It uses the nodeset attribute instead of the ref attribute.
It builds the bind then the process goes on within the created bind.
Template for Bind for the following drivers.
It uses the nodeset attribute instead of the ref attribute.
It builds the bind then the process goes on within the created bind.
Template for Bind for the following drivers.
Template for Bind for the DurationDomain and DateTimeDomain drivers.
Default template for Resource for the drivers.
It builds the resources by using different enofr functions then the process goes on next to the created resource.
Template for Resource for the driver ConsistencyCheck.
Template for Resource for the drivers QuestionLoop and Rowloop.
Template for Resource for the drivers QuestionLoop and Rowloop.
Template for Resource for the driver FixedCell.
Template for ResourceItem for xf-item driver.
-
The xf-item driver produces something only in the ResourceItem part.
Template for Resource for DurationDomain and DateTimeDomain drivers.
-
Template for Body for the Module driver.
Template for Body for the SubModule and Group drivers.
text/html
Template for Body for the xf-group or the Clarification drivers.
Template for Body for the MultipleQuestion or MultipleChoiceQuestion driver.
Template for Body for the SingleResponseQuestion driver.
Default template for Body for the drivers.
text/html
text/html
text/html
text/html
DOMFocusOut xforms-value-changed
DOMFocusOut
Default template for Body for the ConsistencyCheck.
text/html
Template to add mediatype html/css to rich text items
text/html
Template for Body for the Table driver.
Template for Body for the TableLoop driver.
Template for Body for the TextCell driver.
Template for Body for the Cell driver.
No other - give details out of cells
The Cell driver produces something only in the Body part but its children can produce something.
Template for Body for the FixedCell driver.
text/html
Template for Body for the EmptyCell driver.
The EmptyCell driver produces something only in the Body part.
Template for Body for the QuestionLoop driver.
Template for Body for the DurationDomain driver.
text/html
text/html
DOMFocusOut xforms-value-changed
DOMFocusOut
Template for Body for the (external) Variable and CalculatedVariable drivers.
It corresponds to elements which will be present in the Instance and Bind but not in the Resource and the Body.
Their prefilled value can have an impact on other elements of the form.
lists the layout variables for DurationDomain
references the label and indicates how to customize it
Named template : replaceVariablesInFormula.
It replaces variables in a all formulas (Filter, ConsistencyCheck, CalculatedVariable, personalized text).
"variable" -> "variableBusinessName"
or more complicated for numeric variables