It is a static error if analysis of an expression relies on some component of the static context that is absentDM31 .
It is a dynamic error if evaluation of an expression relies on some part of the dynamic context that is absentDM31 .
It is a static error if an expression is not a valid instance of the grammar defined in A.1 EBNF.
It is a type error if, during the static analysis phase, an expression is found to have a static type that is not appropriate for the context in which the expression occurs, or during the dynamic evaluation phase, the dynamic type of a value does not match a required type as specified by the matching rules in 3.5 Sequence Type Matching.
During the analysis phase, it is a static
error if the static type assigned
to an expression other than the expression ()
or data(())
is
empty-sequence()
.
It is a static error if an expression refers to an element name, attribute name, schema type name, namespace prefix, or variable name that is not defined in the static context, except for an ElementName in an ElementTest or an AttributeName in an AttributeTest.
An implementation that does not support the Schema Aware Feature must raise a static error if a Prolog contains a schema import.
It is a static error if the set of definitions contained in all schemas imported by a Prolog do not satisfy the conditions for schema validity specified in Sections 3 and 5 of Part 1 of [XML Schema 1.0] or [XML Schema 1.1] --i.e., each definition must be valid, complete, and unique.
It is a static error if an implementation recognizes a pragma but determines that its content is invalid.
An implementation that does not support the Module Feature raises a static error if it encounters a module declaration or a module import.
It is a static error if the expanded QName and number of arguments in a static function call do not match the name and arity range of a function definition in the static context.
It is a type error if the result of a path operator contains both nodes and non-nodes.
It is a type error if E1
in a path
expression E1/E2
does not evaluate to a sequence of nodes.
It is a type error if, in an axis step, the context item is not a node.
It is a static error if a namespace declaration attribute contains an EnclosedExpr.
It is a type error if the content sequence in an element constructor contains an attribute node following a node that is not an attribute node.
It is a dynamic error if any attribute of a constructed element does not have a name that is distinct from the names of all other attributes of the constructed element.
It is a dynamic error if the result of the
content expression of a computed processing instruction constructor contains the string
"?>
".
In a validate expression, it is a dynamic
error if the root element information item in the PSVI resulting from
validation does not have the expected validity property: valid
if
validation mode is strict
, or either valid
or
notKnown
if validation mode is lax
.
It is a type error if the argument of a
validate
expression does not evaluate to exactly one document or element
node.
It is a static error if the version number specified in a version declaration is not supported by the implementation.
A static error is raised if a Prolog contains more than one base URI declaration.
It is a static error if a module contains multiple bindings for the same namespace prefix.
It is a static error if multiple functions declared or imported by a module have the same expanded QName and overlapping arity ranges (the arity range of a function declaration is M to M+N, where M is the number of required parameters and N is the number of optional parameters).
It is a static error to import two schema components that both define the same name in the same symbol space and in the same scope.
It is a static error if a Prolog contains more than one default collation declaration, or the value specified by a default collation declaration is not present in statically known collations.
It is a static error for a function declaration or an inline function expression to have more than one parameter with the same name.
It is a static error if the attributes specified by a direct element constructor do not have distinct expanded QNames.
It is a dynamic error if the value of the
name expression in a computed processing instruction constructor cannot be cast to the
type xs:NCName
.
It is a dynamic error the node-name of a node constructed by a computed attribute constructor has any of the following properties:
Its namespace prefix is xmlns
.
It has no namespace prefix and its local name is xmlns
.
Its namespace URI is http://www.w3.org/2000/xmlns/
.
Its namespace prefix is xml
and its namespace URI is not
http://www.w3.org/XML/1998/namespace
.
Its namespace prefix is other than xml
and its namespace URI is
http://www.w3.org/XML/1998/namespace
.
It is a static error if the name of a variable annotation, a function annotation, or the function name in a function declaration is in a reserved namespace.
An implementation MAY raise a static error if the value of a URILiteral or a BracedURILiteral is of nonzero length and is neither an absolute URI nor a relative URI.
It is a static error if multiple module imports in the same Prolog specify the same target namespace.
It is a static error if a function or variable declared in a library module is not in the target namespace of the library module.
It is a static error if two or more variables
declared or imported by a module have equal expanded QNames (as defined by the eq
operator.)
It is a dynamic error if the dynamic type of the operand of a treat
expression does not match the sequence type
specified by the treat
expression. This error might also be raised by a
path expression beginning with "/
" or "//
" if the context node
is not in a tree that is rooted at a document node. This is because a leading
"/
" or "//
" in a path expression is an abbreviation for an
initial step that includes the clause treat as document-node()
.
It is a static error if an expanded QName used as an ItemType in a SequenceType is not defined in the static context either as a type alias or as a generalized atomic type in the in-scope schema types.
The type named in a cast or castable expression must be the name of a type defined in the in-scope
schema types, and the type must be
simple
.
It is a dynamic error if a cycle is encountered in the definition of a module's dynamic context components, for example because of a cycle in variable declarations.
It is a static error if a Prolog contains more than one copy-namespaces declaration.
It is a static error if a schema import binds a namespace prefix but does not specify a target namespace other than a zero-length string.
It is a static error if multiple schema imports specify the same target namespace.
It is a static error if an implementation is unable to process a schema or module import by finding a schema or module with the specified target namespace.
It is a static error if the name of a function in a function declaration is not in a namespace (expanded QName has a null namespace URI).
It is a dynamic error if the operand of a validate expression is a document node whose children do not consist of exactly one element node and zero or more comment and processing instruction nodes, in any order.
It is a dynamic error if the value of the name expression in a computed processing instruction constructor is equal to "XML" (in any combination of upper and lower case).
A static error is raised if a Prolog contains more than one ordering mode declaration.
A static error is raised if a Prolog contains more than one default element/type namespace declaration, or more than one default function namespace declaration.
A static error is raised if a Prolog contains more than one construction declaration.
A static error is raised if a Prolog contains more than one boundary-space declaration.
A static error is raised if a Prolog contains more than one empty order declaration.
A static error is raised if one of the
predefined prefixes xml
or xmlns
appears in a namespace
declaration or a default namespace declaration, or if any of
the following conditions is statically detected in any expression or declaration:
The prefix xml
is bound to some namespace URI other than
http://www.w3.org/XML/1998/namespace
.
A prefix other than xml
is bound to the namespace URI
http://www.w3.org/XML/1998/namespace
.
The prefix xmlns
is bound to any namespace URI.
A prefix other than xmlns
is bound to the namespace URI
http://www.w3.org/2000/xmlns/
.
A static error is raised if the namespace declaration attributes of a direct element constructor do not have distinct names.
It is a dynamic error if the result of the content expression of a computed comment constructor contains two adjacent hyphens or ends with a hyphen.
It is a dynamic error if the value of the name expression in a computed element or attribute constructor cannot be converted to an expanded QName (for example, because it contains a namespace prefix not found in statically known namespaces.)
An implementation that does not support the Schema Aware Feature
must raise a static error if it encounters a validate
expression.
It is a static error if a
collation
subclause in an order by
or group by
clause of a FLWOR
expression does not identify a collation that is present in statically known collations.
It is a static error if an extension expression contains neither a pragma that is recognized by the implementation nor an expression enclosed in curly braces.
It is a static error if the target type of a
cast
or castable
expression is
xs:NOTATION
,
xs:anySimpleType
, or
xs:anyAtomicType
.
It is a static error if a QName used in a query contains a namespace prefix that cannot be expanded into a namespace URI by using the statically known namespaces.
It is a dynamic error if the element
validated by a validate
statement does not have a top-level element
declaration in the in-scope element declarations,
if validation mode is strict
.
It is a static error if the namespace URI in a namespace declaration attribute is a zero-length string, and the implementation does not support [XML Names 1.1].
It is a type error if the typed value of a
copied element or attribute node is namespace-sensitive when construction
mode is preserve
and copy-namespaces mode is no-preserve
.
It is a static error if the encoding specified
in a Version Declaration does not conform to the definition of EncName
specified in [XML 1.0].
It is a static error if the literal that specifies the target namespace in a module import or a module declaration is of zero length.
It is a static error if a variable bound in a
for
or window
clause of a FLWOR expression, and its
associated positional variable, do not have distinct names (expanded QNames).
It is a static error if a character reference does not identify a valid character in the version of XML that is in use.
An implementation MAY raise a dynamic error if an xml:id
error, as
defined in [XML ID], is encountered during construction of an attribute
named xml:id
.
An implementation MAY raise a dynamic error if a constructed attribute named
xml:space
has a value other than preserve
or
default
.
The name of each grouping variable must be equal (by the eq
operator on
expanded QNames) to the name of a variable
in the input tuple stream.
It is a dynamic error if the node-name of a node constructed by a computed element constructor has any of the following properties:
Its namespace prefix is xmlns
.
Its namespace URI is http://www.w3.org/2000/xmlns/
.
Its namespace prefix is xml
and its namespace URI is not
http://www.w3.org/XML/1998/namespace
.
Its namespace prefix is other than xml
and its namespace URI is
http://www.w3.org/XML/1998/namespace
.
It is a static error for a decimal-format to specify a value that is not valid for a given property, as described in statically known decimal formats
It is a static error if, for any named or unnamed decimal format, the properties representing characters used in a picture string do not each have distinct values. The following properties represent characters used in a picture string: decimal-separator, exponent-separator, grouping-separator, percent, per-mille, the family of ten decimal digits starting with zero-digit, digit, and pattern-separator.
No module may contain more than one ContextItemDecl.
An error is raised if a computed namespace constructor attempts to do any of the following:
Bind the prefix xml
to some namespace URI other than
http://www.w3.org/XML/1998/namespace
.
Bind a prefix other than xml
to the namespace URI
http://www.w3.org/XML/1998/namespace
.
Bind the prefix xmlns
to any namespace URI.
Bind a prefix to the namespace URI http://www.w3.org/2000/xmlns/
.
Bind any prefix (including the empty prefix) to a zero-length namespace URI.
In an element constructor, if two or more namespace bindings in the in-scope bindings would have the same prefix, then an error is raised if they have different URIs; if they would have the same prefix and URI, duplicate bindings are ignored.
If the name of an element in an element constructor is in no namespace, creating a default namespace for that element using a computed namespace constructor is an error.
All variables in a window
clause must have distinct names.
A TypeName that is specified in a validate
expression must be found in the in-scope schema
definitions
It is a type error if the content sequence in an element constructor contains a function .
It is a static error if a function
declaration contains both a %private
and a %public
annotation.
It is a static error if an output declaration occurs in a library module.
It is a static error if the local name of an
output declaration in the http://www.w3.org/2010/xslt-xquery-serialization
namespace is not one of the serialization parameter names listed in C.1 Static Context Components, or if the name of an
output declaration is use-character-maps
.
It is a static error if the same serialization parameter is used more than once in an output declaration.
It is a static error for a query prolog to contain two decimal formats with the same name, or to contain two default decimal formats.
Specifying a VarValue or VarDefaultValue for a context item declaration in a library module is a static error.
It is a static error for a decimal format declaration to define the same property more than once.
It is a static error if the document specified by the option "http://www.w3.org/2010/xslt-xquery-serialization":parameter-document raises a serialization error.
It is a static error
if a variable declaration contains both a %private
and a
%public
annotation, more than one %private
annotation,
or more than one %public
annotation.
When applying the function conversion rules, if an item is of type xs:untypedAtomic
and the
expected type is namespace-sensitive, a
type error
[err:XPTY0117] is raised.
In a direct element constructor, the name used in the end tag must exactly match the name used in the corresponding start tag, including its prefix or absence of a prefix.
It is a static error if the implementation is not able to process the value of an
output:parameter-document
declaration to produce an XDM instance.
It is a static error if an inline function
expression is annotated as %public
or
%private
.
An implementation that does not provide the Higher-Order Function Feature MUST raise a static error [err:XQST0129] if it encounters a FunctionTest, dynamic function call, named function reference, inline function expression, or partial function application.
An implementation-dependent limit has been exceeded.
The namespace axis is not supported.
No two keys in a map may have the same key value.
It is a static error if a self-reference
within a RecordTest
appears as the type of a field declaration that is not
optional and not emptiable.
In a static function call, every required parameter in the corresponding function definition must be matched to exactly one argument in the function call, and every optional parameter in the corresponding function definition must be matched to zero or one arguments in the function call.
In a static function call, every keyword used in a KeywordArgument (after expansion to a QName) must match the name of a parameter in the corresponding function definition.