Package com.saxonica.ee.extfn.js

## Class IXSLRemoveAttribute

- java.lang.Object
- - net.sf.saxon.tree.linked.NodeImpl
  - - net.sf.saxon.tree.linked.ParentNodeImpl
    - - net.sf.saxon.tree.linked.ElementImpl
      - - net.sf.saxon.style.StyleElement
        - - com.saxonica.ee.extfn.js.IXSLRemoveAttribute

- All Implemented Interfaces:
    `javax.xml.transform.Source`, `javax.xml.transform.SourceLocator`, `GroundedValue`, `Item`, `MutableNodeInfo`, `NamespaceResolver`, `NodeInfo`, `Sequence`, `Location`, `SteppingNode<NodeImpl>`, `SiblingCountingNode`, `org.xml.sax.Locator`

      public class IXSLRemoveAttribute
      extends StyleElement

  Handler for ixsl:remove-attribute elements in stylesheet. The ixsl:remove-attribute element has mandatory attribute name (the name of the attribute to be removed) and optional attribute object (the element from which the attribute is removed, when no object attribute is present, the current element node is used)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.style.StyleElement

      `StyleElement.OnFailure`

  - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.style.StyleElement

      `ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultMode, defaultXPathNamespace, expandText, extensionNamespaces, reportingCircumstances, staticContext, validationError, version`

    - ### Fields inherited from class net.sf.saxon.tree.linked.NodeImpl

      `NODE_LETTER`

    - ### Fields inherited from interface net.sf.saxon.om.NodeInfo

      `IS_DTD_TYPE, IS_NILLED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IXSLRemoveAttribute()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | `compile​(Compilation exec, ComponentDeclaration decl)` | Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.
    `boolean` | `isInstruction()` | Determine whether this node is an instruction.
    `boolean` | `mayContainSequenceConstructor()` | Determine whether this type of element is allowed to contain a sequence constructor
    `void` | `prepareAttributes()` | Set the attribute list for the element.
    `void` | `validate​(ComponentDeclaration decl)` | Check that the stylesheet element is valid.

    - ### Methods inherited from class net.sf.saxon.style.StyleElement

      `allocateLocation, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compileDeclaration, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, compileWarning, compileWarning, fixupReferences, generateId, getAttributeValue, getBaseURI, getBindingInformation, getCompilation, getConfiguration, getContainingPackage, getContainingSlotManager, getDeclaredVisibility, getDefaultCollationName, getDefaultXPathNamespace, getNamespaceResolver, getObjectName, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getVisibility, getWithParamInstructions, getXslOriginal, hasImplicitBinding, index, invalidAttribute, isDeclaration, isExtensionAttributeAllowed, isExtensionNamespace, isPermittedChild, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, markTailCalls, mayContainFallback, mayContainParam, postValidate, processAllAttributes, processBooleanAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, requireSyntaxExtensions, seesAvuncularVariables, setCompilation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree, validateValidationAttribute`

    - ### Methods inherited from class net.sf.saxon.tree.linked.ElementImpl

      `addAttribute, addNamespace, addNamespace, attributes, checkNotNamespaceSensitiveElement, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, getColumnNumber, getDeclaredNamespaces, getLineNumber, getNodeKind, getNodeName, getRoot, getSchemaType, getSystemId, getURIForPrefix, initialise, isId, isIdref, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeNamespace, removeTypeAnnotation, rename, replaceStringValue, setAttributeInfo, setAttributes, setLocation, setNamespaceMap, setNilled, setNodeName, setSystemId, setTypeAnnotation`

    - ### Methods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl

      `addChild, children, compact, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, iterateChildren, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumber`

    - ### Methods inherited from class net.sf.saxon.tree.linked.NodeImpl

      `atomize, compareOrder, effectiveBooleanValue, equals, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, getURI, hasFingerprint, head, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, replace, saveLocation, setRawParent, setSiblingPosition`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `getLength, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.NodeInfo

      `children, equals, getGenre, getPublicId, hashCode, isSameNodeInfo, isStreamed, toShortString`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

    - ### Methods inherited from interface javax.xml.transform.Source

      `isEmpty`

- - ### Constructor Detail

    - #### IXSLRemoveAttribute

          public IXSLRemoveAttribute()

  - ### Method Detail

    - #### isInstruction

          public boolean isInstruction()

      Determine whether this node is an instruction.
      Overrides:
        `isInstruction` in class `StyleElement`
      Returns:
        true - it is an instruction

    - #### mayContainSequenceConstructor

          public boolean mayContainSequenceConstructor()

      Determine whether this type of element is allowed to contain a sequence constructor
      Overrides:
        `mayContainSequenceConstructor` in class `StyleElement`
      Returns:
        true: no, the element must be empty

    - #### prepareAttributes

          public void prepareAttributes()

      Description copied from class: `StyleElement`
      Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass
      Specified by:
        `prepareAttributes` in class `StyleElement`

    - #### validate

          public void validate​(ComponentDeclaration decl)
                        throws XPathException

      Description copied from class: `StyleElement`
      Check that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.
      Overrides:
        `validate` in class `StyleElement`
      Parameters:
        `decl` - the declaration to be validated
      Throws:
        `XPathException` - if any error is found during validation

    - #### compile

          public Expression compile​(Compilation exec,
                                    ComponentDeclaration decl)
                             throws XPathException

      Description copied from class: `StyleElement`
      Compile the instruction on the stylesheet tree into an executable instruction for use at run-time.
      Overrides:
        `compile` in class `StyleElement`
      Parameters:
        `exec` - the compilation episode
        `decl` - the containing top-level declaration, for example xsl:function or xsl:template
      Returns:
        either a ComputedExpression, or null. The value null is returned when compiling an instruction that returns a no-op, or when compiling a top-level object such as an xsl:template that compiles into something other than an instruction.
      Throws:
        `XPathException` - if validation fails