Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
Hierarchy XPath
Hierarchy XPath

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
languagexml
titleXQuery Example
collapsetrue
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

See Also