Class XSLMergeSource

All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, Sequence, Location, SteppingNode, SiblingCountingNode, Locator

public class XSLMergeSource extends StyleElement
Implements the xsl:merge-source element available in XSLT 3.0 as a child of xsl:merge.

March 2012: xsl:merge-source and xsl:merge-input combined into a single element

  • Constructor Details

    • XSLMergeSource

      public XSLMergeSource()
  • Method Details

    • isInstruction

      public boolean isInstruction()
      Determine whether this node is an instruction.
      Overrides:
      isInstruction in class StyleElement
      Returns:
      true - it is an instruction
    • mayContainSequenceConstructor

      protected boolean mayContainSequenceConstructor()
      Determine whether this type of element is allowed to contain a sequence constructor
      Overrides:
      mayContainSequenceConstructor in class StyleElement
      Returns:
      false: no, it may not contain a sequence constructor
    • getForEachItem

      public Expression getForEachItem()
      Get the for-each-item expression, if it exists
      Returns:
      the for-each-item expression, if defined, or null otherwise
    • getForEachSource

      public Expression getForEachSource()
      Get the for-each-source expression, if it exists
      Returns:
      the for-each-source expression, if defined, or null otherwise
    • getSelect

      public Expression getSelect()
      Get the select expression
      Returns:
      the select expression. Never null.
    • isSortBeforeMerge

      public boolean isSortBeforeMerge()
      Ask whether the sort-before-merge option is set
      Returns:
      true if the input sequence is to be sorted before merging
    • getSourceName

      public String getSourceName()
      Get the name of the merge source, or null if not specified
      Returns:
      the value of the @name attribute, or null if the attribute was absent
    • getValidationAction

      public int getValidationAction()
      Get the value of the validation attribute, if present
      Returns:
      the value of the validation attribute
    • getSchemaTypeAttribute

      public SchemaType getSchemaTypeAttribute()
      Get the value of the type attribute, if present
      Returns:
      the value of the type attribute
    • makeMergeSource

      public MergeInstr.MergeSource makeMergeSource(MergeInstr mi, Expression select)
    • 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
    • prepareAttributes

      protected 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