anchor.diff:  msg('XQST0038') -> "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.";
   msg('XQST0039') -> "It is a static error for a function declaration or an inline function expression to have more than one parameter with the same name.";
   msg('XQST0040') -> "It is a static error if the attributes specified by a direct element constructor do not have distinct expanded QNames.";
  +msg('XQDY0041') -> "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.";
  +msg('XQDY0044') -> "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.";
   msg('XQST0045') -> "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.";
   msg('XQST0046') -> "An implementation MAYMAY raise a static error if the value of a URILiteral or a BracedURILiteral is of nonzero length and is not in the lexical space of xs:anyURIneither an absolute URI nor a relative URI.";
   msg('XQST0047') -> "It is a static error if multiple module imports in the same Prolog specify the same target namespace.";
   msg('XQST0048') -> "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.";
   msg('XQST0049') -> "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.)";
  +msg('XPDY0050') -> "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().";
   msg('XPST0051') -> "It is a static error if the expanded QName for an AtomicOrUnionType in a SequenceType is not defined in the in-scope schema types as a generalized atomic type.";
   msg('XQST0052') -> "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{variety} of the type must be simple.";
  +msg('XQDY0054') -> "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.";
   msg('XQST0055') -> "It is a static error if a Prolog contains more than one copy-namespaces declaration.";
   msg('XQST0057') -> "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.";
   msg('XQST0058') -> "It is a static error if multiple schema imports specify the same target namespace.";
   msg('XQST0059') -> "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.";
   msg('XQST0060') -> "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).";
  +msg('XQDY0061') -> "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.";
  +msg('XQDY0064') -> "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).";
   msg('XQST0065') -> "A static error is raised if a Prolog contains more than one ordering mode declaration.";
   msg('XQST0066') -> "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.";
   msg('XQST0067') -> "A static error is raised if a Prolog contains more than one construction declaration.";
  
positive.code: 
  %% 2.3 XQuery and XPath
  
  msg('XPDY0002') -> "It is a dynamic error if evaluation of an expression relies on some part of the dynamic context that has not been assigned a valueis .";
  msg('XQDY0025') -> "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.";
  msg('XQDY0026') -> "It is a dynamic error if the result of the content expression of a computed processing instruction constructor contains the string \"?>\".";
  msg('XQDY0027') -> "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.";
  msg('XQDY0041') -> "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.";
  msg('XQDY0044') -> "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.";
  msg('XPDY0050') -> "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().";
  msg('XQDY0054') -> "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.";
  msg('XQDY0061') -> "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.";
  msg('XQDY0064') -> "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).";
  msg('XQDY0072') -> "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.";
  msg('XQDY0074') -> "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.)";
  msg('XQDY0084') -> "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.";
  msg('XQDY0091') -> "An implementation MAY raise a dynamic error if an xml:id error, as defined in , is encountered during construction of an attribute named xml:id.";
  msg('XQDY0092') -> "An implementation MAY raise a dynamic error if a constructed attribute named xml:space has a value other than preserve or default.";
  msg('XQDY0096') -> "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.";
  msg('XQDY0101') -> "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.";
  msg('XQDY0102') -> "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.";
  msg('XPDY0130') -> "An implementation-dependent limit has been exceeded.";
  msg('XPDY0137') -> "No two keys in a map may have the same key value.";
  msg('XPST0001') -> "It is a static error if analysis of an expression relies on some component of the static context that has not been assigned a valueis .";
  msg('XPST0003') -> "It is a static error if an expression is not a valid instance of the grammar defined in .";
  msg('XPST0005') -> "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().";
  msg('XPST0008') -> "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.";
  msg('XQST0009') -> "An implementation that does not support the Schema Aware Feature must raise a static error if a Prolog contains a schema import.";
  msg('XPST0010') -> "An implementation that does not support the namespace axis must raise a static error if it encounters a reference to the namespace axis and XPath 1.0 compatibility mode is false.";
  msg('XQST0012') -> "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 or --i.e., each definition must be valid, complete, and unique.";
  msg('XQST0013') -> "It is a static error if an implementation recognizes a pragma but determines that its content is invalid.";
  msg('XQST0016') -> "An implementation that does not support the Module Feature raises a static error if it encounters a module declaration or a module import.";
  msg('XPST0017') -> "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 of a function signature in the static context.";
  msg('XQST0022') -> "It is a static error if the value of a namespace declaration attribute is not a URILiteral.contains an EnclosedExpr.";
  msg('XQST0031') -> "It is a static error if the version number specified in a version declaration is not supported by the implementation.";
  msg('XQST0032') -> "A static error is raised if a Prolog contains more than one base URI declaration.";
  msg('XQST0033') -> "It is a static error if a module contains multiple bindings for the same namespace prefix.";
  
negative.code: msg('XQST0114') -> "It is a static error for a decimal format declaration to define the same property more than once.";
  msg('XQST0115') -> "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.";
  msg('XQST0116') -> "It is a static error if a variable declaration's annotations contain more than one annotation named %private or %public. if a variable declaration contains both a %private and a %public annotation, more than one %private annotation, or more than one %public annotation.";
  msg('XPTY0117') -> "When applying the function conversion rules, if an item is of type xs:untypedAtomic and the expected type is namespace-sensitive, a type error is raised.";
  msg('XQST0118') -> "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.";
  msg('XQST0119') -> "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.";
  msg('XQST0125') -> "It is a static error if an inline function expression is annotated as %public or %private.";
  msg('XQST0129') -> "An implementation that does not provide the Higher-Order Function Feature MUST raise a static error if it encounters a FunctionTest, dynamic function call, named function reference, inline function expression, or partial function application.";
  msg('XPDY0130') -> "An implementation-dependent limit has been exceeded.";
  msg('XQST0134') -> "The namespace axis is not supported.";
  msg('XQDY0137') -> "No two keys in a map may have the same key value.";
  
  
  %% 2.4 Serialization
  
  