XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (770 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
10.34Mb size Format: txt, pdf, ePub

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

to avoid this error occuring.

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

to create namespace declarations. Usually, namespace declarations take care of themselves if you specify the right namespace when creating your elements. On the rare occasions that you need to generate namespaces by hand, 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

.

Other books

Out of Season by Kari Jones
Final Jeopardy by Stephen Baker
Cowboy Jackpot: Christmas by Randi Alexander
Then You Hide by Roxanne St. Claire
Heaven with a Gun by Connie Brockway
The Forbidden Heart by V.C. Andrews
The Beach by Cesare Pavese
Panhandle by Brett Cogburn