Fetches data from XML database and loads into the related control.
Query
Query
Write your XQuery script here. See XPath and XQuery for more details.
Scratch Query
You can use this query area for testing purposes.
Results Section
This section lets you test your query with the actual data from XML repository.
Results
There is a list named Parameter Values under this tab. The parameters added in the Parameters tab are also listed here with their Value box empty. Enter values for the listed parameters to trigger and test your query.
Table View
This table view section displays the test query result in a table view, just like it is displayed on the form.
Parameters
Options of which database to query and parameter assignments.
Repository
Select the location of data to query, either Domain or Process repository.
Parameters Anchor parameters parameters
Create parameters as with name and value xpath pairs to use data from form XML in the query.
- Name : Parameter name to be used in the XQuery.
- Value XPath: XPath for parameter data to be gathered and used in the query.
Formatting
Options to format the result data.
List Item Formatting
Customizes format of query result.
...
Value Format
Specify the format of value. You can use XPath inside curly braces. Ex: {{id}} - {{type}}
Table View Columns
Columns added in this section will be displayed in the result pane of the query.
...
Hierarchy XPath
Include Page | ||||
---|---|---|---|---|
|
Mappings
Options to map the result data.
Selection Mappings
In order to map the selected data from XQuery result into a node of the form, create a mapping by pressing Add New button.
...
Target
XPath to map data into.
Examples
The query example below demonstrates the general FLWOR structure in XQuery. It basically gathers data from forms, instances and workitems associatively and returns them in a desired format.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
for $i in /Instance let $formNo := ($i/Number) let $instance := unordered($i[Number=$formNo])[last()] let $workItemId := unordered($instance/WorkItems/WorkItem/Id)[last()] let $formDataId:= $i/WorkItems/WorkItem[last()]/DataId let $form := form[data(@Id)=$formDataId]/PoolRoot where ($evrakno$fNo = '' or ($i$formNo/Number/text() = $evrakno$fNo)) and ($tarihbslgc$startDate = '' or ($i/Start >= $tarihbslgc$startDate)) and ($tarihbts$endDate = '' or ($i/End <= $tarihbts$endDate)) and ($durum$state = '' or ($i/State/text() = $durum$state)) and ($departman$department = '' or ($form/Departman/Id = $departman$department)) order by $i/Start/text() descending return <Result> <FormNo>{$i/Number/text()}</FormNo> <DocId>{$workItemId/text()}</DocId> <State>{$i/State/text()}</State> <StartDate>{$i/Start/text()}</StartDate> <EndDate>{$i/End/text()}</EndDate> <InitiatedBy>{$i/WorkItems/WorkItem[1]/CompletedBy/@Caption/string()}</InitiatedBy> <Subject>{$form/Konu/text()}</Subject> <File>{$form/Dosyalar/Dosya/Id/text()}</File> </Result> |
We can read this query as the following:
- For expression loops over Instance nodes that are located on root level and assigns them to parameter $i
- Let expression gathers several information depending on instance, workitem and form data
- Where expression applies criteria on the data. Control parameters used in this section are declared in Parameters section on the same window.
- Order expression orders the result according to the given value
- Result expression returns the result data in the specified XML format