Class ReplaceAttributeAction

java.lang.Object
com.saxonica.ee.update.PendingUpdateAction
com.saxonica.ee.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.
  • Method Details

    • isInheritNamespaces

      public boolean isInheritNamespaces()
    • apply

      public void apply(XPathContext context, Set<MutableNodeInfo> 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 AttributeMap 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