net.sf.saxon.value

Class Cardinality

public final class Cardinality extends Object

This class contains static methods to manipulate the cardinality property of a type. Cardinality of expressions is denoted by one of the values ONE_OR_MORE, ZERO_OR_MORE, ZERO_OR_ONE, EXACTLY_ONE, or EMPTY. These are combinations of the three bit-significant values ALLOWS_ZERO, ALLOWS_ONE, and ALLOWS_MANY.
Method Summary
static intadd(int c1, int c2)
Add two cardinalities
static booleanallowsMany(int cardinality)
Determine whether multiple occurrences are allowed
static booleanallowsZero(int cardinality)
Determine whether empty sequence is allowed
static StringgetOccurrenceIndicator(int cardinality)
Get the occurence indicator representing the cardinality
static intmultiply(int c1, int c2)
Multiply two cardinalities
static booleansubsumes(int c1, int c2)
Test if one cardinality subsumes another.
static intsum(int c1, int c2)
Form the sum of two cardinalities
static StringtoString(int cardinality)
Display the cardinality
static intunion(int c1, int c2)
Form the union of two cardinalities.

Method Detail

add

public static final int add(int c1, int c2)
Add two cardinalities

allowsMany

public static final boolean allowsMany(int cardinality)
Determine whether multiple occurrences are allowed

allowsZero

public static final boolean allowsZero(int cardinality)
Determine whether empty sequence is allowed

getOccurrenceIndicator

public static String getOccurrenceIndicator(int cardinality)
Get the occurence indicator representing the cardinality

multiply

public static final int multiply(int c1, int c2)
Multiply two cardinalities

subsumes

public static final boolean subsumes(int c1, int c2)
Test if one cardinality subsumes another. Cardinality c1 subsumes c2 if every option permitted by c2 is also permitted by c1.

Parameters: c1 a cardinality c2 another cardinality

Returns: true if if every option permitted by c2 is also permitted by c1.

sum

public static final int sum(int c1, int c2)
Form the sum of two cardinalities

toString

public static String toString(int cardinality)
Display the cardinality

union

public static final int union(int c1, int c2)
Form the union of two cardinalities. The cardinality of the expression "if (c) then e1 else e2" is the union of the cardinalities of e1 and e2.

Parameters: c1 a cardinality c2 another cardinality

Returns: the cardinality that allows both c1 and c2