com.saxonica.update
Class ReplaceAttributeAction

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

public class ReplaceAttributeAction
extends PendingUpdateAction

A pending update action representing a replace node expression applied to an attribute. Note that the replacement attribute may be absent; this is not quite the same as a delete operation, because the consistency rules on the pending update list are different.


Constructor Summary
ReplaceAttributeAction(NodeInfo element, NodeInfo oldAttribute, AttributeCollection newAttributes)
          Create a ReplaceAttributeAction
 
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.
 AttributeCollection getNewAttributes()
          Get the attribute collection containing the new (replacement) attributes
 NodeInfo getOldAttribute()
          Get the replaced attribute node
 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

ReplaceAttributeAction

public ReplaceAttributeAction(NodeInfo element,
                              NodeInfo oldAttribute,
                              AttributeCollection newAttributes)
Create a ReplaceAttributeAction

Parameters:
element - the element into which it is to be inserted
oldAttribute - the name of the old attribute to be replaced
newAttributes - the attributes that are to replace the target attribute
Method Detail

apply

public void apply(XPathContext context,
                  Set affectedRootSet)
           throws XPathException
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.

getOldAttribute

public NodeInfo getOldAttribute()
Get the replaced attribute node

Returns:
the attribute being replaced

getNewAttributes

public AttributeCollection getNewAttributes()
Get the attribute collection containing the new (replacement) attributes

Returns:
the new attributes to be added in place of the old attribute

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.