## net.sf.saxon.trace
Class Location

    java.lang.Object
      net.sf.saxon.trace.Location

    public class Location

extends java.lang.Object

This class holds constants identifying different kinds of location in a source stylesheet or query. These constants are used in the getConstructType() method of class InstructionInfo. Some of these locations represent points where the dynamic context changes, and they are therefore recorded as such on the context stack. Some of the locations represent points in the evaluation of a stylesheet (or query or XPath expression) that are notified to the trace listener. Some fulfil both roles.

Any constant used in `StandardNames` can be used as a Location. Such names are generally used to identify XSLT instructions. They are also used for equivalent constructs in XQuery, for example XSL_ELEMENT is used for a computed element constructor in XQuery. The constants in StandardNames are all in the range 0-1023, so constants defined in this class are outside this range.

The constants in this file are annotated with Q to indicate they can appear in XQuery trace output, T to indicate they can appear in XSLT trace output, and/or C to indicate that they can appear on the dynamic context stack.

Field Summary
`static int` `BUILT_IN_TEMPLATE` An XSLT built-in template rule.
`static int` `CASE_EXPRESSION` CASE clause within "typeswitch".
`static int` `CONTROLLER` The outer system environment, identified as the caller of a user query or stylesheet.
`static int` `DEFAULT_EXPRESSION` DEFAULT clause within "typeswitch".
`static int` `ELSE_EXPRESSION` An XPath or XQuery "else" clause.
`static int` `EXTENSION_INSTRUCTION` An XSLT instruction.
`static int` `FILTER_EXPRESSION` An XPath or XQuery filter expression.
`static int` `FOR_EXPRESSION` An XPath or XQuery "for" clause.
`static int` `FUNCTION` A function declaration in XSLT or XQuery
`static int` `FUNCTION_CALL` An XPath function call to a user-defined function.
`static int` `GROUPING_KEY` A grouping key in XSLT.
`static int` `IF_EXPRESSION` An XPath or XQuery "if" expression.
`static int` `LAZY_EVALUATION` Lazy evaluation of an expression (this code is used to identify a context created as a saved copy of an existing context, to be stored in a Closure).
`static int` `LET_EXPRESSION` An XQuery "let" clause, or an XSLT local variable (which compiles into a LET clause).
`static int` `LITERAL_RESULT_ATTRIBUTE` An attribute of an XSLT literal result element or of an XQuery direct element constructor.
`static int` `LITERAL_RESULT_ELEMENT` An XSLT literal result element, or an XQuery direct element constructor.
`static int` `ORDER_BY_CLAUSE` An order-by clause in a FLWOR expression.
`static int` `PATH_EXPRESSION` An XPath or XQuery path expression.
`static int` `PATTERN` An XSLT Pattern.
`static int` `RETURN_EXPRESSION` An XPath or XQuery "return" clause.
`static int` `SAXON_EVALUATE` An XPath expression constructed dynamically using saxon:evaluate (or saxon:expression).
`static int` `SAXON_HIGHER_ORDER_EXTENSION_FUNCTION` A higher-order extension function such as saxon:sum, saxon:highest.
`static int` `SAXON_SERIALIZE` The saxon:serialize() extension function.
`static int` `SORT_KEY` A sort key (or order-by key).
`static int` `TEMPLATE` An XSLT user-written template rule or named template.
`static int` `THEN_EXPRESSION` An XPath or XQuery "then" clause.
`static int` `TRACE_CALL` An explicit call of the fn:trace() function.
`static int` `TYPESWITCH_EXPRESSION` An XPath or XQuery "typeswitch" expression.
`static int` `UNCLASSIFIED` Unclassified location.
`static int` `VALIDATE_EXPRESSION` An XPath or XQuery "validate" expression.
`static int` `WHERE_CLAUSE` A WHERE clause in a FLWOR expression.
`static int` `XPATH_EXPRESSION` XPath expression, otherwise unclassified.
`static int` `XPATH_IN_XSLT` Entry point to a top-level XPath expression within an XSLT stylesheet.

Method Summary

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

Field Detail

### CONTROLLER

    public static final int CONTROLLER

  The outer system environment, identified as the caller of a user query or stylesheet. Usage:C

  See Also:
    Constant Field Values

### EXTENSION_INSTRUCTION

    public static final int EXTENSION_INSTRUCTION

  An XSLT instruction. The name of the instruction (which may be an extension instruction) can be obtained using the fingerprint property. Usage:T

  See Also:
    Constant Field Values

### LITERAL_RESULT_ELEMENT

    public static final int LITERAL_RESULT_ELEMENT

  An XSLT literal result element, or an XQuery direct element constructor. Usage:QT

  See Also:
    Constant Field Values

### LITERAL_RESULT_ATTRIBUTE

    public static final int LITERAL_RESULT_ATTRIBUTE

  An attribute of an XSLT literal result element or of an XQuery direct element constructor. Usage: QT

  See Also:
    Constant Field Values

### TEMPLATE

    public static final int TEMPLATE

  An XSLT user-written template rule or named template. Usage: TC

  See Also:
    Constant Field Values

