Glossary
- absolute location path
-
A location path that begins with /, followed by one or more location steps separated by /. All location paths that begin with / are evaluated from the root node, so they always return the same result, regardless of the context node. Compare with location path and relative location path.
- ancestor
-
A node that appears above a given node. Ancestors include a node's parent, its parent's parent, its parent's parent's parent, etc. XPath also defines the ancestor axis, which includes a node's parent, its parent's parent, its parent's parent's parent, etc., but not the node itself. Contrast with parent.
- attribute node
-
The XPath node type that represents an attribute from an XML document. Attributes are different from other nodes because an attribute node is not considered a child of the element node that contains it. Despite this fact, the element node is considered the parent of the attribute node.
- attribute set
-
A named group of attributes. You can create an attribute set (with the <xsl:attribute-set> element), then reference that attribute set elsewhere. For more information, see the description of the <xsl:attribute-set> element in Appendix A, "XSLT Reference".
- attribute value template
-
An expression that contains an XPath expression in
curly braces ({}). The XPath expression
is evaluated at runtime, and its value replaces the
expression. For an example of an attribute value template,
see the discussion of the
<xsl:attribute> element in Appendix A, "XSLT Reference"; Chapter 3, "XPath: A Syntax for Describing Needles and Haystacks" contains a complete
discussion of attribute value templates.
- axis
-
A relationship between the context node and other nodes in the document. XPath defines 13 different axes; see Section 3.2.6, "Axes" in Chapter 3, "XPath: A Syntax for Describing Needles and Haystacks" for a complete discussion of them.
- base URI
-
The URI associated with every node in the XPath source tree. In certain circumstances, the base URI is used to resolve references to other resources. If a given node is an element or processing-instruction node and that node occurs in an external entity, then the base URI for that node is the base URI of the external entity. If an element or processing-instruction node does not occur in an external entity, then its base URI is the base URI of the document in which it appears. The base URI of a document node is the base URI of the document itself, and the base URI of an attribute, comment, namespace, or text node is the base URI of that node's parent.
- CDATA section
-
A section of an XML document in which all markup is ignored. A CDATA section begins with the characters <![CDATA[, and ends with the characters ]]>. If two right brackets appear in the content of a CDATA section, they must be escaped. Within a stylesheet, determining if a given text node was originally a CDATA section is not possible. It is possible to generate certain elements as CDATA sections with the cdata-section-elements attribute of the <xsl:output> element.
- child
-
An immediate descendant of a given node. Contrast with descendant. child is also the name of one of the XPath axes. The children of a node include all comment, element, processing-instruction, and text nodes. Attribute nodes and namespace nodes are not considered children.
- comment node
-
A node that represents a comment from the original XML document. This is one of the seven kinds of nodes defined by XPath.
- context
-
A data structure that determines how XPath expressions are evaluated. The context consists of five items: the context node, a pair of nonzero positive integers (the context position and context size), a set of variable bindings, a function library, and the set of namespace declarations that are in scope.
- context node
-
The node from which all XPath expressions are evaluated. The context node is analogous to the current directory at a command prompt; all commands you type at a command prompt are evaluated in terms of the current directory. Compare with current node.
- context position
-
A nonzero positive integer that indicates the position of the current node. The context position is always less than or equal to the context size.
- context size
-
The number of nodes in the current node list.
- current node
-
The node currently being processed. The node is defined by the select attribute of the <xsl:apply-templates> or <xsl:for-each> elements. Except within a predicate expression, the current node and the context node are the same.
- current node list
-
The list of nodes selected by the select attribute of the <xsl:apply-templates> or <xsl:for-each> element currently being processed. By default, the current node list is in document order, but it may be reordered with one or more <xsl:sort> elements.
- descendant
-
A given node's children, its children's children, its children's children's children, etc. descendant is also the name of one of the axes defined by XPath. Contrast with child.
- document element
-
The element in the XML source document that contains the entire XML document. The node that represents the document element is a child of the root node; the root node and the element node for the document element are not the same.
- element node
-
An XPath node that represents an element from the XML source document.
- encoding
-
A set of characters, referenced in the XML declaration to describe the characters used in a particular document. The range of values for encodings is defined in http://www.ietf.org/rfc/rfc2278.txt. The range of values supported by a given XML parser or XSLT processor varies.
- expanded name
-
The complete name of an element or attribute, including the local name and a possibly null namespace URI.
- extension element
-
An element in an XSLT stylesheet whose namespace prefix references an extension. The XSLT specification defines how extension elements are identified in the stylesheet, but does not specify how they are implemented. Extension elements are implemented with a piece of code that is referenced in the stylesheet; each XSLT processor defines how that code is invoked to handle the transformation of the extension element. See Chapter 8, "Extending XSLT" for an extensive discussion of extension elements and extension functions.
- extension function
-
A function whose namespace prefix references an extension. The XSLT specification defines how extension functions are identified in the stylesheet, but does not specify how they are implemented. Extension functions are implemented with a piece of code that is referenced in the stylesheet; each XSLT processor defines how that code is invoked to handle the invocation of the extension function. See Chapter 8, "Extending XSLT" for an extensive discussion of extension elements and extension functions.
- fallback processing
-
Processing designed to handle the absence of an extension element or an extension function gracefully. This processing is typically accomplished with the element-available() or the function-available() function. When either function returns false, a stylesheet can respond gracefully to the absence of the requested function. XSLT also defines the <xsl:fallback> element, which can be used when an extension element is not available.
- ID
-
One of the basic datatypes defined by the XML specification. In an XML document, one attribute of an element can be declared to be of type ID; this means that the value of that attribute must be unique across all attributes of type ID for all elements in the document. No more than one attribute on a given element can be of type ID. Attributes of type ID are useful for generating cross-references with the id() function. See Chapter 5, "Creating Links and Cross-References" for an extensive discussion of the ID, IDREF, and IDREFS datatypes.
- IDREF
-
One of the basic datatypes defined by the XML specification. In an XML document, an attribute declared to be of type IDREF must have a value that matches an ID attribute elsewhere in the document. Attributes of type IDREF are useful for generating cross-references with the id() function. See Chapter 5, "Creating Links and Cross-References" for an extensive discussion of the ID, IDREF, and IDREFS datatypes.
- IDREFS
-
One of the basic datatypes defined by the XML specification. In an XML document, an IDREFS attribute must contain one or more whitespace-separated values, each of which matches an ID attribute elsewhere in the document. Attributes of type IDREFS are useful for generating cross-references with the id() function. See Chapter 5, "Creating Links and Cross-References" for an extensive discussion of the ID, IDREF, and IDREFS datatypes.
- key
-
A key is similar to a database index. It has three components: a name, used to identify the key (specified with the name attribute of the <xsl:key> element); the nodes, which will be returned by the key (specified with the use attribute of the <xsl:key> element); and the values, used to search for things in the key (specified with the match attribute of the <xsl:key> element)
The key <key name="language-index"
match="defn" use="@language"/>, for example,
defines a new key named
language-index. Given a value for the
language attribute, the key returns all
<defn> elements whose
language attributes match the given
value. See Section 5.2, "Generating Links with the key() Function" in Chapter 5, "Creating Links and Cross-References" for a complete discussion of keys and how
they are used.
- literal result element (LRE)
-
An element in an XSLT stylesheet that does not belong to the XSLT namespace and is not an extension element. Literal elements are simply copied to the result tree.
- local name
-
The nonqualified portion of an element or attribute name. For example, in the element <xsl:template>, template is the local name.
- location path
-
An XPath expression that selects a set of nodes relative to the context node. Compare with absolute location path and relative location path.
- location step
-
Consists of three parts: an axis name, a node test, and zero or more predicate expressions. There are three location steps in the XPath expression preceding-sibling::region/product[@name="Sandpiper"]/text().
The first location step is preceding-sibling::region; it has an axis name of preceding-sibling and a node test of region. It selects all <region> elements that are preceding siblings of the context node. It does not have a predicate expression.
The second location step, product[@name="Sandpiper"], has an axis name of child, the default axis. Its node test is product and it has the predicate [@name="Sandpiper"]. It selects all <product> children of the previous location step that have an attribute named name with a value of Sandpiper.
The third location step, text(), has an axis name of child and a node test of text(). It selects all text node children of the previous location step. It does not have a predicate expression.
- mode
-
An XSLT feature that allows an element to be processed
multiple times, using a different template and producing a
different result each time. See the discussion of the
<xsl:apply-templates>
element in Appendix A, "XSLT Reference" for a detailed
example of modes.
- namespace
- A collection of element and attribute names
that are associated with a URI.
- namespace node
- The XPath
node type that corresponds to a namespace declaration in an XML
document.
- namespace
prefix
- Part of a qualified name used
to associate an element or attribute with a namespace URI.
- namespace
URI
- The string associated with a
collection of element and attribute names. Although commonly
referred to as a URI, a namespace URI can actually be any
string.
- NCName
-
An XML name, used for local names and namespace
prefixes. An NCName must start with a letter or an
underscore (_).
- node
test
- An XPath expression that
selects certain nodes. The expressions
child::*, para, and
@id select all child nodes, all
<para> child nodes, and any attribute
named id, respectively. Four node
tests -- (text(),
comment(), node(), and
processing-instruction()) -- look like
functions, even though they technically aren't. They allow you
to select parts of an XML document not accessible through the
various axes defined by XPath. See Section B.2, "XPath Node Tests" in Appendix B, "XPath Reference" for a
complete discussion of these node tests.
- output escaping
- The
process of changing reserved characters (such as
<, >, and
&) into their entity references (such as
<, >, and
&).
- parameter
- An XSLT
mechanism used to bind a name to a value, defined with the
<xsl:param> element. The difference
between a parameter and a variable is that the value
specified in the definition of a parameter is a default
value. When the template or stylesheet that contains the
parameter is invoked, the default value can be overridden. Like
variables, though, once the value of a parameter is set, it
cannot be changed.
- parent
-
A node that appears immediately above a given node. A
parent is a node's first ancestor. XPath also defines the
parent axis, which contains a node's
parent. With the exception of the root node, all nodes have
a parent. Contrast with ancestor.
- predicate
expression
- An XPath expression that
appears in square brackets ([]). Predicate
expressions filter a node-set, selecting only nodes that match
the expression in square brackets. See Section 3.2.7, "Predicates" in Chapter 3, "XPath: A Syntax for Describing Needles and Haystacks" for more
information.
- prefix
-
An abbreviation for namespace
prefix.
- processing
instruction
- Part of an XML document
containing instructions for applications. Here is a sample
processing instruction:
<?xml-stylesheet href="docbook/html/docbook.xsl"
type="text/xsl"?> This processing
instruction associates an XSLT stylesheet with an XML
document. See Section 1.2.4.8, "Associating stylesheets with XML documents" in
Chapter 1, "Getting Started" for a complete discussion of
processing instructions.
- processing-instruction node
-
The XPath node type that represents a processing
instruction from an XML document.
- qualified name
- An
element or attribute name that has been qualified with a
namespace prefix. The format of a qualified name is
prefix:local-name, where
prefix and local-name are
both NCNames. For
example, <xsl:template> is a qualified
name, while <template> is not. The
names in an XSLT stylesheet (variable names, template names,
mode names, etc.) must be qualified names.
- QNAME
- An abbreviation
for qualified name.
- relative
location path
- A location path that
consists of one or more location steps
separated by /. Compare with
location path and absolute
location path.
- result-tree fragment
- A
fragment of the is result tree that can be associated with a
variable. See Section B.5, "Datatypes" in Appendix B, "XPath Reference" for a more complete discussion of
result-tree fragments.
- root
node
- The XPath node that represents
the root of an XML document. Note that the root node is not the
same as the element node for the document
element. The root node is specified with the XPath
expression /. The children of the root node
are the element node for the document element, as well as any
comments or processing instructions that occur outside the
document element.
- sibling
- Two nodes that have the same parent. XPath defines the
preceding-sibling and
following-sibling axes.
- stylesheet
- An XML
document, written with the XSLT vocabulary, that specifies how
an XML document should be transformed.
- template
- A rule in an
XSLT stylesheet that defines how part of an XML document should
be transformed. Templates are defined with the
<xsl:template> element.
- text node
- A group of
characters from an XML document. Text nodes are one of the seven
types of nodes defined by XPath. The XPath specification states
that as much text as possible must be combined into a single
text node. In other words, a text node will never have a
preceding or following sibling that is also a text
node.
- top-level
element
- An element whose parent is the
<xsl:stylesheet> element.
- unparsed
entity
- A resource in an XML
document whose contents may or may not be text, and if text, may
not be XML. Every unparsed entity has an associated XML
notation. See the discussion of the
unparsed-entity-uri() function in Appendix C, "XSLT and XPath Function Reference" for more details on unparsed
entities.
- valid
document
- An XML document that
follows the basic rules of XML documents and additionally
follows all rules of its associated document type definition or
schema. See Section 1.2.2, "XML Document Rules" in Chapter 1, "Getting Started" for a complete discussion of the XML
document rules; Section 1.2.2.8, "Document Type Definitions (DTDs) and XML Schemas", also in
Chapter 1, "Getting Started", discusses document type definitions
and schemas.
- variable
- An XSLT mechanism used to bind a name to a
value, defined with the <xsl:variable>
element. Variables are different from parameters because
parameters can have default values. One significant difference
between XSLT variables and variables in most other programming
languages is that once an XSLT variable is initialized, its
value cannot be changed. See Section 4.5, "Variables"
in Chapter 4, "Branching and Control Elements" for a complete discussion of the
<xsl:variable> element and how it is
used.
- well-formed
document
- An XML document that
follows the basic rules of XML documents. See Section 1.2.2, "XML Document Rules" in Chapter 1, "Getting Started"
for a complete discussion of those rules.
- whitespace
- One of four
characters: space ( ), tab
(	), return
(
), or linefeed
(
).
- XML
declaration
- Part of an XML document
that defines the version of XML being used. Although the XML
declaration looks like a processing
instruction, it is not. For that reason, you cannot
access the XML declaration from an XSLT stylesheet or an XPath
expression.
| | | D.13. How Do I Control Angle Brackets and Quote Marks in My Output? | | Index |
Copyright © 2002 O'Reilly & Associates. All rights reserved.
|