Notation |
Meaning |
s |
ranges over strings; a string is a sequence
of zero or more Unicode scalar values |
"" |
represents an empty string |
split( s ) |
returns a sequence of strings one for each whitespace delimited token
of s
|
ln |
ranges over local names (NCNames, names without
prefixes) |
u |
ranges over URIs |
name( u, ln ) |
constructs an (expanded) name with URI u and local name ln
|
n |
ranges over expanded names |
nc |
ranges over name classes |
n in nc |
asserts that name n is a member of name class nc
|
attribute( n, s ) |
constructs an attribute with name n
and value s
|
a |
ranges over bags (unordered collections) of
attributes; a bag with a single member is considered the same as that
member |
{ } |
represents an empty bag |
a1 + a2 |
represents the bag union of a1
and a2 (the number of occurrences of any member
of
a1 + a2
is the sum of the number of its occurrences in a1
and a2)
|
ns |
ranges over namespace maps;
a namespace map is a mapping from namespace prefixes to URIs |
ns() |
represents an empty namespace
map |
params |
ranges over sequences of parameters |
datatypeAllows(u, ln, params, s, ns) |
asserts that in the datatype library identified by URI u, the string s interpreted in the
context of the namespace map ns is a legal
value of datatype ln with parameters params |
datatypeEqual(u, ln, s1, ns1, s2, ns2) |
asserts that in the datatype library identified by URI u,
string s1 interpreted in the context
of the namespace map ns1
represents the same value of the datatype ln
as the string s2 interpreted in the context of
ns2
|
m |
ranges over sequences of elements
and strings; a sequence with a single member is considered
the same as that member |
normalized(m) |
asserts that the mixed sequence m is normalized: it
does not contain any member that is an empty string, nor does it
contain two consecutive members that are both strings
|
element( n, ns, a, m ) |
constructs an element with name n,
namespace map ns,
attributes a
and mixed sequence m as children
|
element |
ranges over elements |
m1, m2 |
represents the concatenation of the sequences m1 and m2
|
( ) |
represents an empty sequence |
v |
ranges over strings and the empty sequence;
this is a subset of the range of m |
toString( v ) |
returns an empty string if v is the empty sequence
and otherwise returns v |
stripSpace( m ) |
returns the sequence m after removing any
member that is a string consisting entirely of whitespace
|
m1 interleaves m2; m3 |
asserts that m1
is an interleaving of m2
and m3
|
key( ln1, u, ln2, s, ns ) |
constructs a key in symbol space ln1
with datatype ln2
in the datatype library u
with lexical value s
interpreted with respect to namespace map ns
|
k |
ranges over bags of keys |
keyConflict(k) |
asserts that there are conflicting keys in the unordered collection
of keys k
|
k1 subset k2 |
asserts that k1
is a subset of k2
|
keyref( ln1, u, ln2, s, ns ) |
constructs a key reference in symbol space ln1
with datatype ln2
in the datatype library u
with lexical value s
interpreted with respect to namespace map ns
|
kr |
ranges over bags of key
references |
keyComplete(k, kr) |
asserts that the collection of keys k
has a key that satisfies every key reference in
the collection of key references kr
|
p |
ranges over patterns |
{ns} |
within the start-tag of a pattern refers to the namespace map
of the pattern element
|
valid(element, p) |
asserts that the element element is valid with respect to the
pattern p
|
env() |
constructs an empty environment
|
defs |
ranges over sequences of definitions |
env( defs, E ) |
constructs an environment with definitions defs
and parent environment E
|
E |
ranges over environments |
E.ln = p |
asserts that in environment E, local name
ln is bound to pattern p
|
E; ns |- a; m =~ p => k; kr |
asserts that in the context of the environment E and
namespace map ns, the attributes a and the sequence of elements and strings m matches the pattern p generating
the collection of keys k and key references kr
|