net.sf.saxon.expr

Class 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_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
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 String
getCardinalityDescription(int cardinality)
Display the cardinality value as a string (used for diagnostics)

Field Details

ALLOWS_MANY

public static final int ALLOWS_MANY
Bit set if multiple values are allowed
Field Value:
32768

ALLOWS_ONE

public static final int ALLOWS_ONE
Bit set if a single value is allowed
Field Value:
16384

ALLOWS_ONE_OR_MORE

public static final int ALLOWS_ONE_OR_MORE
Occurence indicator for "one or more" (+)
Field Value:
49152

ALLOWS_ZERO

public static final int ALLOWS_ZERO
Field Value:
8192

ALLOWS_ZERO_OR_MORE

public static final int ALLOWS_ZERO_OR_MORE
Occurence indicator for "zero or more" (*)
Field Value:
57344

ALLOWS_ZERO_OR_ONE

public static final int ALLOWS_ZERO_OR_ONE
Occurence indicator for "zero or one" (?)
Field Value:
24576

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
Field Value:
2097152

CARDINALITY_MASK

public static final int CARDINALITY_MASK
Mask for all cardinality bits
Field Value:
57344

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.
Field Value:
65536

DEPENDENCY_MASK

public static final int DEPENDENCY_MASK
Mask to select all the dependency bits

DEPENDS_ON_ASSIGNABLE_GLOBALS

public static final int DEPENDS_ON_ASSIGNABLE_GLOBALS
Bit setting: Expression depends on assignable global variables
Field Value:
512

DEPENDS_ON_CONTEXT_DOCUMENT

public static final int DEPENDS_ON_CONTEXT_DOCUMENT
Bit setting: Expression depends on the document containing the context node
Field Value:
16

DEPENDS_ON_CONTEXT_ITEM

public static final int DEPENDS_ON_CONTEXT_ITEM
Bit setting: Expression depends on context item
Field Value:
2

DEPENDS_ON_CURRENT_GROUP

public static final int DEPENDS_ON_CURRENT_GROUP
Bit setting: Expression depends on current-group() and/or current-grouping-key()
Field Value:
32

DEPENDS_ON_CURRENT_ITEM

public static final int DEPENDS_ON_CURRENT_ITEM
Bit setting: Expression depends on current() item
Field Value:
1

DEPENDS_ON_FOCUS

public static final int DEPENDS_ON_FOCUS
Combination of bits representing dependencies on the focus

DEPENDS_ON_LAST

public static final int DEPENDS_ON_LAST
Bit setting: Expression depends on last()
Field Value:
8

DEPENDS_ON_LOCAL_VARIABLES

public static final int DEPENDS_ON_LOCAL_VARIABLES
Bit setting: Expression depends on local variables
Field Value:
128

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
Field Value:
14

DEPENDS_ON_POSITION

public static final int DEPENDS_ON_POSITION
Bit setting: Expression depends on position()
Field Value:
4

DEPENDS_ON_REGEX_GROUP

public static final int DEPENDS_ON_REGEX_GROUP
Bit setting: Expression depends on regex-group()
Field Value:
64

DEPENDS_ON_USER_FUNCTIONS

public static final int DEPENDS_ON_USER_FUNCTIONS
Bit setting: Expression depends on user-defined functions
Field Value:
256

DEPENDS_ON_XSLT_CONTEXT

public static final int DEPENDS_ON_XSLT_CONTEXT
Combination of bits representing dependencies on the XSLT context
Field Value:
609

EMPTY

public static final int EMPTY
Occurence indicator when an empty sequence is required
Field Value:
8192

EXACTLY_ONE

public static final int EXACTLY_ONE
Occurence indicator for "exactly one" (default occurrence indicator)
Field Value:
16384

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.
Field Value:
16777216

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.
Field Value:
4194304

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.
Field Value:
131072

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.
Field Value:
524288

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.
Field Value:
262144

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).
Field Value:
8388608

SPECIAL_PROPERTY_MASK

public static final int SPECIAL_PROPERTY_MASK
Mask for "special properties": that is, all properties other than cardinality and dependencies
Field Value:
33488896

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
Field Value:
1048576

Method Details

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