Skip to content

Save

Saves current node content to $XmlRepository

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

Parameters

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

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

Saving child node 'Addresses' to repository.

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

Saving basic transformed result to repository.ts

1
2
3
4
5
6
$Xml.Save('for $c in //Person                         ' +
   'where $c/Surname                                  ' +
   'return                                            ' +
   '  <Person>                                        ' +
   '    <Name>{ $c/Name }</Name>                      ' +
   '  </Person>                                       ');

Saving advanced transformed result to repository.

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

Saving with conditional processing

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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                                                            ');

See Also