## net.sf.saxon.expr
Class StaticProperty

    java.lang.Object
      net.sf.saxon.expr.StaticProperty

    public abstract class StaticProperty

extends java.lang.Object

This class contains constants identifying dependencies that an XPath expression might have on its context.

Field Summary
`static int` `ALLOWS_MANY` Bit set if multiple values are allowed
`static int` `ALLOWS_ONE` Bit set if a single value is allowed
`static int` `ALLOWS_ONE_OR_MORE` Occurence indicator for "one or more" (+)
`static int` `ALLOWS_ZERO`
`static int` `ALLOWS_ZERO_OR_MORE` Occurence indicator for "zero or more" (*)
`static int` `ALLOWS_ZERO_OR_ONE` Occurence indicator for "zero or one" (?)
`static int` `ATTRIBUTE_NS_NODESET` Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that every node in the result will be an attribute or namespace of the context node
`static int` `CARDINALITY_MASK` Mask for all cardinality bits
`static int` `CONTEXT_DOCUMENT_NODESET` Expression property: this bit is set by getProperties() in the case of an expression whose item type is node, when the nodes in the result are guaranteed all to be in the same document as the context node.
`static int` `DEPENDENCY_MASK` Mask to select all the dependency bits
`static int` `DEPENDS_ON_ASSIGNABLE_GLOBALS` Bit setting: Expression depends on assignable global variables
`static int` `DEPENDS_ON_CONTEXT_DOCUMENT` Bit setting: Expression depends on the document containing the context node
`static int` `DEPENDS_ON_CONTEXT_ITEM` Bit setting: Expression depends on context item
`static int` `DEPENDS_ON_CURRENT_GROUP` Bit setting: Expression depends on current-group() and/or current-grouping-key()
`static int` `DEPENDS_ON_CURRENT_ITEM` Bit setting: Expression depends on current() item
`static int` `DEPENDS_ON_FOCUS` Combination of bits representing dependencies on the focus
`static int` `DEPENDS_ON_LAST` Bit setting: Expression depends on last()
`static int` `DEPENDS_ON_LOCAL_VARIABLES` Bit setting: Expression depends on local variables
`static int` `DEPENDS_ON_NON_DOCUMENT_FOCUS` Combination of bits representing dependencies on the focus, but excluding dependencies on the current document
`static int` `DEPENDS_ON_POSITION` Bit setting: Expression depends on position()
`static int` `DEPENDS_ON_REGEX_GROUP` Bit setting: Expression depends on regex-group()
`static int` `DEPENDS_ON_RUNTIME_ENVIRONMENT` Bit setting: Expression can't be evaluated at compile time for reasons other than the above
`static int` `DEPENDS_ON_USER_FUNCTIONS` Bit setting: Expression depends on user-defined functions
`static int` `DEPENDS_ON_XSLT_CONTEXT` Combination of bits representing dependencies on the XSLT context
`static int` `EMPTY` Occurence indicator when an empty sequence is required
`static int` `EXACTLY_ONE` Occurence indicator for "exactly one" (default occurrence indicator)
`static int` `HAS_SIDE_EFFECTS` Expression property: this bit indicates that an expression has (or might have) side-effects.
`static int` `NON_CREATIVE` Expression property: this bit is set in the case of an expression that will never return newly created nodes, nor a value that depends on the identity of newly created nodes (for example generate-id(new-node())).
`static int` `NOT_UNTYPED` Expression property: this bit indicates that although the static type of the expression permits untyped values, it is known that the value will not be untyped.
`static int` `ORDERED_NODESET` Expression property: this bit is set by getProperties() in the case of an expression whose item type is node, when the nodes in the result are in document order.
`static int` `PEER_NODESET` Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that no node in the set will be an ancestor of any other.
`static int` `REVERSE_DOCUMENT_ORDER` Expression property: this bit is set by getProperties() in the case of an expression that delivers items in the reverse of the correct order, when unordered retrieval is requested.
`static int` `SINGLE_DOCUMENT_NODESET` Expression property: this bit is set in the case of an expression that delivers a set of nodes that are all in the same document (not necessarily the same document as the context node).
`static int` `SPECIAL_PROPERTY_MASK` Mask for "special properties": that is, all properties other than cardinality and dependencies
`static int` `SUBTREE_NODESET` Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that every node in the result will be a descendant or self, or attribute or namespace, of the context node