### FUNCTION_CALL

    public static final int FUNCTION_CALL

  An XPath function call to a user-defined function. The "expression" property references the actual expression, of class ComputedExpression. The "target" property references the function being called, of class UserFunction. Usage: QTC

  See Also:
    Constant Field Values

### BUILT_IN_TEMPLATE

    public static final int BUILT_IN_TEMPLATE

  An XSLT built-in template rule. Usage: TC

  See Also:
    Constant Field Values

### XPATH_IN_XSLT

    public static final int XPATH_IN_XSLT

  Entry point to a top-level XPath expression within an XSLT stylesheet. Usage: TC

  See Also:
    Constant Field Values

### FOR_EXPRESSION

    public static final int FOR_EXPRESSION

  An XPath or XQuery "for" clause. Usage: Q

  See Also:
    Constant Field Values

### LET_EXPRESSION

    public static final int LET_EXPRESSION

  An XQuery "let" clause, or an XSLT local variable (which compiles into a LET clause). Usage: Q,T

  See Also:
    Constant Field Values

### RETURN_EXPRESSION

    public static final int RETURN_EXPRESSION

  An XPath or XQuery "return" clause. Usage: Q

  See Also:
    Constant Field Values

### IF_EXPRESSION

    public static final int IF_EXPRESSION

  An XPath or XQuery "if" expression. Usage: Q

  See Also:
    Constant Field Values

### THEN_EXPRESSION

    public static final int THEN_EXPRESSION

  An XPath or XQuery "then" clause. Usage: Q

  See Also:
    Constant Field Values

### ELSE_EXPRESSION

    public static final int ELSE_EXPRESSION

  An XPath or XQuery "else" clause. Usage: Q

  See Also:
    Constant Field Values

### WHERE_CLAUSE

    public static final int WHERE_CLAUSE

  A WHERE clause in a FLWOR expression. Usage: Q

  See Also:
    Constant Field Values

### ORDER_BY_CLAUSE

    public static final int ORDER_BY_CLAUSE

  An order-by clause in a FLWOR expression. Usage: Q

  See Also:
    Constant Field Values

### TYPESWITCH_EXPRESSION

    public static final int TYPESWITCH_EXPRESSION

  An XPath or XQuery "typeswitch" expression. Usage: Q

  See Also:
    Constant Field Values

### CASE_EXPRESSION

    public static final int CASE_EXPRESSION

  CASE clause within "typeswitch". Usage: Q

  See Also:
    Constant Field Values

### DEFAULT_EXPRESSION

    public static final int DEFAULT_EXPRESSION

  DEFAULT clause within "typeswitch". Usage: Q

  See Also:
    Constant Field Values

### VALIDATE_EXPRESSION

    public static final int VALIDATE_EXPRESSION

  An XPath or XQuery "validate" expression. Usage: Q

  See Also:
    Constant Field Values

### FILTER_EXPRESSION

    public static final int FILTER_EXPRESSION

  An XPath or XQuery filter expression. Usage: C

  See Also:
    Constant Field Values

### PATH_EXPRESSION

    public static final int PATH_EXPRESSION

  An XPath or XQuery path expression. Usage: C

  See Also:
    Constant Field Values

### TRACE_CALL

    public static final int TRACE_CALL

  An explicit call of the fn:trace() function. Usage: QT

  See Also:
    Constant Field Values

### SAXON_EVALUATE

    public static final int SAXON_EVALUATE

  An XPath expression constructed dynamically using saxon:evaluate (or saxon:expression). Usage: QTC

  See Also:
    Constant Field Values

### SAXON_HIGHER_ORDER_EXTENSION_FUNCTION

    public static final int SAXON_HIGHER_ORDER_EXTENSION_FUNCTION

  A higher-order extension function such as saxon:sum, saxon:highest. Usage: C

  See Also:
    Constant Field Values

### SAXON_SERIALIZE

    public static final int SAXON_SERIALIZE

  The saxon:serialize() extension function. Usage: C

  See Also:
    Constant Field Values

### SORT_KEY

    public static final int SORT_KEY

  A sort key (or order-by key). Usage: C

  See Also:
    Constant Field Values

### GROUPING_KEY

    public static final int GROUPING_KEY

  A grouping key in XSLT. Usage: C

  See Also:
    Constant Field Values

### LAZY_EVALUATION

    public static final int LAZY_EVALUATION

  Lazy evaluation of an expression (this code is used to identify a context created as a saved copy of an existing context, to be stored in a Closure). Usage: C

  See Also:
    Constant Field Values

### PATTERN

    public static final int PATTERN

  An XSLT Pattern. Usage: C

  See Also:
    Constant Field Values

### FUNCTION

    public static final int FUNCTION

  A function declaration in XSLT or XQuery

  See Also:
    Constant Field Values

### XPATH_EXPRESSION

    public static final int XPATH_EXPRESSION

  XPath expression, otherwise unclassified. The "expression" property references the actual expression, of class ComputedExpression. Used in fallback cases only.

  See Also:
    Constant Field Values

### UNCLASSIFIED

    public static final int UNCLASSIFIED

  Unclassified location. Used in fallback cases only.

  See Also:
    Constant Field Values

Copyright (c) Saxonica Limited. All rights reserved.