Class NamespaceConstructor

All Implemented Interfaces:
ExportAgent, Locatable, IdentityComparable, Traceable

public class NamespaceConstructor extends SimpleNodeConstructor
A namespace constructor instruction. (xsl:namespace in XSLT 2.0, or namespace{}{} in XQuery 1.1)
  • Constructor Details Link icon

    • NamespaceConstructor Link icon

      public NamespaceConstructor(Expression name)
      Create an xsl:namespace instruction for dynamic construction of namespace nodes
      Parameters:
      name - the expression to evaluate the name of the node (that is, the prefix)
  • Method Details Link icon

    • getNameExp Link icon

      public Expression getNameExp()
    • setNameExp Link icon

      public void setNameExp(Expression nameExp)
    • operands Link icon

      public Iterable<Operand> operands()
      Description copied from class: Expression
      Get the immediate sub-expressions of this expression, with information about the relationship of each expression to its parent expression.

      If the expression is a Callable, then it is required that the order of the operands returned by this function is the same as the order of arguments supplied to the corresponding call() method.

      Overrides:
      operands in class SimpleNodeConstructor
      Returns:
      an iterator containing the sub-expressions of this expression
    • getInstructionNameCode Link icon

      public int getInstructionNameCode()
      Set the name of this instruction for diagnostic and tracing purposes
      Overrides:
      getInstructionNameCode in class Instruction
      Returns:
      a code identifying the instruction: typically but not always the fingerprint of a name in the XSLT namespace
    • getItemType Link icon

      public ItemType getItemType()
      Description copied from class: Instruction
      Get the item type of the items returned by evaluating this instruction
      Overrides:
      getItemType in class Instruction
      Returns:
      the static item type of the instruction
    • getCardinality Link icon

      public int getCardinality()
      Description copied from class: Expression
      Determine the static cardinality of the expression. This establishes how many items there will be in the result of the expression, at compile time (i.e., without actually evaluating the result.
      Overrides:
      getCardinality in class Expression
      Returns:
      one of the values Cardinality.ONE_OR_MORE, Cardinality.ZERO_OR_MORE, Cardinality.EXACTLY_ONE, Cardinality.ZERO_OR_ONE, Cardinality.EMPTY. This default implementation returns ZERO_OR_MORE (which effectively gives no information).
    • localTypeCheck Link icon

      public void localTypeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextItemType) throws XPathException
      Description copied from class: SimpleNodeConstructor
      Method to perform type-checking specific to the kind of instruction
      Specified by:
      localTypeCheck in class SimpleNodeConstructor
      Parameters:
      visitor - an expression visitor
      contextItemType - the static type of the context item
      Throws:
      XPathException - if a type error is detected
    • copy Link icon

      public Expression copy(RebindingMap rebindings)
      Copy an expression. This makes a deep copy.
      Specified by:
      copy in class Expression
      Parameters:
      rebindings - the rebinding map
      Returns:
      the copy of the original expression
    • evaluateNodeName Link icon

      public NodeName evaluateNodeName(XPathContext context) throws XPathException
      Description copied from class: SimpleNodeConstructor
      Run-time method to compute the name of the node being constructed. This is overridden for nodes that have a name. The default implementation returns -1, which is suitable for unnamed nodes such as comments
      Overrides:
      evaluateNodeName in class SimpleNodeConstructor
      Parameters:
      context - the XPath dynamic evaluation context
      Returns:
      the name pool nameCode identifying the name of the constructed node
      Throws:
      XPathException - if any failure occurs
    • checkPrefix Link icon

      public String checkPrefix(String prefix, XPathContext context) throws XPathException
      Throws:
      XPathException
    • processValue Link icon

      public void processValue(UnicodeString value, Outputter output, XPathContext context) throws XPathException
      Description copied from class: SimpleNodeConstructor
      Process the value of the node, to create the new node.
      Specified by:
      processValue in class SimpleNodeConstructor
      Parameters:
      value - the string value of the new node
      output - the destination for the result
      context - the dynamic evaluation context
      Throws:
      XPathException - if a dynamic error occurs
    • evaluateItem Link icon

      public NodeInfo evaluateItem(XPathContext context) throws XPathException
      Evaluate as an expression. We rely on the fact that when these instructions are generated by XQuery, there will always be a valueExpression to evaluate the content
      Overrides:
      evaluateItem in class SimpleNodeConstructor
      Parameters:
      context - The context in which the expression is to be evaluated
      Returns:
      the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
      Throws:
      XPathException - if any dynamic error occurs evaluating the expression
    • export Link icon

      public void export(ExpressionPresenter out) throws XPathException
      Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
      Specified by:
      export in interface ExportAgent
      Specified by:
      export in class Expression
      Parameters:
      out - the expression presenter used to display the structure
      Throws:
      XPathException - if the export fails, for example if an expression is found that won't work in the target environment.
    • getElaborator Link icon

      public Elaborator getElaborator()
      Description copied from class: Expression
      Make an elaborator for this expression
      Overrides:
      getElaborator in class Expression
      Returns:
      an appropriate Elaborator