Versions Compared

Key

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

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

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

Example

Saving child node 'Addresses' to repository.

Code Block
languagejs
$Xml.Save('Person/Addresses');

Example

Saving basic transformed result to repository.ts

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

Example

Saving advanced transformed result to repository.

Code Block
languagejs
$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

Code Block
languagejs
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                                                            ');