com.saxonica.update
Class ReplaceNodeAction

java.lang.Object
  extended by com.saxonica.update.PendingUpdateAction
      extended by com.saxonica.update.ReplaceNodeAction

public class ReplaceNodeAction
extends PendingUpdateAction

A pending update action representing the effect of a "replace node" expression


Constructor Summary
ReplaceNodeAction(NodeInfo[] content, MutableNodeInfo targetNode)
          Create a ReplaceNodeAction
 
Method Summary
 void apply(XPathContext context, Set affectedRootSet)
          Apply the pending update action to the affected nodes
 int getApplyPhase()
          Get the phase of operation in which this pending update action is applied.
 NodeInfo[] getNewContent()
          Get the list of nodes acting as the replacement nodes
 NodeInfo getTargetNode()
          Get the target node of the update action
 
Methods inherited from class com.saxonica.update.PendingUpdateAction
getOriginator, setOriginator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReplaceNodeAction

public ReplaceNodeAction(NodeInfo[] content,
                         MutableNodeInfo targetNode)
Create a ReplaceNodeAction

Parameters:
content - the content sequence to be inserted (a value which must consist entirely of nodes. The caller is responsible for copying the nodes into the same object model representation as the tree into which they will be inserted; also for merging adjacent text nodes, extracting the children of a document node, and so on.)
targetNode - the node that defines where the new nodes will be inserted
Method Detail

apply

public void apply(XPathContext context,
                  Set affectedRootSet)
Apply the pending update action to the affected nodes

Specified by:
apply in class PendingUpdateAction
Parameters:
context - the XPath evaluation context
affectedRootSet - the set of roots of trees that have been modified, which this action should add to as necessary
Throws:
XPathException - if any error occurs applying the update

getTargetNode

public NodeInfo getTargetNode()
Get the target node of the update action

Specified by:
getTargetNode in class PendingUpdateAction
Returns:
the target node, the node to which this update action applies. Returns null in the case of a delete action, which affects multiple nodes.

getNewContent

public NodeInfo[] getNewContent()
Get the list of nodes acting as the replacement nodes

Returns:
the replacement nodes

getApplyPhase

public int getApplyPhase()
Get the phase of operation in which this pending update action is applied. See 3.2.2 upd:applyUpdates, Semantics, rule 2.

Specified by:
getApplyPhase in class PendingUpdateAction
Returns:
the phase of operation, an integer in the range 1 to 5 representing the stages labelled a-e in the specification


Copyright (c) Saxonica Limited. All rights reserved.