saxon:deep-update
extension instruction.See: Description
Interface | Description |
---|---|
PedigreeValue |
A
PedigreeValue is a map or array together with a Pedigree
indicating how that map or array was selected within a JSON-like tree structure. |
Class | Description |
---|---|
DelegatingArrayItem |
A
DelegatingArrayItem is an abstract class representing an array that
is implemented by delegating all array-related functionality to a base class. |
DelegatingMapItem |
A
DelegatingMapItem is an abstract class representing a map that
is implemented by delegating all map-related functionality to another map. |
Pedigree |
A
Pedigree is transient information relating to a map or array indicating
the route by which it was reached; it thus compensates for the absence of parent
pointers in a JSON-like tree, by allowing the steps used to reach a map or array
in such a structure to be retraced. |
PedigreeArrayItem |
A PedigreeArrayItem represents an XDM array together with a
Pedigree :
that is, retained information about how the array was selected with a JSON-like tree. |
PedigreeMapItem |
A PedigreeMapItem represents an XDM map together with a
Pedigree :
that is, retained information about how the map was selected within a JSON-like tree. |
This package contains classes associated with the implementation of the saxon:deep-update
extension instruction.
This instruction uses a special implementation of maps in which navigation through a tree of maps maintains information about the route by which the leaf maps were reached. This information is referred to as a pedigree. The data structure used is analogous to the concept of a "zipper" found in some functional programming languages. By maintaining the connection between the root of a tree and the leaves, it becomes possible for an update to the leaves of the tree to be propagated upwards, resulting in a new version of the object at the root of the tree.
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.