Method Summary
`static int` `getCardinalityCode(int cardinality)` Reduce the cardinality value to an integer in the range 0-7
`static java.lang.String` `getCardinalityDescription(int cardinality)` Display the cardinality value as a string (used for diagnostics)

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

Field Detail

### DEPENDS_ON_CURRENT_ITEM

    public static final int DEPENDS_ON_CURRENT_ITEM

  Bit setting: Expression depends on current() item

  See Also:
    Constant Field Values

### DEPENDS_ON_CONTEXT_ITEM

    public static final int DEPENDS_ON_CONTEXT_ITEM

  Bit setting: Expression depends on context item

  See Also:
    Constant Field Values

### DEPENDS_ON_POSITION

    public static final int DEPENDS_ON_POSITION

  Bit setting: Expression depends on position()

  See Also:
    Constant Field Values

### DEPENDS_ON_LAST

    public static final int DEPENDS_ON_LAST

  Bit setting: Expression depends on last()

  See Also:
    Constant Field Values

### DEPENDS_ON_CONTEXT_DOCUMENT

    public static final int DEPENDS_ON_CONTEXT_DOCUMENT

  Bit setting: Expression depends on the document containing the context node

  See Also:
    Constant Field Values

### DEPENDS_ON_CURRENT_GROUP

    public static final int DEPENDS_ON_CURRENT_GROUP

  Bit setting: Expression depends on current-group() and/or current-grouping-key()

  See Also:
    Constant Field Values

### DEPENDS_ON_REGEX_GROUP

    public static final int DEPENDS_ON_REGEX_GROUP

  Bit setting: Expression depends on regex-group()

  See Also:
    Constant Field Values

### DEPENDS_ON_LOCAL_VARIABLES

    public static final int DEPENDS_ON_LOCAL_VARIABLES

  Bit setting: Expression depends on local variables

  See Also:
    Constant Field Values

### DEPENDS_ON_USER_FUNCTIONS

    public static final int DEPENDS_ON_USER_FUNCTIONS

  Bit setting: Expression depends on user-defined functions

  See Also:
    Constant Field Values

### DEPENDS_ON_ASSIGNABLE_GLOBALS

    public static final int DEPENDS_ON_ASSIGNABLE_GLOBALS

  Bit setting: Expression depends on assignable global variables

  See Also:
    Constant Field Values

### DEPENDS_ON_RUNTIME_ENVIRONMENT

    public static final int DEPENDS_ON_RUNTIME_ENVIRONMENT

  Bit setting: Expression can't be evaluated at compile time for reasons other than the above

  See Also:
    Constant Field Values

### DEPENDS_ON_XSLT_CONTEXT

    public static final int DEPENDS_ON_XSLT_CONTEXT

  Combination of bits representing dependencies on the XSLT context

  See Also:
    Constant Field Values

### DEPENDS_ON_FOCUS

    public static final int DEPENDS_ON_FOCUS

  Combination of bits representing dependencies on the focus

  See Also:
    Constant Field Values

### DEPENDS_ON_NON_DOCUMENT_FOCUS

    public static final int DEPENDS_ON_NON_DOCUMENT_FOCUS

  Combination of bits representing dependencies on the focus, but excluding dependencies on the current document

  See Also:
    Constant Field Values

### ALLOWS_ZERO

    public static final int ALLOWS_ZERO

See Also:
  Constant Field Values

### ALLOWS_ONE

    public static final int ALLOWS_ONE

  Bit set if a single value is allowed

  See Also:
    Constant Field Values

### ALLOWS_MANY

    public static final int ALLOWS_MANY

  Bit set if multiple values are allowed

  See Also:
    Constant Field Values

### CARDINALITY_MASK

    public static final int CARDINALITY_MASK

  Mask for all cardinality bits

  See Also:
    Constant Field Values

### ALLOWS_ONE_OR_MORE

    public static final int ALLOWS_ONE_OR_MORE

  Occurence indicator for "one or more" (+)

  See Also:
    Constant Field Values

### ALLOWS_ZERO_OR_MORE

    public static final int ALLOWS_ZERO_OR_MORE

  Occurence indicator for "zero or more" (*)

  See Also:
    Constant Field Values

