Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
XTDE0640
A stylesheet must have no circularities
This describes a range of conditions, for example a global variable being defined in terms of itself, a key being defined in terms of itself, or a global variable being set by calling a function that references the global variable. XSLT processors must detect such errors, either at compile time or at runtime.
XTDE0700
When a template has a parameter that specifies
required=“yes”
, the caller must supply a value
XTDE0820
The name attribute of
xsl:element
must evaluate to a valid lexical QName
In XSLT 1.0 processors were allowed to ignore this error and continue without creating the offending element. In 2.0 it is fatal and must be reported.
XTDE0830
When
xsl:element
has no
namespace
attribute, the QName produced by evaluating the
name
attribute must use a prefix that has been declared in the stylesheet
This is true even if the name is computed at runtime. It's safest to specify the
namespace
attribute on
XTDE0835
The
namespace
attribute of
xsl:element
must evaluate to a valid
xs:anyURI
This is a change from XSLT 1.0, which specifically allowed you to use any string as a namespace name. However, the rules for what is a valid
xs:anyURI
are fairly liberal.
XTDE0850
The
name
attribute of
xsl:attribute
must evaluate to a valid lexical QName
See XTDE0820.
XTDE0855
The
name
attribute of
xsl:attribute
must not evaluate to
xmlns.
You can't use
XTDE0860
When
xsl:attribute
has no
namespace
attribute, the QName produced by evaluating the
name
attribute must use a prefix that has been declared
See XTDE0830.
XTDE0865
The
namespace
attribute of
xsl:attribute
must evaluate to a valid
xs:anyURI.
See XTDE0835.
XTDE0905
The
name
attribute of
xsl:processing-instruction
must evaluate to a valid processing instruction name
The name must be a valid
NCName
(no colon allowed), and it must not be
xml
in any combination of upper and lower case. (The XML declaration is not a processing instruction. To control the XML declaration in the result document, use the various attributes of
XTDE0920
The
name
attribute of
xsl:namespace
must evaluate to either a zero-length string or a valid
NCName
other than
xmlns
.
To generate
xmlns=“abc”
, the
name
attribute should be a zero-length string; to generate
xmlns:pfx=“abc”
, it should be
“pfx”
.
XTDE0925
In the result of
xsl:namespace
, the prefix
xml
can be used only with the XML namespace, and vice versa
The XML namespace is automatically in-scope on every element, so you never need to generate it.
XTDE0930
In the result of
xsl:namespace
, the namespace URI must not be a zero-length string
The instruction generates a namespace node, not a namespace declaration or undeclaration. To force a namespace undeclaration to appear, use
[xsl:]inherit-namespaces=“no”
when creating the element, with