Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

Saves current node content to $XmlRepository | xml repository

Array<string> myXml.Save(xquery: string, targetXPath: string)

Arguments

string xquery
Specifies the xquery to save filtered results. If set to null current node outer xml content will be saved.
string targetXPath
Specifies the repository target path. If set to null uses the root path of repository. Path can be seperated by '/' character.

Remarks

Registered namespace prefixes are implicitly declared while performing xquery.

Saving current node content to repository under 'Person' path.

Example

$Xml.Save('', 'Person/' + $Xml.Evaluate('Id'));

Example

Saving child node 'Addresses' to repository.

$Xml.Save('Person/Addresses');

Example

Saving basic transformed result to repository.ts

$Xml.Save('for $c in //Person                         ' +
   'where $c/Surname                                  ' +
   'return                                            ' +
   '  <Person>                                        ' +
   '    <Name>{ $c/Name }</Name>                      ' +
   '  </Person>                                       ');

Example

Saving advanced transformed result to repository.

$Xml.Save('copy $input := .                                 ' +
   '  modify(                                        ' +
   '    replace value of node $input/Name with 'X',  ' +
   '    insert node <Age>1</Age> into $input         ' +
   '  )                                              ' +
   '  return $input                                  ');

Example

Saving with conditional processing

this.Save('  for $risk in //Risk                                                        ' +
    '  where $risk/Action = 'C'                                                   ' +
    '  return                                                                     ' +
    '  copy $input := $risk                                                       ' +
    '    modify (                                                                 ' +
    '      delete node $input/Tasks,                                              ' +
    '      delete nodes $input/Comments[State],                                   ' +
    '      insert node <Group>{ $risk/ancestor::Group/Name }</Group> into $input  ' +
    '    )                                                                        ' +
    '    return $input                                                            ');
  • No labels