Versions Compared

Key

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

Overview

...

Array<XmlNodeXml> $XmlRepository.QueryXml(xquery: string)

...

Array<XmlNode> $XmlRepository.QueryXml(xquery: string, parameters: object, collection: string)

Arguments

string xquery
Specifies the query to perform on the database. The syntax of the query is quite detailed. More information can be found on,xquery standard, page.
string xqueryobject parameters
Specifies the query to perform on the database. The syntax of the query is quite detailed. More information can be found,xquery standard,page.
object parameters
Specifies the binding parameters on xquery stringbinding parameters on xquery string.
string collection
Specifies the collection name to query. If not specified, the domain database will be queried.

Remarks

If query does not return any result than return value is empty array.

The examples below shows how to query the domain databaseSee XML $Database page for further information about domain and process databases.

Example

Find all customers

...

Code Block
languagejs
var results = $XmlRepository.Query('//Customer[Id=$id]', {
   id : $Xml.Evaluate('CustomerId')
 });
$Xml.InnerXml( 'Customers', results.join() );

Example

Querying process database

Code Block
languagejs
var results = $XmlRepository.QueryXml('collection("49551ed3-6229-408a-aaaa-eb510463acad")//Customer[Id=$id]', {
id : $Xml.Evaluate('CustomerId')
});
$Xml.InnerXml( 'Customers', results[0].Evaluate('Id') );

Remarks

If query does not return any result than return value is empty array.

The examples below shows how to query the domain database.

Example

Find all customers

Code Block
languagejs
var results = $XmlRepository.Query('//Customer');
$Xml.InnerXml( 'Customer', results.join() );

Example

Find customer by id

var results = $XmlRepository.Query('//Customer[Id=$id]', { id : $Xml.Evaluate('CustomerId') }); $Xml.InnerXml( 'Customers', results.join() );
Code Block
languagejs
Info

If you want to query the database of a process, you can use the collection keyword. You have to give the name of the database which is a GUID. For process databases, you can have that GUID by $Instance.ProcessId.

Example

Querying process database

Code Block
languagejs
var results = $XmlRepository.QueryXml('collection("49551ed3-6229-408a-aaaa-eb510463acad")//Customer[Id=$id]', {
id : $Xml.Evaluate('CustomerId')
});
$Xml.InnerXml( 'Customers', results[0].Evaluate('Id') );

Examples

...

Code Block
languagejs
var results = $XmlRepository.Query('//Customer');
$Xml.InnerXml( 'Customer', results.join() );

...

Code Block
languagejs
var results = $XmlRepository.Query('//Customer[Id=$id]', {
   id : $Xml.Evaluate('CustomerId')
 });
$Xml.InnerXml( 'Customers', results.join() );

...

languagejs

...

See Also