Name
document()
Allows you to process multiple source documents in a single stylesheet. This extremely powerful and flexible function is discussed extensively in Chapter 7, so we’ll only include a brief overview of the function here.
Syntax
[1.0] node-setdocument(object,node-set?)[2.0] node()*document(item()*)[2.0] node()*document(item()*,node())
Inputs
The document()
function most commonly takes a string as its argument; that string
is treated as a URI, and the XSLT processor attempts to open that
URI and parse it. If the string is empty (the function call is
document('')), the document() function parses the
stylesheet itself. See Grouping Nodes” in
Chapter 7 for all the details on the
parameters to the document() function.
[2.0] In XSLT 2.0, the document() function can also take a
second argument, a node used to find the base URI property of the
requested documents. The base URI of the node is combined with the
resource names in the first argument to form a complete
URI.
Output
A [1.0] node-set or [2.0] sequence containing the nodes identified by the input argument. Again, Chapter 7 has all the details, so we won’t rehash them here.
Defined in
[1.0] XSLT section 12.1, “Multiple Source Documents.”
[2.0] XSLT section 16.1, “Multiple Source Documents.”
Example
The following example uses the document() function with an empty
string to implement a lookup table. Here is our XML
document:
<?xml version="1.0"?>
<!-- polist.xml --> <collection> <doc href="po38292.xml"/> <doc href="po38293.xml"/> ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access