## net.sf.saxon.instruct
Class Comment

    java.lang.Object
      net.sf.saxon.expr.Expression
          net.sf.saxon.instruct.Instruction
              net.sf.saxon.instruct.SimpleNodeConstructor
                  net.sf.saxon.instruct.Comment

All Implemented Interfaces:
  java.io.Serializable, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, TailCallReturner, InstructionInfo, org.xml.sax.Locator

    public final class Comment

extends SimpleNodeConstructor

An instruction representing an xsl:comment element in the stylesheet.

See Also:
  Serialized Form

Field Summary

Fields inherited from class net.sf.saxon.instruct.SimpleNodeConstructor
`select`

Fields inherited from class net.sf.saxon.expr.Expression
`EVALUATE_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, staticProperties`

Constructor Summary
`Comment()` Construct the instruction

Method Summary
`protected java.lang.String` `checkContent(java.lang.String comment, XPathContext context)` Check the content of the node, and adjust it if necessary
`Expression` `copy()` Copy an expression.
`void` `explain(ExpressionPresenter out)` Diagnostic print of expression structure.
`int` `getCardinality()` Determine the static cardinality of the expression.
`int` `getInstructionNameCode()` Get the instruction name, for diagnostics and tracing return the string "xsl:comment"
`ItemType` `getItemType(TypeHierarchy th)` Get the item type of the items returned by evaluating this instruction
`void` `localTypeCheck(ExpressionVisitor visitor, ItemType contextItemType)` Method to perform type-checking specific to the kind of instruction
`TailCall` `processLeavingTail(XPathContext context)` Process this instruction, to output a Comment Node

Methods inherited from class net.sf.saxon.instruct.SimpleNodeConstructor
`computeCardinality, computeSpecialProperties, createsNewNodes, evaluateItem, evaluateNameCode, expandChildren, getSelect, iterate, iterateSubExpressions, optimize, promoteInst, replaceSubExpression, setSelect, simplify, typeCheck`

Methods inherited from class net.sf.saxon.instruct.Instruction
`assembleParams, assembleTunnelParams, dynamicError, evaluateAsString, getConstructType, getImplementationMethod, getSourceLocator, isXSLT, process, promote`

Methods inherited from class net.sf.saxon.expr.Expression

`addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, findParentOf, getColumnNumber, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isUpdatingExpression, iterateEvents, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeError`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface javax.xml.transform.SourceLocator
`getColumnNumber, getLineNumber, getPublicId, getSystemId`

Constructor Detail

### Comment

    public Comment()

  Construct the instruction

Method Detail

### getInstructionNameCode

    public int getInstructionNameCode()

  Get the instruction name, for diagnostics and tracing return the string "xsl:comment"

  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

    public ItemType getItemType(TypeHierarchy th)

  Description copied from class: `Instruction`
  Get the item type of the items returned by evaluating this instruction

  Overrides:
    `getItemType` in class `Instruction`
  Parameters:
    `th` - the type hierarchy cache
  Returns:
    the static item type of the instruction

### getCardinality

    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).

### copy

    public Expression copy()

  Copy an expression. This makes a deep copy.

  Specified by:
    `copy` in class `Expression`
  Returns:
    the copy of the original expression

### localTypeCheck

    public void localTypeCheck(ExpressionVisitor visitor,
                               ItemType 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`

### processLeavingTail

    public TailCall processLeavingTail(XPathContext context)
                                throws XPathException

  Process this instruction, to output a Comment Node

  Specified by:
    `processLeavingTail` in interface `TailCallReturner`
  Specified by:
    `processLeavingTail` in class `Instruction`
  Parameters:
    `context` - the dynamic context for this transformation
  Returns:
    a TailCall representing a call delegated to the caller. Always returns null in this implementation
  Throws:
    `XPathException`

### checkContent

    protected java.lang.String checkContent(java.lang.String comment,
                                            XPathContext context)
                                     throws XPathException

  Check the content of the node, and adjust it if necessary

  Overrides:
    `checkContent` in class `SimpleNodeConstructor`
  Parameters:
    `comment` - the supplied content
    `context` - the dynamic context
  Returns:
    the original content, unless adjustments are needed
  Throws:
    `XPathException` - if the content is invalid

### explain

    public void explain(ExpressionPresenter out)

  Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.

  Specified by:
    `explain` in class `Expression`
  Parameters:
    `out` - the expression presenter used to display the structure

Copyright (c) Saxonica Limited. All rights reserved.