Versions Compared

Key

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

...

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

Arguments

string xquery
Specifies the query to perform on the database.

...

Specifies the binding 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.

...

Code Block
languagejs
$XmlRepository.Query('let $nodeValue := fn:parse-xml-fragment($nodeValue)' +
                     'for $record in Relation[Id=$id]/RepHistory/RepHistoryRecord[InstanceId=$instanceId] return ' +
                     '(delete node $record)', {
   id : relationId,
   instanceId : $Xml.Evaluate('SelectedHistory/Id'),
   nodeValue : $Xml.SelectSingle('.').InnerXml()
});
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

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

See Also