### ALLOWS_ZERO_OR_ONE

    public static final int ALLOWS_ZERO_OR_ONE

  Occurence indicator for "zero or one" (?)

  See Also:
    Constant Field Values

### EXACTLY_ONE

    public static final int EXACTLY_ONE

  Occurence indicator for "exactly one" (default occurrence indicator)

  See Also:
    Constant Field Values

### EMPTY

    public static final int EMPTY

  Occurence indicator when an empty sequence is required

  See Also:
    Constant Field Values

### CONTEXT_DOCUMENT_NODESET

    public static final int CONTEXT_DOCUMENT_NODESET

  Expression property: this bit is set by getProperties() in the case of an expression whose item type is node, when the nodes in the result are guaranteed all to be in the same document as the context node. For expressions that return values other than nodes, the setting is undefined.

  See Also:
    Constant Field Values

### ORDERED_NODESET

    public static final int ORDERED_NODESET

  Expression property: this bit is set by getProperties() in the case of an expression whose item type is node, when the nodes in the result are in document order.

  See Also:
    Constant Field Values

### REVERSE_DOCUMENT_ORDER

    public static final int REVERSE_DOCUMENT_ORDER

  Expression property: this bit is set by getProperties() in the case of an expression that delivers items in the reverse of the correct order, when unordered retrieval is requested.

  See Also:
    Constant Field Values

### PEER_NODESET

    public static final int PEER_NODESET

  Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that no node in the set will be an ancestor of any other. This property is useful in deciding whether the results of a path expression are pre-sorted. The property is only used in the case where the NATURALLY_SORTED property is true, so there is no point in setting it in other cases.

  See Also:
    Constant Field Values

### SUBTREE_NODESET

    public static final int SUBTREE_NODESET

  Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that every node in the result will be a descendant or self, or attribute or namespace, of the context node

  See Also:
    Constant Field Values

### ATTRIBUTE_NS_NODESET

    public static final int ATTRIBUTE_NS_NODESET

  Expression property: this bit is set by getProperties() in the case of an expression that delivers a set of nodes with the guarantee that every node in the result will be an attribute or namespace of the context node

  See Also:
    Constant Field Values

### NON_CREATIVE

    public static final int NON_CREATIVE

  Expression property: this bit is set in the case of an expression that will never return newly created nodes, nor a value that depends on the identity of newly created nodes (for example generate-id(new-node())). Expressions that do create new nodes cannot be moved out of loops as this could cause too few nodes to be created: for example if f() creates a new node, then count(for $i in 1 to 5 return f()) must be 5.

  See Also:
    Constant Field Values

### SINGLE_DOCUMENT_NODESET

    public static final int SINGLE_DOCUMENT_NODESET

  Expression property: this bit is set in the case of an expression that delivers a set of nodes that are all in the same document (not necessarily the same document as the context node).

  See Also:
    Constant Field Values

### HAS_SIDE_EFFECTS

    public static final int HAS_SIDE_EFFECTS

  Expression property: this bit indicates that an expression has (or might have) side-effects. This property is applied to calls on extension functions and to certain instructions such as xsl:result-document and xsl:message.

  See Also:
    Constant Field Values

### NOT_UNTYPED

    public static final int NOT_UNTYPED

  Expression property: this bit indicates that although the static type of the expression permits untyped values, it is known that the value will not be untyped.

  See Also:
    Constant Field Values

### DEPENDENCY_MASK

    public static final int DEPENDENCY_MASK

  Mask to select all the dependency bits

  See Also:
    Constant Field Values

### SPECIAL_PROPERTY_MASK

    public static final int SPECIAL_PROPERTY_MASK

  Mask for "special properties": that is, all properties other than cardinality and dependencies

  See Also:
    Constant Field Values

Method Detail

### getCardinalityCode

    public static int getCardinalityCode(int cardinality)

  Reduce the cardinality value to an integer in the range 0-7

  Parameters:
    `cardinality` - the result of calling getCardinality() on an expression
  Returns:
    the cardinality code

### getCardinalityDescription

    public static java.lang.String getCardinalityDescription(int cardinality)

  Display the cardinality value as a string (used for diagnostics)

  Parameters:
    `cardinality` - the cardinality as returned by getCardinality() applied to an expression
  Returns:
    a string describing the cardinality

Copyright (c) Saxonica Limited. All rights reserved.