Merge lp:~zorba-coders/zorba/functx-uri-fix into lp:zorba

Proposed by Chris Hillery
Status: Rejected
Rejected by: Chris Hillery
Proposed branch: lp:~zorba-coders/zorba/functx-uri-fix
Merge into: lp:zorba
Diff against target: 13583 lines (+6690/-6672)
18 files modified
doc/code/headers_svg/zorba_headers_dependencies.xqi (+1/-1)
doc/zorba/xqdoc/images/modules.svg (+1/-1)
doc/zorba/xqdoc/src/zorba_module_dependencies.xqi (+1/-1)
doc/zorba/xqdoc/templates/www.functx.com.html (+6652/-0)
doc/zorba/xqdoc/templates/www.functx.com_index.html (+0/-6652)
modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq (+17/-4)
modules/functx/CMakeLists.txt (+1/-1)
modules/functx/functx.xq (+1/-1)
scripts/sanity_checks/conformance_xqftts.xqi (+1/-1)
scripts/sanity_checks/conformance_xqts.xqi (+1/-1)
scripts/sanity_checks/conformance_xquts.xqi (+1/-1)
src/context/default_uri_mappers.cpp (+6/-1)
test/rbkt/Queries/zorba/functx/substring-before-last.xq (+1/-1)
test/rbkt/Queries/zorba/spec/xquery_1_0.xq (+1/-1)
test/rbkt/Queries/zorba/spec/xquery_1_1.xq (+1/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/http-client-doc.htm (+1/-1)
test/rbkt/Queries/zorba/xqdoc/moduleDocumentation.xq (+2/-2)
test/zperf/src/timings.xq (+1/-1)
To merge this branch: bzr merge lp:~zorba-coders/zorba/functx-uri-fix
Reviewer Review Type Date Requested Status
Chris Hillery Disapprove
Sorin Marian Nasoi Approve
Review via email: mp+88012@code.launchpad.net

Commit message

Corrected URI of functx module to "http://www.functx.com" (without trailing slash).

Description of the change

Per discussion on conf call 1/11/2012, this fix should NOT be merged until we are preparing Zorba 3.0 - it should NOT be in Zorba 2.2 if there is such a release.

To post a comment you must log in.
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/functx-uri-fix into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:273 (message):
  Validation queue job functx-uri-fix-2012-01-10T07-50-05.211Z is finished.
  The final status was:

  5 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/functx-uri-fix into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:273 (message):
  Validation queue job functx-uri-fix-2012-01-10T09-14-14.724Z is finished.
  The final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job functx-uri-fix-2012-01-11T01-08-06.641Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1. Got: 1 Pending.

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

Fix for allowing both URI's ending with or without slash '/' should also be added before 3.0 release.

Revision history for this message
Chris Hillery (ceejatec) wrote :

> Fix for allowing both URI's ending with or without slash '/' should also be
> added before 3.0 release.

As discussed on the mailing list, it is not possible to support both URIs simultaneously (without some ugly hacks). Is that what you meant? If not, what did you mean?

Revision history for this message
Cezar Andrei (cezar-andrei) wrote :

I'm talking about this problem, but solved cleanly without ugly hacks.

Revision history for this message
Chris Hillery (ceejatec) wrote :

AFAIK there are no suggestions on the table on how to allow this without special-cases or hacks. Also AFAIK there is no outstanding requirement to do so. The plan is to change the URI in 3.0 and be done with it.

The fact is that our name-mangling mechanism for mapping URIs to filesystem paths is not 100% one-to-one; it is slightly lossy, in that several URIs may map to the same filesystem path. This has always been a theoretical problem, not an actual one, in the past. The only reason it's an actual problem this time is because of a different bug (authoring our FunctX module with the wrong URI). IMHO solving this problem is not a high priority, and doing so fully would at the least make our on-disk layout rather uglier than it is.

Revision history for this message
Sorin Marian Nasoi (sorin.marian.nasoi) :
review: Approve
Revision history for this message
Chris Hillery (ceejatec) wrote :

I believe this branch has fallen too far behind the times. I will re-do the change to add the slash as part of 3.0.

review: Disapprove

Unmerged revisions

10612. By Sorin Marian Nasoi <email address hidden>

Fixed the XQDoc generation.

10611. By Chris Hillery

When file-izing a URI, if the path component is length 0, force it to "/" to
match the Zorba name-mangling mechanism.

10610. By Chris Hillery

Corrected URI of functx module to "http://www.functx.com" (without trailing
slash).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'doc/code/headers_svg/zorba_headers_dependencies.xqi'
--- doc/code/headers_svg/zorba_headers_dependencies.xqi 2011-08-18 19:46:33 +0000
+++ doc/code/headers_svg/zorba_headers_dependencies.xqi 2012-01-10 23:15:30 +0000
@@ -22,7 +22,7 @@
22import module namespace file = "http://expath.org/ns/file";22import module namespace file = "http://expath.org/ns/file";
23import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";23import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";
24import module namespace html = "http://www.zorba-xquery.com/modules/converters/html";24import module namespace html = "http://www.zorba-xquery.com/modules/converters/html";
25import module namespace functx = "http://www.functx.com/";25import module namespace functx = "http://www.functx.com";
2626
27declare namespace ann = "http://www.zorba-xquery.com/annotations";27declare namespace ann = "http://www.zorba-xquery.com/annotations";
2828
2929
=== modified file 'doc/zorba/xqdoc/images/modules.svg'
--- doc/zorba/xqdoc/images/modules.svg 2011-08-01 17:55:38 +0000
+++ doc/zorba/xqdoc/images/modules.svg 2012-01-10 23:15:30 +0000
@@ -1006,7 +1006,7 @@
1006</g>1006</g>
1007<!-- functx_16 -->1007<!-- functx_16 -->
1008<g id="node89" class="node"><title>functx_16</title>1008<g id="node89" class="node"><title>functx_16</title>
1009<a xlink:href="../www.functx.com_index.html" xlink:title="(Zorba-core) module uri=http://www.functx.com/">1009<a xlink:href="../www.functx.com_index.html" xlink:title="(Zorba-core) module uri=http://www.functx.com">
1010<ellipse fill="white" stroke="white" cx="8411" cy="-301" rx="36.0624" ry="19.0919"/>1010<ellipse fill="white" stroke="white" cx="8411" cy="-301" rx="36.0624" ry="19.0919"/>
1011<text text-anchor="middle" x="8411" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">functx</text>1011<text text-anchor="middle" x="8411" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">functx</text>
1012</a>1012</a>
10131013
=== modified file 'doc/zorba/xqdoc/src/zorba_module_dependencies.xqi'
--- doc/zorba/xqdoc/src/zorba_module_dependencies.xqi 2011-08-12 16:07:57 +0000
+++ doc/zorba/xqdoc/src/zorba_module_dependencies.xqi 2012-01-10 23:15:30 +0000
@@ -26,7 +26,7 @@
26import module namespace file = "http://expath.org/ns/file";26import module namespace file = "http://expath.org/ns/file";
27import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";27import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";
28import module namespace xqdoc2html = "http://www.zorba-xquery.com/modules/xqdoc2xhtml/";28import module namespace xqdoc2html = "http://www.zorba-xquery.com/modules/xqdoc2xhtml/";
29import module namespace functx = "http://www.functx.com/";29import module namespace functx = "http://www.functx.com";
3030
31import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";31import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";
32import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";32import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";
3333
=== added file 'doc/zorba/xqdoc/templates/www.functx.com.html'
--- doc/zorba/xqdoc/templates/www.functx.com.html 1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/templates/www.functx.com.html 2012-01-10 23:15:30 +0000
@@ -0,0 +1,6652 @@
1<html>
2 <head>
3 <title>Documentation for http://www.functx.com</title>
4 <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
5 <meta content="public" http-equiv="CACHE-CONTROL" />
6 <meta content="-1" http-equiv="Expires" />
7 <link rel="stylesheet" type="text/css" href="styles/main.css" />
8 <link rel="stylesheet" href="styles/jquery.treeview.css" />
9 <script type="text/javascript" src="lib/jquery.js"></script>
10 <script type="text/javascript" src="lib/jquery.cookie.js"></script>
11 <script type="text/javascript" src="lib/jquery.treeview.js"></script>
12 <script type="text/javascript" src="lib/jquery.treeview.min.js"></script>
13 <script type="text/javascript" src="lib/shCore.js"></script>
14 <script type="text/javascript" src="lib/shBrushXQuery.js"></script>
15 <script type="text/javascript" src="lib/shBrushXml.js"></script>
16 <link type="text/css" rel="stylesheet" href="styles/shCore.css" />
17 <link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css" />
18 <link type="text/css" rel="stylesheet" href="styles/shThemeXQuery.css" />
19 <script type="text/javascript">
20 SyntaxHighlighter.all()
21 </script>
22 <script type="text/javascript">
23 jQuery(document).ready(function() {
24 $("#documentation").treeview({
25 control: "#treecontrol",
26 animated: "fast",
27 collapsed: true,
28 unique: false,
29 persist: "cookie"
30 });
31 });
32 </script>
33 </head>
34 <body>
35 <div id="header">
36 <div class="innerheader text-left">
37 <div id="logo_container">
38 <a href="../../../../../html/index.html">
39 <img src="images/zorba_logo.png" alt="Zorba C++ XQuery Processor" />
40 </a>
41 <h1>
42 <a href="../../../../../html/index.html">Zorba</a>
43 </h1>
44 <p>
45 <a href="../../../../../html/index.html">The XQuery Processor</a>
46 </p>
47 </div>
48 <div id="innermenu" class="box">
49 <ul>
50 <li style="width:102px !important;">
51 <a href="../../../zorba/html/index.html" class="documentation">Documentation</a>
52 </li>
53 <li>
54 <a href="http://try.zorba-xquery.com" target="_blank" class="tryzorba">Live Demo</a>
55 </li>
56 <li>
57 <a href="../../../../../html/modules.html" class="modules">Modules</a>
58 </li>
59 <li>
60 <a href="../../../../../html/downloads.html" class="download">Download</a>
61 </li>
62 <li>
63 <a href="../../../../../html/tools.html" class="tools">Tools</a>
64 </li>
65 <li>
66 <a href="../../../../../html/blog.html" class="blog">Blog</a>
67 </li>
68 <li>
69 <a href="../../../../../html/code.html" class="open">Code</a>
70 </li>
71 </ul>
72 </div>
73 </div>
74 </div>
75 <div id="main">
76 <div id="leftMenu">
77 <div id="treecontrol">
78 <a title="Collapse the entire tree below" href="#">
79 <img src="images/minus.gif" /> Collapse All</a>
80 <a title="Expand the entire tree below" href="#">
81 <img src="images/plus.gif" /> Expand All</a>
82 </div>
83 </div>
84 <div id="rightcontent">
85 <h1>http://www.functx.com<sup>
86 <img src="images/ZCsmall.gif" alt="ZC" title="This module is part of Zorba core." />
87 </sup>
88 </h1>
89 <div class="section">
90 <span id="module_description">Module Description</span>
91 </div>
92 <span>Before using any of the functions below please remember to import the module namespace:
93 <pre class="brush: xquery;">import module namespace functx = "http://www.functx.com";</pre>
94 </span>
95 <p> --------------------------------
96 The FunctX XQuery Function Library
97 --------------------------------
98 Copyright (C) 2007 Datypic
99 This library is free software; you can redistribute it and/or
100 modify it under the terms of the GNU Lesser General Public
101 License as published by the Free Software Foundation; either
102 version 2.1 of the License.
103 This library is distributed in the hope that it will be useful,
104 but WITHOUT ANY WARRANTY; without even the implied warranty of
105 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
106 Lesser General Public License for more details.
107 You should have received a copy of the GNU Lesser General Public
108 License along with this library; if not, write to the Free Software
109 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
110 For more information on the FunctX XQuery library, contact contrib@functx.com.
111</p>
112 <div class="subsubsection">Version:</div>
113 <p class="annotationText">1.0</p>
114 <div class="section">
115 <span id="module_resources">Module Resources</span>
116 </div>
117 <ul>
118 <li>the XQuery module can be found <a href="modules/www.functx.com_index.html" target="_blank">here</a>.</li>
119 </ul>
120 <div class="section">
121 <span id="external_specifications">Related Documentation</span>
122 </div>
123 <p>For more details please also see:<ul>
124 <li>
125 <a href="http://www.xqueryfunctions.com" target="_blank">http://www.xqueryfunctions.com</a>
126 </li>
127 </ul>
128 </p>
129 <div class="section">
130 <span id="variables">Namespaces</span>
131 </div>
132 <table class="varlist">
133 <tr>
134 <td>functx</td>
135 <td>http://www.functx.com</td>
136 </tr>
137 </table>
138 <div class="section">
139 <span id="function_summary">Function Summary</span>
140 </div>
141 <table class="funclist">
142 <tr>
143 <td class="type">
144 <span class="no_underline"></span>
145 </td>
146 <td>
147 <tt>
148 <span class="functName">
149 <a href="#add-attributes-3" title="Adds attributes to XML elements">add-attributes</a>
150 </span>
151 <span class="functName"></span> (
152<span class="funcParam"> $elements</span> as element(*)*,
153<span class="funcParam"> $attrNames</span> as xs:QName*,
154<span class="funcParam"> $attrValues</span> as xs:anyAtomicType*
155 ) as element(*)?<br />
156 <span class="padding"></span>
157 </tt>
158 </td>
159 </tr>
160 <tr>
161 <td class="type">
162 <span class="no_underline"></span>
163 </td>
164 <td>
165 <tt>
166 <span class="functName">
167 <a href="#add-months-2" title="Adds months to a date">add-months</a>
168 </span>
169 <span class="functName"></span> (
170<span class="funcParam"> $date</span> as xs:anyAtomicType?,
171<span class="funcParam"> $months</span> as xs:integer
172 ) as xs:date?<br />
173 <span class="padding"></span>
174 </tt>
175 </td>
176 </tr>
177 <tr>
178 <td class="type">
179 <span class="no_underline"></span>
180 </td>
181 <td>
182 <tt>
183 <span class="functName">
184 <a href="#add-or-update-attributes-3" title="Adds attributes to XML elements">add-or-update-attributes</a>
185 </span>
186 <span class="functName"></span> (
187<span class="funcParam"> $elements</span> as element(*)*,
188<span class="funcParam"> $attrNames</span> as xs:QName*,
189<span class="funcParam"> $attrValues</span> as xs:anyAtomicType*
190 ) as element(*)?<br />
191 <span class="padding"></span>
192 </tt>
193 </td>
194 </tr>
195 <tr>
196 <td class="type">
197 <span class="no_underline"></span>
198 </td>
199 <td>
200 <tt>
201 <span class="functName">
202 <a href="#all-whitespace-1" title="Whether a value is all whitespace or a zero-length string">all-whitespace</a>
203 </span>
204 <span class="functName"></span> (
205<span class="funcParam"> $arg</span> as xs:string?
206 ) as xs:boolean<br />
207 <span class="padding"></span>
208 </tt>
209 </td>
210 </tr>
211 <tr>
212 <td class="type">
213 <span class="no_underline"></span>
214 </td>
215 <td>
216 <tt>
217 <span class="functName">
218 <a href="#are-distinct-values-1" title="Whether all the values in a sequence are distinct">are-distinct-values</a>
219 </span>
220 <span class="functName"></span> (
221<span class="funcParam"> $seq</span> as xs:anyAtomicType*
222 ) as xs:boolean<br />
223 <span class="padding"></span>
224 </tt>
225 </td>
226 </tr>
227 <tr>
228 <td class="type">
229 <span class="no_underline"></span>
230 </td>
231 <td>
232 <tt>
233 <span class="functName">
234 <a href="#atomic-type-1" title="The built-in type of an atomic value">atomic-type</a>
235 </span>
236 <span class="functName"></span> (
237<span class="funcParam"> $values</span> as xs:anyAtomicType*
238 ) as xs:string*<br />
239 <span class="padding"></span>
240 </tt>
241 </td>
242 </tr>
243 <tr>
244 <td class="type">
245 <span class="no_underline"></span>
246 </td>
247 <td>
248 <tt>
249 <span class="functName">
250 <a href="#avg-empty-is-zero-2" title="The average, counting &quot;empty&quot; values as zero">avg-empty-is-zero</a>
251 </span>
252 <span class="functName"></span> (
253<span class="funcParam"> $values</span> as xs:anyAtomicType*,
254<span class="funcParam"> $allNodes</span> as node()*
255 ) as xs:double<br />
256 <span class="padding"></span>
257 </tt>
258 </td>
259 </tr>
260 <tr>
261 <td class="type">
262 <span class="no_underline"></span>
263 </td>
264 <td>
265 <tt>
266 <span class="functName">
267 <a href="#between-exclusive-3" title="Whether a value is between two provided values">between-exclusive</a>
268 </span>
269 <span class="functName"></span> (
270<span class="funcParam"> $value</span> as xs:anyAtomicType?,
271<span class="funcParam"> $minValue</span> as xs:anyAtomicType,
272<span class="funcParam"> $maxValue</span> as xs:anyAtomicType
273 ) as xs:boolean<br />
274 <span class="padding"></span>
275 </tt>
276 </td>
277 </tr>
278 <tr>
279 <td class="type">
280 <span class="no_underline"></span>
281 </td>
282 <td>
283 <tt>
284 <span class="functName">
285 <a href="#between-inclusive-3" title="Whether a value is between two provided values, or equal to one of them">between-inclusive</a>
286 </span>
287 <span class="functName"></span> (
288<span class="funcParam"> $value</span> as xs:anyAtomicType?,
289<span class="funcParam"> $minValue</span> as xs:anyAtomicType,
290<span class="funcParam"> $maxValue</span> as xs:anyAtomicType
291 ) as xs:boolean<br />
292 <span class="padding"></span>
293 </tt>
294 </td>
295 </tr>
296 <tr>
297 <td class="type">
298 <span class="no_underline"></span>
299 </td>
300 <td>
301 <tt>
302 <span class="functName">
303 <a href="#camel-case-to-words-2" title="Turns a camelCase string into space-separated words">camel-case-to-words</a>
304 </span>
305 <span class="functName"></span> (
306<span class="funcParam"> $arg</span> as xs:string?,
307<span class="funcParam"> $delim</span> as xs:string
308 ) as xs:string<br />
309 <span class="padding"></span>
310 </tt>
311 </td>
312 </tr>
313 <tr>
314 <td class="type">
315 <span class="no_underline"></span>
316 </td>
317 <td>
318 <tt>
319 <span class="functName">
320 <a href="#capitalize-first-1" title="Capitalizes the first character of a string">capitalize-first</a>
321 </span>
322 <span class="functName"></span> (
323<span class="funcParam"> $arg</span> as xs:string?
324 ) as xs:string?<br />
325 <span class="padding"></span>
326 </tt>
327 </td>
328 </tr>
329 <tr>
330 <td class="type">
331 <span class="no_underline"></span>
332 </td>
333 <td>
334 <tt>
335 <span class="functName">
336 <a href="#change-element-names-deep-3" title="Changes the names of elements in an XML fragment">change-element-names-deep</a>
337 </span>
338 <span class="functName"></span> (
339<span class="funcParam"> $nodes</span> as node()*,
340<span class="funcParam"> $oldNames</span> as xs:QName*,
341<span class="funcParam"> $newNames</span> as xs:QName*
342 ) as node()*<br />
343 <span class="padding"></span>
344 </tt>
345 </td>
346 </tr>
347 <tr>
348 <td class="type">
349 <span class="no_underline"></span>
350 </td>
351 <td>
352 <tt>
353 <span class="functName">
354 <a href="#change-element-ns-3" title="Changes the namespace of XML elements">change-element-ns</a>
355 </span>
356 <span class="functName"></span> (
357<span class="funcParam"> $elements</span> as element(*)*,
358<span class="funcParam"> $newns</span> as xs:string,
359<span class="funcParam"> $prefix</span> as xs:string
360 ) as element(*)?<br />
361 <span class="padding"></span>
362 </tt>
363 </td>
364 </tr>
365 <tr>
366 <td class="type">
367 <span class="no_underline"></span>
368 </td>
369 <td>
370 <tt>
371 <span class="functName">
372 <a href="#change-element-ns-deep-3" title="Changes the namespace of XML elements and its descendants">change-element-ns-deep</a>
373 </span>
374 <span class="functName"></span> (
375<span class="funcParam"> $nodes</span> as node()*,
376<span class="funcParam"> $newns</span> as xs:string,
377<span class="funcParam"> $prefix</span> as xs:string
378 ) as node()*<br />
379 <span class="padding"></span>
380 </tt>
381 </td>
382 </tr>
383 <tr>
384 <td class="type">
385 <span class="no_underline"></span>
386 </td>
387 <td>
388 <tt>
389 <span class="functName">
390 <a href="#chars-1" title="Converts a string to a sequence of characters">chars</a>
391 </span>
392 <span class="functName"></span> (
393<span class="funcParam"> $arg</span> as xs:string?
394 ) as xs:string*<br />
395 <span class="padding"></span>
396 </tt>
397 </td>
398 </tr>
399 <tr>
400 <td class="type">
401 <span class="no_underline"></span>
402 </td>
403 <td>
404 <tt>
405 <span class="functName">
406 <a href="#contains-any-of-2" title="Whether a string contains any of a sequence of strings">contains-any-of</a>
407 </span>
408 <span class="functName"></span> (
409<span class="funcParam"> $arg</span> as xs:string?,
410<span class="funcParam"> $searchStrings</span> as xs:string*
411 ) as xs:boolean<br />
412 <span class="padding"></span>
413 </tt>
414 </td>
415 </tr>
416 <tr>
417 <td class="type">
418 <span class="no_underline"></span>
419 </td>
420 <td>
421 <tt>
422 <span class="functName">
423 <a href="#contains-case-insensitive-2" title="Whether one string contains another, without regard to case">contains-case-insensitive</a>
424 </span>
425 <span class="functName"></span> (
426<span class="funcParam"> $arg</span> as xs:string?,
427<span class="funcParam"> $substring</span> as xs:string
428 ) as xs:boolean?<br />
429 <span class="padding"></span>
430 </tt>
431 </td>
432 </tr>
433 <tr>
434 <td class="type">
435 <span class="no_underline"></span>
436 </td>
437 <td>
438 <tt>
439 <span class="functName">
440 <a href="#contains-word-2" title="Whether one string contains another, as a separate word">contains-word</a>
441 </span>
442 <span class="functName"></span> (
443<span class="funcParam"> $arg</span> as xs:string?,
444<span class="funcParam"> $word</span> as xs:string
445 ) as xs:boolean<br />
446 <span class="padding"></span>
447 </tt>
448 </td>
449 </tr>
450 <tr>
451 <td class="type">
452 <span class="no_underline"></span>
453 </td>
454 <td>
455 <tt>
456 <span class="functName">
457 <a href="#copy-attributes-2" title="Copies attributes from one element to another">copy-attributes</a>
458 </span>
459 <span class="functName"></span> (
460<span class="funcParam"> $copyTo</span> as element(*),
461<span class="funcParam"> $copyFrom</span> as element(*)
462 ) as element(*)<br />
463 <span class="padding"></span>
464 </tt>
465 </td>
466 </tr>
467 <tr>
468 <td class="type">
469 <span class="no_underline"></span>
470 </td>
471 <td>
472 <tt>
473 <span class="functName">
474 <a href="#date-3" title="Construct a date from a year, month and day">date</a>
475 </span>
476 <span class="functName"></span> (
477<span class="funcParam"> $year</span> as xs:anyAtomicType,
478<span class="funcParam"> $month</span> as xs:anyAtomicType,
479<span class="funcParam"> $day</span> as xs:anyAtomicType
480 ) as xs:date<br />
481 <span class="padding"></span>
482 </tt>
483 </td>
484 </tr>
485 <tr>
486 <td class="type">
487 <span class="no_underline"></span>
488 </td>
489 <td>
490 <tt>
491 <span class="functName">
492 <a href="#dateTime-6" title="Construct a date/time from individual components">dateTime</a>
493 </span>
494 <span class="functName"></span> (
495<span class="funcParam"> $year</span> as xs:anyAtomicType,
496<span class="funcParam"> $month</span> as xs:anyAtomicType,
497<span class="funcParam"> $day</span> as xs:anyAtomicType,
498<span class="funcParam"> $hour</span> as xs:anyAtomicType,
499<span class="funcParam"> $minute</span> as xs:anyAtomicType,
500<span class="funcParam"> $second</span> as xs:anyAtomicType
501 ) as xs:dateTime<br />
502 <span class="padding"></span>
503 </tt>
504 </td>
505 </tr>
506 <tr>
507 <td class="type">
508 <span class="no_underline"></span>
509 </td>
510 <td>
511 <tt>
512 <span class="functName">
513 <a href="#day-in-year-1" title="The day of the year (a number between 1 and 366)">day-in-year</a>
514 </span>
515 <span class="functName"></span> (
516<span class="funcParam"> $date</span> as xs:anyAtomicType?
517 ) as xs:integer?<br />
518 <span class="padding"></span>
519 </tt>
520 </td>
521 </tr>
522 <tr>
523 <td class="type">
524 <span class="no_underline"></span>
525 </td>
526 <td>
527 <tt>
528 <span class="functName">
529 <a href="#day-of-week-1" title="The day of the week, from a date">day-of-week</a>
530 </span>
531 <span class="functName"></span> (
532<span class="funcParam"> $date</span> as xs:anyAtomicType?
533 ) as xs:integer?<br />
534 <span class="padding"></span>
535 </tt>
536 </td>
537 </tr>
538 <tr>
539 <td class="type">
540 <span class="no_underline"></span>
541 </td>
542 <td>
543 <tt>
544 <span class="functName">
545 <a href="#day-of-week-abbrev-en-1" title="The abbreviated day of the week, from a date, in English">day-of-week-abbrev-en</a>
546 </span>
547 <span class="functName"></span> (
548<span class="funcParam"> $date</span> as xs:anyAtomicType?
549 ) as xs:string?<br />
550 <span class="padding"></span>
551 </tt>
552 </td>
553 </tr>
554 <tr>
555 <td class="type">
556 <span class="no_underline"></span>
557 </td>
558 <td>
559 <tt>
560 <span class="functName">
561 <a href="#day-of-week-name-en-1" title="The name of the day of the week, from a date, in English">day-of-week-name-en</a>
562 </span>
563 <span class="functName"></span> (
564<span class="funcParam"> $date</span> as xs:anyAtomicType?
565 ) as xs:string?<br />
566 <span class="padding"></span>
567 </tt>
568 </td>
569 </tr>
570 <tr>
571 <td class="type">
572 <span class="no_underline"></span>
573 </td>
574 <td>
575 <tt>
576 <span class="functName">
577 <a href="#dayTimeDuration-4" title="Construct a dayTimeDuration from a number of days, hours, etc.">dayTimeDuration</a>
578 </span>
579 <span class="functName"></span> (
580<span class="funcParam"> $days</span> as xs:decimal?,
581<span class="funcParam"> $hours</span> as xs:decimal?,
582<span class="funcParam"> $minutes</span> as xs:decimal?,
583<span class="funcParam"> $seconds</span> as xs:decimal?
584 ) as xs:dayTimeDuration<br />
585 <span class="padding"> Construct a dayTimeDuration from a number of days, hours, etc.</span>
586 </tt>
587 </td>
588 </tr>
589 <tr>
590 <td class="type">
591 <span class="no_underline"></span>
592 </td>
593 <td>
594 <tt>
595 <span class="functName">
596 <a href="#days-in-month-1" title="Number of days in the month">days-in-month</a>
597 </span>
598 <span class="functName"></span> (
599<span class="funcParam"> $date</span> as xs:anyAtomicType?
600 ) as xs:integer?<br />
601 <span class="padding"></span>
602 </tt>
603 </td>
604 </tr>
605 <tr>
606 <td class="type">
607 <span class="no_underline"></span>
608 </td>
609 <td>
610 <tt>
611 <span class="functName">
612 <a href="#depth-of-node-1" title="The depth (level) of a node in an XML tree">depth-of-node</a>
613 </span>
614 <span class="functName"></span> (
615<span class="funcParam"> $node</span> as node()?
616 ) as xs:integer<br />
617 <span class="padding"></span>
618 </tt>
619 </td>
620 </tr>
621 <tr>
622 <td class="type">
623 <span class="no_underline"></span>
624 </td>
625 <td>
626 <tt>
627 <span class="functName">
628 <a href="#distinct-attribute-names-1" title="The distinct names of all attributes in an XML fragment">distinct-attribute-names</a>
629 </span>
630 <span class="functName"></span> (
631<span class="funcParam"> $nodes</span> as node()*
632 ) as xs:string*<br />
633 <span class="padding"></span>
634 </tt>
635 </td>
636 </tr>
637 <tr>
638 <td class="type">
639 <span class="no_underline"></span>
640 </td>
641 <td>
642 <tt>
643 <span class="functName">
644 <a href="#distinct-deep-1" title="The XML nodes with distinct values, taking into account attributes and descendants">distinct-deep</a>
645 </span>
646 <span class="functName"></span> (
647<span class="funcParam"> $nodes</span> as node()*
648 ) as node()*<br />
649 <span class="padding"></span>
650 </tt>
651 </td>
652 </tr>
653 <tr>
654 <td class="type">
655 <span class="no_underline"></span>
656 </td>
657 <td>
658 <tt>
659 <span class="functName">
660 <a href="#distinct-element-names-1" title="The distinct names of all elements in an XML fragment">distinct-element-names</a>
661 </span>
662 <span class="functName"></span> (
663<span class="funcParam"> $nodes</span> as node()*
664 ) as xs:string*<br />
665 <span class="padding"></span>
666 </tt>
667 </td>
668 </tr>
669 <tr>
670 <td class="type">
671 <span class="no_underline"></span>
672 </td>
673 <td>
674 <tt>
675 <span class="functName">
676 <a href="#distinct-element-paths-1" title="The distinct paths of all descendant elements in an XML fragment">distinct-element-paths</a>
677 </span>
678 <span class="functName"></span> (
679<span class="funcParam"> $nodes</span> as node()*
680 ) as xs:string*<br />
681 <span class="padding"></span>
682 </tt>
683 </td>
684 </tr>
685 <tr>
686 <td class="type">
687 <span class="no_underline"></span>
688 </td>
689 <td>
690 <tt>
691 <span class="functName">
692 <a href="#distinct-nodes-1" title="The distinct XML nodes in a sequence (by node identity)">distinct-nodes</a>
693 </span>
694 <span class="functName"></span> (
695<span class="funcParam"> $nodes</span> as node()*
696 ) as node()*<br />
697 <span class="padding"></span>
698 </tt>
699 </td>
700 </tr>
701 <tr>
702 <td class="type">
703 <span class="no_underline"></span>
704 </td>
705 <td>
706 <tt>
707 <span class="functName">
708 <a href="#duration-from-timezone-1" title="Converts a timezone like &quot;-05:00&quot; or &quot;Z&quot; into xs:dayTimeDuration">duration-from-timezone</a>
709 </span>
710 <span class="functName"></span> (
711<span class="funcParam"> $timezone</span> as xs:string
712 ) as xs:dayTimeDuration<br />
713 <span class="padding"></span>
714 </tt>
715 </td>
716 </tr>
717 <tr>
718 <td class="type">
719 <span class="no_underline"></span>
720 </td>
721 <td>
722 <tt>
723 <span class="functName">
724 <a href="#dynamic-path-2" title="Dynamically evaluates a simple XPath path">dynamic-path</a>
725 </span>
726 <span class="functName"></span> (
727<span class="funcParam"> $parent</span> as node(),
728<span class="funcParam"> $path</span> as xs:string
729 ) as item()*<br />
730 <span class="padding"></span>
731 </tt>
732 </td>
733 </tr>
734 <tr>
735 <td class="type">
736 <span class="no_underline"></span>
737 </td>
738 <td>
739 <tt>
740 <span class="functName">
741 <a href="#escape-for-regex-1" title="Escapes regex special characters">escape-for-regex</a>
742 </span>
743 <span class="functName"></span> (
744<span class="funcParam"> $arg</span> as xs:string?
745 ) as xs:string<br />
746 <span class="padding"></span>
747 </tt>
748 </td>
749 </tr>
750 <tr>
751 <td class="type">
752 <span class="no_underline"></span>
753 </td>
754 <td>
755 <tt>
756 <span class="functName">
757 <a href="#exclusive-or-2" title="Whether one (and only one) of two boolean values is true">exclusive-or</a>
758 </span>
759 <span class="functName"></span> (
760<span class="funcParam"> $arg1</span> as xs:boolean?,
761<span class="funcParam"> $arg2</span> as xs:boolean?
762 ) as xs:boolean?<br />
763 <span class="padding"></span>
764 </tt>
765 </td>
766 </tr>
767 <tr>
768 <td class="type">
769 <span class="no_underline"></span>
770 </td>
771 <td>
772 <tt>
773 <span class="functName">
774 <a href="#first-day-of-month-1" title="The first day of the month of a date">first-day-of-month</a>
775 </span>
776 <span class="functName"></span> (
777<span class="funcParam"> $date</span> as xs:anyAtomicType?
778 ) as xs:date?<br />
779 <span class="padding"></span>
780 </tt>
781 </td>
782 </tr>
783 <tr>
784 <td class="type">
785 <span class="no_underline"></span>
786 </td>
787 <td>
788 <tt>
789 <span class="functName">
790 <a href="#first-day-of-year-1" title="The first day of the year of a date">first-day-of-year</a>
791 </span>
792 <span class="functName"></span> (
793<span class="funcParam"> $date</span> as xs:anyAtomicType?
794 ) as xs:date?<br />
795 <span class="padding"></span>
796 </tt>
797 </td>
798 </tr>
799 <tr>
800 <td class="type">
801 <span class="no_underline"></span>
802 </td>
803 <td>
804 <tt>
805 <span class="functName">
806 <a href="#first-node-1" title="The XML node in a sequence that appears first in document order">first-node</a>
807 </span>
808 <span class="functName"></span> (
809<span class="funcParam"> $nodes</span> as node()*
810 ) as node()?<br />
811 <span class="padding"></span>
812 </tt>
813 </td>
814 </tr>
815 <tr>
816 <td class="type">
817 <span class="no_underline"></span>
818 </td>
819 <td>
820 <tt>
821 <span class="functName">
822 <a href="#follows-not-descendant-2" title="Whether an XML node follows another without being its descendant">follows-not-descendant</a>
823 </span>
824 <span class="functName"></span> (
825<span class="funcParam"> $a</span> as node()?,
826<span class="funcParam"> $b</span> as node()?
827 ) as xs:boolean<br />
828 <span class="padding"></span>
829 </tt>
830 </td>
831 </tr>
832 <tr>
833 <td class="type">
834 <span class="no_underline"></span>
835 </td>
836 <td>
837 <tt>
838 <span class="functName">
839 <a href="#format-as-title-en-1" title="Moves title words like &quot;the&quot; and &quot;a&quot; to the end of strings">format-as-title-en</a>
840 </span>
841 <span class="functName"></span> (
842<span class="funcParam"> $titles</span> as xs:string*
843 ) as xs:string*<br />
844 <span class="padding"></span>
845 </tt>
846 </td>
847 </tr>
848 <tr>
849 <td class="type">
850 <span class="no_underline"></span>
851 </td>
852 <td>
853 <tt>
854 <span class="functName">
855 <a href="#fragment-from-uri-1" title="Returns the fragment from a URI">fragment-from-uri</a>
856 </span>
857 <span class="functName"></span> (
858<span class="funcParam"> $uri</span> as xs:string?
859 ) as xs:string?<br />
860 <span class="padding"></span>
861 </tt>
862 </td>
863 </tr>
864 <tr>
865 <td class="type">
866 <span class="no_underline"></span>
867 </td>
868 <td>
869 <tt>
870 <span class="functName">
871 <a href="#get-matches-2" title="Return the matching regions of a string">get-matches</a>
872 </span>
873 <span class="functName"></span> (
874<span class="funcParam"> $string</span> as xs:string?,
875<span class="funcParam"> $regex</span> as xs:string
876 ) as xs:string*<br />
877 <span class="padding"></span>
878 </tt>
879 </td>
880 </tr>
881 <tr>
882 <td class="type">
883 <span class="no_underline"></span>
884 </td>
885 <td>
886 <tt>
887 <span class="functName">
888 <a href="#get-matches-and-non-matches-2" title="Splits a string into matching and non-matching regions">get-matches-and-non-matches</a>
889 </span>
890 <span class="functName"></span> (
891<span class="funcParam"> $string</span> as xs:string?,
892<span class="funcParam"> $regex</span> as xs:string
893 ) as element(*)*<br />
894 <span class="padding"></span>
895 </tt>
896 </td>
897 </tr>
898 <tr>
899 <td class="type">
900 <span class="no_underline"></span>
901 </td>
902 <td>
903 <tt>
904 <span class="functName">
905 <a href="#has-element-only-content-1" title="Whether an element has element-only content">has-element-only-content</a>
906 </span>
907 <span class="functName"></span> (
908<span class="funcParam"> $element</span> as element(*)
909 ) as xs:boolean<br />
910 <span class="padding"></span>
911 </tt>
912 </td>
913 </tr>
914 <tr>
915 <td class="type">
916 <span class="no_underline"></span>
917 </td>
918 <td>
919 <tt>
920 <span class="functName">
921 <a href="#has-empty-content-1" title="Whether an element has empty content">has-empty-content</a>
922 </span>
923 <span class="functName"></span> (
924<span class="funcParam"> $element</span> as element(*)
925 ) as xs:boolean<br />
926 <span class="padding"></span>
927 </tt>
928 </td>
929 </tr>
930 <tr>
931 <td class="type">
932 <span class="no_underline"></span>
933 </td>
934 <td>
935 <tt>
936 <span class="functName">
937 <a href="#has-mixed-content-1" title="Whether an element has mixed content">has-mixed-content</a>
938 </span>
939 <span class="functName"></span> (
940<span class="funcParam"> $element</span> as element(*)
941 ) as xs:boolean<br />
942 <span class="padding"></span>
943 </tt>
944 </td>
945 </tr>
946 <tr>
947 <td class="type">
948 <span class="no_underline"></span>
949 </td>
950 <td>
951 <tt>
952 <span class="functName">
953 <a href="#has-simple-content-1" title="Whether an element has simple content">has-simple-content</a>
954 </span>
955 <span class="functName"></span> (
956<span class="funcParam"> $element</span> as element(*)
957 ) as xs:boolean<br />
958 <span class="padding"></span>
959 </tt>
960 </td>
961 </tr>
962 <tr>
963 <td class="type">
964 <span class="no_underline"></span>
965 </td>
966 <td>
967 <tt>
968 <span class="functName">
969 <a href="#id-from-element-1" title="Gets the ID of an XML element">id-from-element</a>
970 </span>
971 <span class="functName"></span> (
972<span class="funcParam"> $element</span> as element(*)?
973 ) as xs:string?<br />
974 <span class="padding"></span>
975 </tt>
976 </td>
977 </tr>
978 <tr>
979 <td class="type">
980 <span class="no_underline"></span>
981 </td>
982 <td>
983 <tt>
984 <span class="functName">
985 <a href="#id-untyped-2" title="Gets XML element(s) that have an attribute with a particular value">id-untyped</a>
986 </span>
987 <span class="functName"></span> (
988<span class="funcParam"> $node</span> as node()*,
989<span class="funcParam"> $id</span> as xs:anyAtomicType
990 ) as element(*)*<br />
991 <span class="padding"></span>
992 </tt>
993 </td>
994 </tr>
995 <tr>
996 <td class="type">
997 <span class="no_underline"></span>
998 </td>
999 <td>
1000 <tt>
1001 <span class="functName">
1002 <a href="#if-absent-2" title="The first argument if it is not empty, otherwise the second argument">if-absent</a>
1003 </span>
1004 <span class="functName"></span> (
1005<span class="funcParam"> $arg</span> as item()*,
1006<span class="funcParam"> $value</span> as item()*
1007 ) as item()*<br />
1008 <span class="padding"></span>
1009 </tt>
1010 </td>
1011 </tr>
1012 <tr>
1013 <td class="type">
1014 <span class="no_underline"></span>
1015 </td>
1016 <td>
1017 <tt>
1018 <span class="functName">
1019 <a href="#if-empty-2" title="The first argument if it is not blank, otherwise the second argument">if-empty</a>
1020 </span>
1021 <span class="functName"></span> (
1022<span class="funcParam"> $arg</span> as item()?,
1023<span class="funcParam"> $value</span> as item()*
1024 ) as item()*<br />
1025 <span class="padding"></span>
1026 </tt>
1027 </td>
1028 </tr>
1029 <tr>
1030 <td class="type">
1031 <span class="no_underline"></span>
1032 </td>
1033 <td>
1034 <tt>
1035 <span class="functName">
1036 <a href="#index-of-deep-equal-node-2" title="The position of a node in a sequence, based on contents and attributes">index-of-deep-equal-node</a>
1037 </span>
1038 <span class="functName"></span> (
1039<span class="funcParam"> $nodes</span> as node()*,
1040<span class="funcParam"> $nodeToFind</span> as node()
1041 ) as xs:integer*<br />
1042 <span class="padding"></span>
1043 </tt>
1044 </td>
1045 </tr>
1046 <tr>
1047 <td class="type">
1048 <span class="no_underline"></span>
1049 </td>
1050 <td>
1051 <tt>
1052 <span class="functName">
1053 <a href="#index-of-match-first-2" title="The first position of a matching substring">index-of-match-first</a>
1054 </span>
1055 <span class="functName"></span> (
1056<span class="funcParam"> $arg</span> as xs:string?,
1057<span class="funcParam"> $pattern</span> as xs:string
1058 ) as xs:integer?<br />
1059 <span class="padding"></span>
1060 </tt>
1061 </td>
1062 </tr>
1063 <tr>
1064 <td class="type">
1065 <span class="no_underline"></span>
1066 </td>
1067 <td>
1068 <tt>
1069 <span class="functName">
1070 <a href="#index-of-node-2" title="The position of a node in a sequence, based on node identity">index-of-node</a>
1071 </span>
1072 <span class="functName"></span> (
1073<span class="funcParam"> $nodes</span> as node()*,
1074<span class="funcParam"> $nodeToFind</span> as node()
1075 ) as xs:integer*<br />
1076 <span class="padding"></span>
1077 </tt>
1078 </td>
1079 </tr>
1080 <tr>
1081 <td class="type">
1082 <span class="no_underline"></span>
1083 </td>
1084 <td>
1085 <tt>
1086 <span class="functName">
1087 <a href="#index-of-string-2" title="The position(s) of a substring">index-of-string</a>
1088 </span>
1089 <span class="functName"></span> (
1090<span class="funcParam"> $arg</span> as xs:string?,
1091<span class="funcParam"> $substring</span> as xs:string
1092 ) as xs:integer*<br />
1093 <span class="padding"></span>
1094 </tt>
1095 </td>
1096 </tr>
1097 <tr>
1098 <td class="type">
1099 <span class="no_underline"></span>
1100 </td>
1101 <td>
1102 <tt>
1103 <span class="functName">
1104 <a href="#index-of-string-first-2" title="The first position of a substring">index-of-string-first</a>
1105 </span>
1106 <span class="functName"></span> (
1107<span class="funcParam"> $arg</span> as xs:string?,
1108<span class="funcParam"> $substring</span> as xs:string
1109 ) as xs:integer?<br />
1110 <span class="padding"></span>
1111 </tt>
1112 </td>
1113 </tr>
1114 <tr>
1115 <td class="type">
1116 <span class="no_underline"></span>
1117 </td>
1118 <td>
1119 <tt>
1120 <span class="functName">
1121 <a href="#index-of-string-last-2" title="The last position of a substring">index-of-string-last</a>
1122 </span>
1123 <span class="functName"></span> (
1124<span class="funcParam"> $arg</span> as xs:string?,
1125<span class="funcParam"> $substring</span> as xs:string
1126 ) as xs:integer?<br />
1127 <span class="padding"></span>
1128 </tt>
1129 </td>
1130 </tr>
1131 <tr>
1132 <td class="type">
1133 <span class="no_underline"></span>
1134 </td>
1135 <td>
1136 <tt>
1137 <span class="functName">
1138 <a href="#insert-string-3" title="Inserts a string at a specified position">insert-string</a>
1139 </span>
1140 <span class="functName"></span> (
1141<span class="funcParam"> $originalString</span> as xs:string?,
1142<span class="funcParam"> $stringToInsert</span> as xs:string?,
1143<span class="funcParam"> $pos</span> as xs:integer
1144 ) as xs:string<br />
1145 <span class="padding"></span>
1146 </tt>
1147 </td>
1148 </tr>
1149 <tr>
1150 <td class="type">
1151 <span class="no_underline"></span>
1152 </td>
1153 <td>
1154 <tt>
1155 <span class="functName">
1156 <a href="#is-a-number-1" title="Whether a value is numeric">is-a-number</a>
1157 </span>
1158 <span class="functName"></span> (
1159<span class="funcParam"> $value</span> as xs:anyAtomicType?
1160 ) as xs:boolean<br />
1161 <span class="padding"></span>
1162 </tt>
1163 </td>
1164 </tr>
1165 <tr>
1166 <td class="type">
1167 <span class="no_underline"></span>
1168 </td>
1169 <td>
1170 <tt>
1171 <span class="functName">
1172 <a href="#is-absolute-uri-1" title="Whether a URI is absolute">is-absolute-uri</a>
1173 </span>
1174 <span class="functName"></span> (
1175<span class="funcParam"> $uri</span> as xs:string?
1176 ) as xs:boolean<br />
1177 <span class="padding"></span>
1178 </tt>
1179 </td>
1180 </tr>
1181 <tr>
1182 <td class="type">
1183 <span class="no_underline"></span>
1184 </td>
1185 <td>
1186 <tt>
1187 <span class="functName">
1188 <a href="#is-ancestor-2" title="Whether an XML node is an ancestor of another node">is-ancestor</a>
1189 </span>
1190 <span class="functName"></span> (
1191<span class="funcParam"> $node1</span> as node(),
1192<span class="funcParam"> $node2</span> as node()
1193 ) as xs:boolean<br />
1194 <span class="padding"></span>
1195 </tt>
1196 </td>
1197 </tr>
1198 <tr>
1199 <td class="type">
1200 <span class="no_underline"></span>
1201 </td>
1202 <td>
1203 <tt>
1204 <span class="functName">
1205 <a href="#is-descendant-2" title="Whether an XML node is a descendant of another node">is-descendant</a>
1206 </span>
1207 <span class="functName"></span> (
1208<span class="funcParam"> $node1</span> as node(),
1209<span class="funcParam"> $node2</span> as node()
1210 ) as xs:boolean<br />
1211 <span class="padding"></span>
1212 </tt>
1213 </td>
1214 </tr>
1215 <tr>
1216 <td class="type">
1217 <span class="no_underline"></span>
1218 </td>
1219 <td>
1220 <tt>
1221 <span class="functName">
1222 <a href="#is-leap-year-1" title="Whether a date falls in a leap year">is-leap-year</a>
1223 </span>
1224 <span class="functName"></span> (
1225<span class="funcParam"> $date</span> as xs:anyAtomicType?
1226 ) as xs:boolean<br />
1227 <span class="padding"></span>
1228 </tt>
1229 </td>
1230 </tr>
1231 <tr>
1232 <td class="type">
1233 <span class="no_underline"></span>
1234 </td>
1235 <td>
1236 <tt>
1237 <span class="functName">
1238 <a href="#is-node-among-descendants-2" title="Whether an XML node is among the descendants of a sequence, based on node identity">is-node-among-descendants</a>
1239 </span>
1240 <span class="functName"></span> (
1241<span class="funcParam"> $node</span> as node()?,
1242<span class="funcParam"> $seq</span> as node()*
1243 ) as xs:boolean<br />
1244 <span class="padding"></span>
1245 </tt>
1246 </td>
1247 </tr>
1248 <tr>
1249 <td class="type">
1250 <span class="no_underline"></span>
1251 </td>
1252 <td>
1253 <tt>
1254 <span class="functName">
1255 <a href="#is-node-among-descendants-deep-equal-2" title="Whether an XML node is among the descendants of a sequence, based on contents and attributes">is-node-among-descendants-deep-equal</a>
1256 </span>
1257 <span class="functName"></span> (
1258<span class="funcParam"> $node</span> as node()?,
1259<span class="funcParam"> $seq</span> as node()*
1260 ) as xs:boolean<br />
1261 <span class="padding"></span>
1262 </tt>
1263 </td>
1264 </tr>
1265 <tr>
1266 <td class="type">
1267 <span class="no_underline"></span>
1268 </td>
1269 <td>
1270 <tt>
1271 <span class="functName">
1272 <a href="#is-node-in-sequence-2" title="Whether an XML node is in a sequence, based on node identity">is-node-in-sequence</a>
1273 </span>
1274 <span class="functName"></span> (
1275<span class="funcParam"> $node</span> as node()?,
1276<span class="funcParam"> $seq</span> as node()*
1277 ) as xs:boolean<br />
1278 <span class="padding"></span>
1279 </tt>
1280 </td>
1281 </tr>
1282 <tr>
1283 <td class="type">
1284 <span class="no_underline"></span>
1285 </td>
1286 <td>
1287 <tt>
1288 <span class="functName">
1289 <a href="#is-node-in-sequence-deep-equal-2" title="Whether an XML node is in a sequence, based on contents and attributes">is-node-in-sequence-deep-equal</a>
1290 </span>
1291 <span class="functName"></span> (
1292<span class="funcParam"> $node</span> as node()?,
1293<span class="funcParam"> $seq</span> as node()*
1294 ) as xs:boolean<br />
1295 <span class="padding"></span>
1296 </tt>
1297 </td>
1298 </tr>
1299 <tr>
1300 <td class="type">
1301 <span class="no_underline"></span>
1302 </td>
1303 <td>
1304 <tt>
1305 <span class="functName">
1306 <a href="#is-value-in-sequence-2" title="Whether an atomic value appears in a sequence">is-value-in-sequence</a>
1307 </span>
1308 <span class="functName"></span> (
1309<span class="funcParam"> $value</span> as xs:anyAtomicType?,
1310<span class="funcParam"> $seq</span> as xs:anyAtomicType*
1311 ) as xs:boolean<br />
1312 <span class="padding"></span>
1313 </tt>
1314 </td>
1315 </tr>
1316 <tr>
1317 <td class="type">
1318 <span class="no_underline"></span>
1319 </td>
1320 <td>
1321 <tt>
1322 <span class="functName">
1323 <a href="#last-day-of-month-1" title="The last day of the month of a date">last-day-of-month</a>
1324 </span>
1325 <span class="functName"></span> (
1326<span class="funcParam"> $date</span> as xs:anyAtomicType?
1327 ) as xs:date?<br />
1328 <span class="padding"></span>
1329 </tt>
1330 </td>
1331 </tr>
1332 <tr>
1333 <td class="type">
1334 <span class="no_underline"></span>
1335 </td>
1336 <td>
1337 <tt>
1338 <span class="functName">
1339 <a href="#last-day-of-year-1" title="The last day of the month of a date">last-day-of-year</a>
1340 </span>
1341 <span class="functName"></span> (
1342<span class="funcParam"> $date</span> as xs:anyAtomicType?
1343 ) as xs:date?<br />
1344 <span class="padding"></span>
1345 </tt>
1346 </td>
1347 </tr>
1348 <tr>
1349 <td class="type">
1350 <span class="no_underline"></span>
1351 </td>
1352 <td>
1353 <tt>
1354 <span class="functName">
1355 <a href="#last-node-1" title="The XML node in a sequence that is last in document order">last-node</a>
1356 </span>
1357 <span class="functName"></span> (
1358<span class="funcParam"> $nodes</span> as node()*
1359 ) as node()?<br />
1360 <span class="padding"></span>
1361 </tt>
1362 </td>
1363 </tr>
1364 <tr>
1365 <td class="type">
1366 <span class="no_underline"></span>
1367 </td>
1368 <td>
1369 <tt>
1370 <span class="functName">
1371 <a href="#leaf-elements-1" title="All XML elements that don't have any child elements">leaf-elements</a>
1372 </span>
1373 <span class="functName"></span> (
1374<span class="funcParam"> $root</span> as node()?
1375 ) as element(*)*<br />
1376 <span class="padding"></span>
1377 </tt>
1378 </td>
1379 </tr>
1380 <tr>
1381 <td class="type">
1382 <span class="no_underline"></span>
1383 </td>
1384 <td>
1385 <tt>
1386 <span class="functName">
1387 <a href="#left-trim-1" title="Trims leading whitespace">left-trim</a>
1388 </span>
1389 <span class="functName"></span> (
1390<span class="funcParam"> $arg</span> as xs:string?
1391 ) as xs:string<br />
1392 <span class="padding"></span>
1393 </tt>
1394 </td>
1395 </tr>
1396 <tr>
1397 <td class="type">
1398 <span class="no_underline"></span>
1399 </td>
1400 <td>
1401 <tt>
1402 <span class="functName">
1403 <a href="#line-count-1" title="The number of lines">line-count</a>
1404 </span>
1405 <span class="functName"></span> (
1406<span class="funcParam"> $arg</span> as xs:string?
1407 ) as xs:integer<br />
1408 <span class="padding"></span>
1409 </tt>
1410 </td>
1411 </tr>
1412 <tr>
1413 <td class="type">
1414 <span class="no_underline"></span>
1415 </td>
1416 <td>
1417 <tt>
1418 <span class="functName">
1419 <a href="#lines-1" title="Split a string into separate lines">lines</a>
1420 </span>
1421 <span class="functName"></span> (
1422<span class="funcParam"> $arg</span> as xs:string?
1423 ) as xs:string*<br />
1424 <span class="padding"></span>
1425 </tt>
1426 </td>
1427 </tr>
1428 <tr>
1429 <td class="type">
1430 <span class="no_underline"></span>
1431 </td>
1432 <td>
1433 <tt>
1434 <span class="functName">
1435 <a href="#max-depth-1" title="The maximum depth of elements in an XML tree">max-depth</a>
1436 </span>
1437 <span class="functName"></span> (
1438<span class="funcParam"> $root</span> as node()?
1439 ) as xs:integer?<br />
1440 <span class="padding"></span>
1441 </tt>
1442 </td>
1443 </tr>
1444 <tr>
1445 <td class="type">
1446 <span class="no_underline"></span>
1447 </td>
1448 <td>
1449 <tt>
1450 <span class="functName">
1451 <a href="#max-determine-type-1" title="The maximum value in a sequence, figuring out its type (numeric or string)">max-determine-type</a>
1452 </span>
1453 <span class="functName"></span> (
1454<span class="funcParam"> $seq</span> as xs:anyAtomicType*
1455 ) as xs:anyAtomicType?<br />
1456 <span class="padding"></span>
1457 </tt>
1458 </td>
1459 </tr>
1460 <tr>
1461 <td class="type">
1462 <span class="no_underline"></span>
1463 </td>
1464 <td>
1465 <tt>
1466 <span class="functName">
1467 <a href="#max-line-length-1" title="The maximum line length">max-line-length</a>
1468 </span>
1469 <span class="functName"></span> (
1470<span class="funcParam"> $arg</span> as xs:string?
1471 ) as xs:integer<br />
1472 <span class="padding"></span>
1473 </tt>
1474 </td>
1475 </tr>
1476 <tr>
1477 <td class="type">
1478 <span class="no_underline"></span>
1479 </td>
1480 <td>
1481 <tt>
1482 <span class="functName">
1483 <a href="#max-node-1" title="The XML node whose typed value is the maximum">max-node</a>
1484 </span>
1485 <span class="functName"></span> (
1486<span class="funcParam"> $nodes</span> as node()*
1487 ) as node()*<br />
1488 <span class="padding"></span>
1489 </tt>
1490 </td>
1491 </tr>
1492 <tr>
1493 <td class="type">
1494 <span class="no_underline"></span>
1495 </td>
1496 <td>
1497 <tt>
1498 <span class="functName">
1499 <a href="#max-string-1" title="The maximum of a sequence of values, treating them like strings">max-string</a>
1500 </span>
1501 <span class="functName"></span> (
1502<span class="funcParam"> $strings</span> as xs:anyAtomicType*
1503 ) as xs:string?<br />
1504 <span class="padding"></span>
1505 </tt>
1506 </td>
1507 </tr>
1508 <tr>
1509 <td class="type">
1510 <span class="no_underline"></span>
1511 </td>
1512 <td>
1513 <tt>
1514 <span class="functName">
1515 <a href="#min-determine-type-1" title="The minimum value in a sequence, figuring out its type (numeric or string)">min-determine-type</a>
1516 </span>
1517 <span class="functName"></span> (
1518<span class="funcParam"> $seq</span> as xs:anyAtomicType*
1519 ) as xs:anyAtomicType?<br />
1520 <span class="padding"></span>
1521 </tt>
1522 </td>
1523 </tr>
1524 <tr>
1525 <td class="type">
1526 <span class="no_underline"></span>
1527 </td>
1528 <td>
1529 <tt>
1530 <span class="functName">
1531 <a href="#min-node-1" title="The XML node whose typed value is the minimum">min-node</a>
1532 </span>
1533 <span class="functName"></span> (
1534<span class="funcParam"> $nodes</span> as node()*
1535 ) as node()*<br />
1536 <span class="padding"></span>
1537 </tt>
1538 </td>
1539 </tr>
1540 <tr>
1541 <td class="type">
1542 <span class="no_underline"></span>
1543 </td>
1544 <td>
1545 <tt>
1546 <span class="functName">
1547 <a href="#min-non-empty-string-1" title="The minimum of a sequence of strings, ignoring &quot;empty&quot; values">min-non-empty-string</a>
1548 </span>
1549 <span class="functName"></span> (
1550<span class="funcParam"> $strings</span> as xs:string*
1551 ) as xs:string?<br />
1552 <span class="padding"></span>
1553 </tt>
1554 </td>
1555 </tr>
1556 <tr>
1557 <td class="type">
1558 <span class="no_underline"></span>
1559 </td>
1560 <td>
1561 <tt>
1562 <span class="functName">
1563 <a href="#min-string-1" title="The minimum of a sequence of values, treating them like strings">min-string</a>
1564 </span>
1565 <span class="functName"></span> (
1566<span class="funcParam"> $strings</span> as xs:anyAtomicType*
1567 ) as xs:string?<br />
1568 <span class="padding"></span>
1569 </tt>
1570 </td>
1571 </tr>
1572 <tr>
1573 <td class="type">
1574 <span class="no_underline"></span>
1575 </td>
1576 <td>
1577 <tt>
1578 <span class="functName">
1579 <a href="#mmddyyyy-to-date-1" title="Converts a string with format MMDDYYYY (with any delimiters) to a date">mmddyyyy-to-date</a>
1580 </span>
1581 <span class="functName"></span> (
1582<span class="funcParam"> $dateString</span> as xs:string?
1583 ) as xs:date?<br />
1584 <span class="padding"></span>
1585 </tt>
1586 </td>
1587 </tr>
1588 <tr>
1589 <td class="type">
1590 <span class="no_underline"></span>
1591 </td>
1592 <td>
1593 <tt>
1594 <span class="functName">
1595 <a href="#month-abbrev-en-1" title="The month of a date as an abbreviated word (Jan, Feb, etc.)">month-abbrev-en</a>
1596 </span>
1597 <span class="functName"></span> (
1598<span class="funcParam"> $date</span> as xs:anyAtomicType?
1599 ) as xs:string?<br />
1600 <span class="padding"> The month of a date as an abbreviated word (Jan, Feb, etc.</span>
1601 </tt>
1602 </td>
1603 </tr>
1604 <tr>
1605 <td class="type">
1606 <span class="no_underline"></span>
1607 </td>
1608 <td>
1609 <tt>
1610 <span class="functName">
1611 <a href="#month-name-en-1" title="The month of a date as a word (January, February, etc.)">month-name-en</a>
1612 </span>
1613 <span class="functName"></span> (
1614<span class="funcParam"> $date</span> as xs:anyAtomicType?
1615 ) as xs:string?<br />
1616 <span class="padding"> The month of a date as a word (January, February, etc.</span>
1617 </tt>
1618 </td>
1619 </tr>
1620 <tr>
1621 <td class="type">
1622 <span class="no_underline"></span>
1623 </td>
1624 <td>
1625 <tt>
1626 <span class="functName">
1627 <a href="#name-test-2" title="Whether a name matches a list of names or name wildcards">name-test</a>
1628 </span>
1629 <span class="functName"></span> (
1630<span class="funcParam"> $testname</span> as xs:string?,
1631<span class="funcParam"> $names</span> as xs:string*
1632 ) as xs:boolean<br />
1633 <span class="padding"></span>
1634 </tt>
1635 </td>
1636 </tr>
1637 <tr>
1638 <td class="type">
1639 <span class="no_underline"></span>
1640 </td>
1641 <td>
1642 <tt>
1643 <span class="functName">
1644 <a href="#namespaces-in-use-1" title="A list of namespaces used in element/attribute names in an XML fragment">namespaces-in-use</a>
1645 </span>
1646 <span class="functName"></span> (
1647<span class="funcParam"> $root</span> as node()?
1648 ) as xs:anyURI*<br />
1649 <span class="padding"></span>
1650 </tt>
1651 </td>
1652 </tr>
1653 <tr>
1654 <td class="type">
1655 <span class="no_underline"></span>
1656 </td>
1657 <td>
1658 <tt>
1659 <span class="functName">
1660 <a href="#next-day-1" title="The next day">next-day</a>
1661 </span>
1662 <span class="functName"></span> (
1663<span class="funcParam"> $date</span> as xs:anyAtomicType?
1664 ) as xs:date?<br />
1665 <span class="padding"></span>
1666 </tt>
1667 </td>
1668 </tr>
1669 <tr>
1670 <td class="type">
1671 <span class="no_underline"></span>
1672 </td>
1673 <td>
1674 <tt>
1675 <span class="functName">
1676 <a href="#node-kind-1" title="The XML node kind (element, attribute, text, etc.)">node-kind</a>
1677 </span>
1678 <span class="functName"></span> (
1679<span class="funcParam"> $nodes</span> as node()*
1680 ) as xs:string*<br />
1681 <span class="padding"> The XML node kind (element, attribute, text, etc.</span>
1682 </tt>
1683 </td>
1684 </tr>
1685 <tr>
1686 <td class="type">
1687 <span class="no_underline"></span>
1688 </td>
1689 <td>
1690 <tt>
1691 <span class="functName">
1692 <a href="#non-distinct-values-1" title="Returns any values that appear more than once in a sequence">non-distinct-values</a>
1693 </span>
1694 <span class="functName"></span> (
1695<span class="funcParam"> $seq</span> as xs:anyAtomicType*
1696 ) as xs:anyAtomicType*<br />
1697 <span class="padding"></span>
1698 </tt>
1699 </td>
1700 </tr>
1701 <tr>
1702 <td class="type">
1703 <span class="no_underline"></span>
1704 </td>
1705 <td>
1706 <tt>
1707 <span class="functName">
1708 <a href="#number-of-matches-2" title="The number of regions that match a pattern">number-of-matches</a>
1709 </span>
1710 <span class="functName"></span> (
1711<span class="funcParam"> $arg</span> as xs:string?,
1712<span class="funcParam"> $pattern</span> as xs:string
1713 ) as xs:integer<br />
1714 <span class="padding"></span>
1715 </tt>
1716 </td>
1717 </tr>
1718 <tr>
1719 <td class="type">
1720 <span class="no_underline"></span>
1721 </td>
1722 <td>
1723 <tt>
1724 <span class="functName">
1725 <a href="#open-ref-document-1" title="Resolves a relative URI and references it, returning an XML document">open-ref-document</a>
1726 </span>
1727 <span class="functName"></span> (
1728<span class="funcParam"> $refNode</span> as node()
1729 ) as document()<br />
1730 <span class="padding"></span>
1731 </tt>
1732 </td>
1733 </tr>
1734 <tr>
1735 <td class="type">
1736 <span class="no_underline"></span>
1737 </td>
1738 <td>
1739 <tt>
1740 <span class="functName">
1741 <a href="#ordinal-number-en-1" title="Reformats a number as an ordinal number, e.g. 1st, 2nd, 3rd.">ordinal-number-en</a>
1742 </span>
1743 <span class="functName"></span> (
1744<span class="funcParam"> $num</span> as xs:integer?
1745 ) as xs:string<br />
1746 <span class="padding"> Reformats a number as an ordinal number, e.</span>
1747 </tt>
1748 </td>
1749 </tr>
1750 <tr>
1751 <td class="type">
1752 <span class="no_underline"></span>
1753 </td>
1754 <td>
1755 <tt>
1756 <span class="functName">
1757 <a href="#pad-integer-to-length-2" title="Pads an integer to a desired length by adding leading zeros">pad-integer-to-length</a>
1758 </span>
1759 <span class="functName"></span> (
1760<span class="funcParam"> $integerToPad</span> as xs:anyAtomicType?,
1761<span class="funcParam"> $length</span> as xs:integer
1762 ) as xs:string<br />
1763 <span class="padding"></span>
1764 </tt>
1765 </td>
1766 </tr>
1767 <tr>
1768 <td class="type">
1769 <span class="no_underline"></span>
1770 </td>
1771 <td>
1772 <tt>
1773 <span class="functName">
1774 <a href="#pad-string-to-length-3" title="Pads a string to a desired length">pad-string-to-length</a>
1775 </span>
1776 <span class="functName"></span> (
1777<span class="funcParam"> $stringToPad</span> as xs:string?,
1778<span class="funcParam"> $padChar</span> as xs:string,
1779<span class="funcParam"> $length</span> as xs:integer
1780 ) as xs:string<br />
1781 <span class="padding"></span>
1782 </tt>
1783 </td>
1784 </tr>
1785 <tr>
1786 <td class="type">
1787 <span class="no_underline"></span>
1788 </td>
1789 <td>
1790 <tt>
1791 <span class="functName">
1792 <a href="#path-to-node-1" title="A path to an XML node (or sequence of nodes)">path-to-node</a>
1793 </span>
1794 <span class="functName"></span> (
1795<span class="funcParam"> $nodes</span> as node()*
1796 ) as xs:string*<br />
1797 <span class="padding"></span>
1798 </tt>
1799 </td>
1800 </tr>
1801 <tr>
1802 <td class="type">
1803 <span class="no_underline"></span>
1804 </td>
1805 <td>
1806 <tt>
1807 <span class="functName">
1808 <a href="#path-to-node-with-pos-1" title="A unique path to an XML node (or sequence of nodes)">path-to-node-with-pos</a>
1809 </span>
1810 <span class="functName"></span> (
1811<span class="funcParam"> $node</span> as node()?
1812 ) as xs:string<br />
1813 <span class="padding"></span>
1814 </tt>
1815 </td>
1816 </tr>
1817 <tr>
1818 <td class="type">
1819 <span class="no_underline"></span>
1820 </td>
1821 <td>
1822 <tt>
1823 <span class="functName">
1824 <a href="#precedes-not-ancestor-2" title="Whether an XML node precedes another without being its ancestor">precedes-not-ancestor</a>
1825 </span>
1826 <span class="functName"></span> (
1827<span class="funcParam"> $a</span> as node()?,
1828<span class="funcParam"> $b</span> as node()?
1829 ) as xs:boolean<br />
1830 <span class="padding"></span>
1831 </tt>
1832 </td>
1833 </tr>
1834 <tr>
1835 <td class="type">
1836 <span class="no_underline"></span>
1837 </td>
1838 <td>
1839 <tt>
1840 <span class="functName">
1841 <a href="#previous-day-1" title="The previous day">previous-day</a>
1842 </span>
1843 <span class="functName"></span> (
1844<span class="funcParam"> $date</span> as xs:anyAtomicType?
1845 ) as xs:date?<br />
1846 <span class="padding"></span>
1847 </tt>
1848 </td>
1849 </tr>
1850 <tr>
1851 <td class="type">
1852 <span class="no_underline"></span>
1853 </td>
1854 <td>
1855 <tt>
1856 <span class="functName">
1857 <a href="#remove-attributes-2" title="Removes attributes from an XML element, based on name">remove-attributes</a>
1858 </span>
1859 <span class="functName"></span> (
1860<span class="funcParam"> $elements</span> as element(*)*,
1861<span class="funcParam"> $names</span> as xs:string*
1862 ) as element(*)<br />
1863 <span class="padding"></span>
1864 </tt>
1865 </td>
1866 </tr>
1867 <tr>
1868 <td class="type">
1869 <span class="no_underline"></span>
1870 </td>
1871 <td>
1872 <tt>
1873 <span class="functName">
1874 <a href="#remove-attributes-deep-2" title="Removes attributes from an XML fragment, based on name">remove-attributes-deep</a>
1875 </span>
1876 <span class="functName"></span> (
1877<span class="funcParam"> $nodes</span> as node()*,
1878<span class="funcParam"> $names</span> as xs:string*
1879 ) as node()*<br />
1880 <span class="padding"></span>
1881 </tt>
1882 </td>
1883 </tr>
1884 <tr>
1885 <td class="type">
1886 <span class="no_underline"></span>
1887 </td>
1888 <td>
1889 <tt>
1890 <span class="functName">
1891 <a href="#remove-elements-2" title="Removes child elements from an XML node, based on name">remove-elements</a>
1892 </span>
1893 <span class="functName"></span> (
1894<span class="funcParam"> $elements</span> as element(*)*,
1895<span class="funcParam"> $names</span> as xs:string*
1896 ) as element(*)*<br />
1897 <span class="padding"></span>
1898 </tt>
1899 </td>
1900 </tr>
1901 <tr>
1902 <td class="type">
1903 <span class="no_underline"></span>
1904 </td>
1905 <td>
1906 <tt>
1907 <span class="functName">
1908 <a href="#remove-elements-deep-2" title="Removes descendant elements from an XML node, based on name">remove-elements-deep</a>
1909 </span>
1910 <span class="functName"></span> (
1911<span class="funcParam"> $nodes</span> as node()*,
1912<span class="funcParam"> $names</span> as xs:string*
1913 ) as node()*<br />
1914 <span class="padding"></span>
1915 </tt>
1916 </td>
1917 </tr>
1918 <tr>
1919 <td class="type">
1920 <span class="no_underline"></span>
1921 </td>
1922 <td>
1923 <tt>
1924 <span class="functName">
1925 <a href="#remove-elements-not-contents-2" title="Removes descendant XML elements but keeps their content">remove-elements-not-contents</a>
1926 </span>
1927 <span class="functName"></span> (
1928<span class="funcParam"> $nodes</span> as node()*,
1929<span class="funcParam"> $names</span> as xs:string*
1930 ) as node()*<br />
1931 <span class="padding"></span>
1932 </tt>
1933 </td>
1934 </tr>
1935 <tr>
1936 <td class="type">
1937 <span class="no_underline"></span>
1938 </td>
1939 <td>
1940 <tt>
1941 <span class="functName">
1942 <a href="#repeat-string-2" title="Repeats a string a given number of times">repeat-string</a>
1943 </span>
1944 <span class="functName"></span> (
1945<span class="funcParam"> $stringToRepeat</span> as xs:string?,
1946<span class="funcParam"> $count</span> as xs:integer
1947 ) as xs:string<br />
1948 <span class="padding"></span>
1949 </tt>
1950 </td>
1951 </tr>
1952 <tr>
1953 <td class="type">
1954 <span class="no_underline"></span>
1955 </td>
1956 <td>
1957 <tt>
1958 <span class="functName">
1959 <a href="#replace-beginning-3" title="Replaces the beginning of a string, up to a matched pattern">replace-beginning</a>
1960 </span>
1961 <span class="functName"></span> (
1962<span class="funcParam"> $arg</span> as xs:string?,
1963<span class="funcParam"> $pattern</span> as xs:string,
1964<span class="funcParam"> $replacement</span> as xs:string
1965 ) as xs:string<br />
1966 <span class="padding"></span>
1967 </tt>
1968 </td>
1969 </tr>
1970 <tr>
1971 <td class="type">
1972 <span class="no_underline"></span>
1973 </td>
1974 <td>
1975 <tt>
1976 <span class="functName">
1977 <a href="#replace-element-values-2" title="Updates the content of one or more elements">replace-element-values</a>
1978 </span>
1979 <span class="functName"></span> (
1980<span class="funcParam"> $elements</span> as element(*)*,
1981<span class="funcParam"> $values</span> as xs:anyAtomicType*
1982 ) as element(*)*<br />
1983 <span class="padding"></span>
1984 </tt>
1985 </td>
1986 </tr>
1987 <tr>
1988 <td class="type">
1989 <span class="no_underline"></span>
1990 </td>
1991 <td>
1992 <tt>
1993 <span class="functName">
1994 <a href="#replace-first-3" title="Replaces the first match of a pattern">replace-first</a>
1995 </span>
1996 <span class="functName"></span> (
1997<span class="funcParam"> $arg</span> as xs:string?,
1998<span class="funcParam"> $pattern</span> as xs:string,
1999<span class="funcParam"> $replacement</span> as xs:string
2000 ) as xs:string<br />
2001 <span class="padding"></span>
2002 </tt>
2003 </td>
2004 </tr>
2005 <tr>
2006 <td class="type">
2007 <span class="no_underline"></span>
2008 </td>
2009 <td>
2010 <tt>
2011 <span class="functName">
2012 <a href="#replace-multi-3" title="Performs multiple replacements, using pairs of replace parameters">replace-multi</a>
2013 </span>
2014 <span class="functName"></span> (
2015<span class="funcParam"> $arg</span> as xs:string?,
2016<span class="funcParam"> $changeFrom</span> as xs:string*,
2017<span class="funcParam"> $changeTo</span> as xs:string*
2018 ) as xs:string?<br />
2019 <span class="padding"></span>
2020 </tt>
2021 </td>
2022 </tr>
2023 <tr>
2024 <td class="type">
2025 <span class="no_underline"></span>
2026 </td>
2027 <td>
2028 <tt>
2029 <span class="functName">
2030 <a href="#reverse-string-1" title="Reverses the order of characters">reverse-string</a>
2031 </span>
2032 <span class="functName"></span> (
2033<span class="funcParam"> $arg</span> as xs:string?
2034 ) as xs:string<br />
2035 <span class="padding"></span>
2036 </tt>
2037 </td>
2038 </tr>
2039 <tr>
2040 <td class="type">
2041 <span class="no_underline"></span>
2042 </td>
2043 <td>
2044 <tt>
2045 <span class="functName">
2046 <a href="#right-trim-1" title="Trims trailing whitespace">right-trim</a>
2047 </span>
2048 <span class="functName"></span> (
2049<span class="funcParam"> $arg</span> as xs:string?
2050 ) as xs:string<br />
2051 <span class="padding"></span>
2052 </tt>
2053 </td>
2054 </tr>
2055 <tr>
2056 <td class="type">
2057 <span class="no_underline"></span>
2058 </td>
2059 <td>
2060 <tt>
2061 <span class="functName">
2062 <a href="#scheme-from-uri-1" title="Returns the scheme from a URI">scheme-from-uri</a>
2063 </span>
2064 <span class="functName"></span> (
2065<span class="funcParam"> $uri</span> as xs:string?
2066 ) as xs:string?<br />
2067 <span class="padding"></span>
2068 </tt>
2069 </td>
2070 </tr>
2071 <tr>
2072 <td class="type">
2073 <span class="no_underline"></span>
2074 </td>
2075 <td>
2076 <tt>
2077 <span class="functName">
2078 <a href="#sequence-deep-equal-2" title="Whether two sequences have the same XML node content and/or values">sequence-deep-equal</a>
2079 </span>
2080 <span class="functName"></span> (
2081<span class="funcParam"> $seq1</span> as item()*,
2082<span class="funcParam"> $seq2</span> as item()*
2083 ) as xs:boolean<br />
2084 <span class="padding"></span>
2085 </tt>
2086 </td>
2087 </tr>
2088 <tr>
2089 <td class="type">
2090 <span class="no_underline"></span>
2091 </td>
2092 <td>
2093 <tt>
2094 <span class="functName">
2095 <a href="#sequence-node-equal-2" title="Whether two sequences contain the same XML nodes, in the same order">sequence-node-equal</a>
2096 </span>
2097 <span class="functName"></span> (
2098<span class="funcParam"> $seq1</span> as node()*,
2099<span class="funcParam"> $seq2</span> as node()*
2100 ) as xs:boolean<br />
2101 <span class="padding"></span>
2102 </tt>
2103 </td>
2104 </tr>
2105 <tr>
2106 <td class="type">
2107 <span class="no_underline"></span>
2108 </td>
2109 <td>
2110 <tt>
2111 <span class="functName">
2112 <a href="#sequence-node-equal-any-order-2" title="Whether two sequences contain the same XML nodes, regardless of order">sequence-node-equal-any-order</a>
2113 </span>
2114 <span class="functName"></span> (
2115<span class="funcParam"> $seq1</span> as node()*,
2116<span class="funcParam"> $seq2</span> as node()*
2117 ) as xs:boolean<br />
2118 <span class="padding"></span>
2119 </tt>
2120 </td>
2121 </tr>
2122 <tr>
2123 <td class="type">
2124 <span class="no_underline"></span>
2125 </td>
2126 <td>
2127 <tt>
2128 <span class="functName">
2129 <a href="#sequence-type-1" title="The sequence type that represents a sequence of nodes or values">sequence-type</a>
2130 </span>
2131 <span class="functName"></span> (
2132<span class="funcParam"> $items</span> as item()*
2133 ) as xs:string<br />
2134 <span class="padding"></span>
2135 </tt>
2136 </td>
2137 </tr>
2138 <tr>
2139 <td class="type">
2140 <span class="no_underline"></span>
2141 </td>
2142 <td>
2143 <tt>
2144 <span class="functName">
2145 <a href="#siblings-1" title="The siblings of an XML node">siblings</a>
2146 </span>
2147 <span class="functName"></span> (
2148<span class="funcParam"> $node</span> as node()?
2149 ) as node()*<br />
2150 <span class="padding"></span>
2151 </tt>
2152 </td>
2153 </tr>
2154 <tr>
2155 <td class="type">
2156 <span class="no_underline"></span>
2157 </td>
2158 <td>
2159 <tt>
2160 <span class="functName">
2161 <a href="#siblings-same-name-1" title="The siblings of an XML element that have the same name">siblings-same-name</a>
2162 </span>
2163 <span class="functName"></span> (
2164<span class="funcParam"> $element</span> as element(*)?
2165 ) as element(*)*<br />
2166 <span class="padding"></span>
2167 </tt>
2168 </td>
2169 </tr>
2170 <tr>
2171 <td class="type">
2172 <span class="no_underline"></span>
2173 </td>
2174 <td>
2175 <tt>
2176 <span class="functName">
2177 <a href="#sort-1" title="Sorts a sequence of values or nodes">sort</a>
2178 </span>
2179 <span class="functName"></span> (
2180<span class="funcParam"> $seq</span> as item()*
2181 ) as item()*<br />
2182 <span class="padding"></span>
2183 </tt>
2184 </td>
2185 </tr>
2186 <tr>
2187 <td class="type">
2188 <span class="no_underline"></span>
2189 </td>
2190 <td>
2191 <tt>
2192 <span class="functName">
2193 <a href="#sort-as-numeric-1" title="Sorts a sequence of numeric values or nodes">sort-as-numeric</a>
2194 </span>
2195 <span class="functName"></span> (
2196<span class="funcParam"> $seq</span> as item()*
2197 ) as item()*<br />
2198 <span class="padding"></span>
2199 </tt>
2200 </td>
2201 </tr>
2202 <tr>
2203 <td class="type">
2204 <span class="no_underline"></span>
2205 </td>
2206 <td>
2207 <tt>
2208 <span class="functName">
2209 <a href="#sort-case-insensitive-1" title="Sorts a sequence of values or nodes regardless of capitalization">sort-case-insensitive</a>
2210 </span>
2211 <span class="functName"></span> (
2212<span class="funcParam"> $seq</span> as item()*
2213 ) as item()*<br />
2214 <span class="padding"></span>
2215 </tt>
2216 </td>
2217 </tr>
2218 <tr>
2219 <td class="type">
2220 <span class="no_underline"></span>
2221 </td>
2222 <td>
2223 <tt>
2224 <span class="functName">
2225 <a href="#sort-document-order-1" title="Sorts a sequence of nodes in document order">sort-document-order</a>
2226 </span>
2227 <span class="functName"></span> (
2228<span class="funcParam"> $seq</span> as node()*
2229 ) as node()*<br />
2230 <span class="padding"></span>
2231 </tt>
2232 </td>
2233 </tr>
2234 <tr>
2235 <td class="type">
2236 <span class="no_underline"></span>
2237 </td>
2238 <td>
2239 <tt>
2240 <span class="functName">
2241 <a href="#substring-after-if-contains-2" title="Performs substring-after, returning the entire string if it does not contain the delimiter">substring-after-if-contains</a>
2242 </span>
2243 <span class="functName"></span> (
2244<span class="funcParam"> $arg</span> as xs:string?,
2245<span class="funcParam"> $delim</span> as xs:string
2246 ) as xs:string?<br />
2247 <span class="padding"></span>
2248 </tt>
2249 </td>
2250 </tr>
2251 <tr>
2252 <td class="type">
2253 <span class="no_underline"></span>
2254 </td>
2255 <td>
2256 <tt>
2257 <span class="functName">
2258 <a href="#substring-after-last-2" title="The substring after the last occurrence of a delimiter">substring-after-last</a>
2259 </span>
2260 <span class="functName"></span> (
2261<span class="funcParam"> $arg</span> as xs:string?,
2262<span class="funcParam"> $delim</span> as xs:string
2263 ) as xs:string<br />
2264 <span class="padding"></span>
2265 </tt>
2266 </td>
2267 </tr>
2268 <tr>
2269 <td class="type">
2270 <span class="no_underline"></span>
2271 </td>
2272 <td>
2273 <tt>
2274 <span class="functName">
2275 <a href="#substring-after-last-match-2" title="The substring after the last text that matches a regex">substring-after-last-match</a>
2276 </span>
2277 <span class="functName"></span> (
2278<span class="funcParam"> $arg</span> as xs:string?,
2279<span class="funcParam"> $regex</span> as xs:string
2280 ) as xs:string<br />
2281 <span class="padding"></span>
2282 </tt>
2283 </td>
2284 </tr>
2285 <tr>
2286 <td class="type">
2287 <span class="no_underline"></span>
2288 </td>
2289 <td>
2290 <tt>
2291 <span class="functName">
2292 <a href="#substring-after-match-2" title="The substring after the first text that matches a regex">substring-after-match</a>
2293 </span>
2294 <span class="functName"></span> (
2295<span class="funcParam"> $arg</span> as xs:string?,
2296<span class="funcParam"> $regex</span> as xs:string
2297 ) as xs:string?<br />
2298 <span class="padding"></span>
2299 </tt>
2300 </td>
2301 </tr>
2302 <tr>
2303 <td class="type">
2304 <span class="no_underline"></span>
2305 </td>
2306 <td>
2307 <tt>
2308 <span class="functName">
2309 <a href="#substring-before-if-contains-2" title="Performs substring-before, returning the entire string if it does not contain the delimiter">substring-before-if-contains</a>
2310 </span>
2311 <span class="functName"></span> (
2312<span class="funcParam"> $arg</span> as xs:string?,
2313<span class="funcParam"> $delim</span> as xs:string
2314 ) as xs:string?<br />
2315 <span class="padding"></span>
2316 </tt>
2317 </td>
2318 </tr>
2319 <tr>
2320 <td class="type">
2321 <span class="no_underline"></span>
2322 </td>
2323 <td>
2324 <tt>
2325 <span class="functName">
2326 <a href="#substring-before-last-2" title="The substring before the last occurrence of a delimiter">substring-before-last</a>
2327 </span>
2328 <span class="functName"></span> (
2329<span class="funcParam"> $arg</span> as xs:string?,
2330<span class="funcParam"> $delim</span> as xs:string
2331 ) as xs:string<br />
2332 <span class="padding"></span>
2333 </tt>
2334 </td>
2335 </tr>
2336 <tr>
2337 <td class="type">
2338 <span class="no_underline"></span>
2339 </td>
2340 <td>
2341 <tt>
2342 <span class="functName">
2343 <a href="#substring-before-last-match-2" title="The substring after the first text that matches a regex">substring-before-last-match</a>
2344 </span>
2345 <span class="functName"></span> (
2346<span class="funcParam"> $arg</span> as xs:string?,
2347<span class="funcParam"> $regex</span> as xs:string
2348 ) as xs:string?<br />
2349 <span class="padding"></span>
2350 </tt>
2351 </td>
2352 </tr>
2353 <tr>
2354 <td class="type">
2355 <span class="no_underline"></span>
2356 </td>
2357 <td>
2358 <tt>
2359 <span class="functName">
2360 <a href="#substring-before-match-2" title="The substring before the last text that matches a regex">substring-before-match</a>
2361 </span>
2362 <span class="functName"></span> (
2363<span class="funcParam"> $arg</span> as xs:string?,
2364<span class="funcParam"> $regex</span> as xs:string
2365 ) as xs:string<br />
2366 <span class="padding"></span>
2367 </tt>
2368 </td>
2369 </tr>
2370 <tr>
2371 <td class="type">
2372 <span class="no_underline"></span>
2373 </td>
2374 <td>
2375 <tt>
2376 <span class="functName">
2377 <a href="#time-3" title="Construct a time from an hour, minute and second">time</a>
2378 </span>
2379 <span class="functName"></span> (
2380<span class="funcParam"> $hour</span> as xs:anyAtomicType,
2381<span class="funcParam"> $minute</span> as xs:anyAtomicType,
2382<span class="funcParam"> $second</span> as xs:anyAtomicType
2383 ) as xs:time<br />
2384 <span class="padding"></span>
2385 </tt>
2386 </td>
2387 </tr>
2388 <tr>
2389 <td class="type">
2390 <span class="no_underline"></span>
2391 </td>
2392 <td>
2393 <tt>
2394 <span class="functName">
2395 <a href="#timezone-from-duration-1" title="Converts an xs:dayTimeDuration into a timezone like &quot;-05:00&quot; or &quot;Z&quot;">timezone-from-duration</a>
2396 </span>
2397 <span class="functName"></span> (
2398<span class="funcParam"> $duration</span> as xs:dayTimeDuration
2399 ) as xs:string<br />
2400 <span class="padding"></span>
2401 </tt>
2402 </td>
2403 </tr>
2404 <tr>
2405 <td class="type">
2406 <span class="no_underline"></span>
2407 </td>
2408 <td>
2409 <tt>
2410 <span class="functName">
2411 <a href="#total-days-from-duration-1" title="The total number of days in a dayTimeDuration">total-days-from-duration</a>
2412 </span>
2413 <span class="functName"></span> (
2414<span class="funcParam"> $duration</span> as xs:dayTimeDuration?
2415 ) as xs:decimal?<br />
2416 <span class="padding"></span>
2417 </tt>
2418 </td>
2419 </tr>
2420 <tr>
2421 <td class="type">
2422 <span class="no_underline"></span>
2423 </td>
2424 <td>
2425 <tt>
2426 <span class="functName">
2427 <a href="#total-hours-from-duration-1" title="The total number of hours in a dayTimeDuration">total-hours-from-duration</a>
2428 </span>
2429 <span class="functName"></span> (
2430<span class="funcParam"> $duration</span> as xs:dayTimeDuration?
2431 ) as xs:decimal?<br />
2432 <span class="padding"></span>
2433 </tt>
2434 </td>
2435 </tr>
2436 <tr>
2437 <td class="type">
2438 <span class="no_underline"></span>
2439 </td>
2440 <td>
2441 <tt>
2442 <span class="functName">
2443 <a href="#total-minutes-from-duration-1" title="The total number of minutes in a dayTimeDuration">total-minutes-from-duration</a>
2444 </span>
2445 <span class="functName"></span> (
2446<span class="funcParam"> $duration</span> as xs:dayTimeDuration?
2447 ) as xs:decimal?<br />
2448 <span class="padding"></span>
2449 </tt>
2450 </td>
2451 </tr>
2452 <tr>
2453 <td class="type">
2454 <span class="no_underline"></span>
2455 </td>
2456 <td>
2457 <tt>
2458 <span class="functName">
2459 <a href="#total-months-from-duration-1" title="The total number of months in a yearMonthDuration">total-months-from-duration</a>
2460 </span>
2461 <span class="functName"></span> (
2462<span class="funcParam"> $duration</span> as xs:yearMonthDuration?
2463 ) as xs:decimal?<br />
2464 <span class="padding"></span>
2465 </tt>
2466 </td>
2467 </tr>
2468 <tr>
2469 <td class="type">
2470 <span class="no_underline"></span>
2471 </td>
2472 <td>
2473 <tt>
2474 <span class="functName">
2475 <a href="#total-seconds-from-duration-1" title="The total number of seconds in a dayTimeDuration">total-seconds-from-duration</a>
2476 </span>
2477 <span class="functName"></span> (
2478<span class="funcParam"> $duration</span> as xs:dayTimeDuration?
2479 ) as xs:decimal?<br />
2480 <span class="padding"></span>
2481 </tt>
2482 </td>
2483 </tr>
2484 <tr>
2485 <td class="type">
2486 <span class="no_underline"></span>
2487 </td>
2488 <td>
2489 <tt>
2490 <span class="functName">
2491 <a href="#total-years-from-duration-1" title="The total number of years in a yearMonthDuration">total-years-from-duration</a>
2492 </span>
2493 <span class="functName"></span> (
2494<span class="funcParam"> $duration</span> as xs:yearMonthDuration?
2495 ) as xs:decimal?<br />
2496 <span class="padding"></span>
2497 </tt>
2498 </td>
2499 </tr>
2500 <tr>
2501 <td class="type">
2502 <span class="no_underline"></span>
2503 </td>
2504 <td>
2505 <tt>
2506 <span class="functName">
2507 <a href="#trim-1" title="Trims leading and trailing whitespace">trim</a>
2508 </span>
2509 <span class="functName"></span> (
2510<span class="funcParam"> $arg</span> as xs:string?
2511 ) as xs:string<br />
2512 <span class="padding"></span>
2513 </tt>
2514 </td>
2515 </tr>
2516 <tr>
2517 <td class="type">
2518 <span class="no_underline"></span>
2519 </td>
2520 <td>
2521 <tt>
2522 <span class="functName">
2523 <a href="#update-attributes-3" title="Updates the attribute value of an XML element">update-attributes</a>
2524 </span>
2525 <span class="functName"></span> (
2526<span class="funcParam"> $elements</span> as element(*)*,
2527<span class="funcParam"> $attrNames</span> as xs:QName*,
2528<span class="funcParam"> $attrValues</span> as xs:anyAtomicType*
2529 ) as element(*)?<br />
2530 <span class="padding"></span>
2531 </tt>
2532 </td>
2533 </tr>
2534 <tr>
2535 <td class="type">
2536 <span class="no_underline"></span>
2537 </td>
2538 <td>
2539 <tt>
2540 <span class="functName">
2541 <a href="#value-except-2" title="The values in one sequence that aren't in another sequence">value-except</a>
2542 </span>
2543 <span class="functName"></span> (
2544<span class="funcParam"> $arg1</span> as xs:anyAtomicType*,
2545<span class="funcParam"> $arg2</span> as xs:anyAtomicType*
2546 ) as xs:anyAtomicType*<br />
2547 <span class="padding"></span>
2548 </tt>
2549 </td>
2550 </tr>
2551 <tr>
2552 <td class="type">
2553 <span class="no_underline"></span>
2554 </td>
2555 <td>
2556 <tt>
2557 <span class="functName">
2558 <a href="#value-intersect-2" title="The intersection of two sequences of values">value-intersect</a>
2559 </span>
2560 <span class="functName"></span> (
2561<span class="funcParam"> $arg1</span> as xs:anyAtomicType*,
2562<span class="funcParam"> $arg2</span> as xs:anyAtomicType*
2563 ) as xs:anyAtomicType*<br />
2564 <span class="padding"></span>
2565 </tt>
2566 </td>
2567 </tr>
2568 <tr>
2569 <td class="type">
2570 <span class="no_underline"></span>
2571 </td>
2572 <td>
2573 <tt>
2574 <span class="functName">
2575 <a href="#value-union-2" title="The union of two sequences of values">value-union</a>
2576 </span>
2577 <span class="functName"></span> (
2578<span class="funcParam"> $arg1</span> as xs:anyAtomicType*,
2579<span class="funcParam"> $arg2</span> as xs:anyAtomicType*
2580 ) as xs:anyAtomicType*<br />
2581 <span class="padding"></span>
2582 </tt>
2583 </td>
2584 </tr>
2585 <tr>
2586 <td class="type">
2587 <span class="no_underline"></span>
2588 </td>
2589 <td>
2590 <tt>
2591 <span class="functName">
2592 <a href="#word-count-1" title="The number of words">word-count</a>
2593 </span>
2594 <span class="functName"></span> (
2595<span class="funcParam"> $arg</span> as xs:string?
2596 ) as xs:integer<br />
2597 <span class="padding"></span>
2598 </tt>
2599 </td>
2600 </tr>
2601 <tr>
2602 <td class="type">
2603 <span class="no_underline"></span>
2604 </td>
2605 <td>
2606 <tt>
2607 <span class="functName">
2608 <a href="#words-to-camel-case-1" title="Turns a string of words into camelCase">words-to-camel-case</a>
2609 </span>
2610 <span class="functName"></span> (
2611<span class="funcParam"> $arg</span> as xs:string?
2612 ) as xs:string<br />
2613 <span class="padding"></span>
2614 </tt>
2615 </td>
2616 </tr>
2617 <tr>
2618 <td class="type">
2619 <span class="no_underline"></span>
2620 </td>
2621 <td>
2622 <tt>
2623 <span class="functName">
2624 <a href="#wrap-values-in-elements-2" title="Wraps a sequence of atomic values in XML elements">wrap-values-in-elements</a>
2625 </span>
2626 <span class="functName"></span> (
2627<span class="funcParam"> $values</span> as xs:anyAtomicType*,
2628<span class="funcParam"> $elementName</span> as xs:QName
2629 ) as element(*)*<br />
2630 <span class="padding"></span>
2631 </tt>
2632 </td>
2633 </tr>
2634 <tr>
2635 <td class="type">
2636 <span class="no_underline"></span>
2637 </td>
2638 <td>
2639 <tt>
2640 <span class="functName">
2641 <a href="#yearMonthDuration-2" title="Construct a yearMonthDuration from a number of years and months">yearMonthDuration</a>
2642 </span>
2643 <span class="functName"></span> (
2644<span class="funcParam"> $years</span> as xs:decimal?,
2645<span class="funcParam"> $months</span> as xs:integer?
2646 ) as xs:yearMonthDuration<br />
2647 <span class="padding"></span>
2648 </tt>
2649 </td>
2650 </tr>
2651 </table>
2652 <div class="section">
2653 <span id="functions">Functions</span>
2654 </div>
2655 <div class="subsection" id="add-attributes-3">
2656 <span class="no_underline"></span>add-attributes<a href="#function_summary">
2657 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2658 </a>
2659 </div>
2660 <pre class="signature">declare function functx:add-attributes<span class="functName"></span> (
2661<span class="funcParam"> $elements</span> as element(*)*,
2662<span class="funcParam"> $attrNames</span> as xs:QName*,
2663<span class="funcParam"> $attrValues</span> as xs:anyAtomicType*
2664 ) as element(*)?</pre>
2665 <p> Adds attributes to XML elements
2666</p>
2667 <div class="subsubsection">Parameters:</div>
2668 <ul>
2669 <li>$elements the element(s) to which you wish to add the attribute</li>
2670 <li>$attrNames the name(s) of the attribute(s) to add</li>
2671 <li>$attrValues the value(s) of the attribute(s) to add</li>
2672 </ul>
2673 <div class="subsubsection">Version:</div>
2674 <p class="annotationText">1.0</p>
2675 <div class="subsubsection">Author:</div>
2676 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2677 <div class="subsubsection">See:</div>
2678 <ul>
2679 <li>
2680 <a href="http://www.xqueryfunctions.com/xq/functx_add-attributes.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_add-attributes.html</a>
2681 </li>
2682 </ul>
2683 <hr />
2684 <div class="subsection" id="add-months-2">
2685 <span class="no_underline"></span>add-months<a href="#function_summary">
2686 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2687 </a>
2688 </div>
2689 <pre class="signature">declare function functx:add-months<span class="functName"></span> (
2690<span class="funcParam"> $date</span> as xs:anyAtomicType?,
2691<span class="funcParam"> $months</span> as xs:integer
2692 ) as xs:date?</pre>
2693 <p> Adds months to a date
2694</p>
2695 <div class="subsubsection">Parameters:</div>
2696 <ul>
2697 <li>$date the date</li>
2698 <li>$months the number of months to add</li>
2699 </ul>
2700 <div class="subsubsection">Version:</div>
2701 <p class="annotationText">1.0</p>
2702 <div class="subsubsection">Author:</div>
2703 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2704 <div class="subsubsection">See:</div>
2705 <ul>
2706 <li>
2707 <a href="http://www.xqueryfunctions.com/xq/functx_add-months.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_add-months.html</a>
2708 </li>
2709 </ul>
2710 <hr />
2711 <div class="subsection" id="add-or-update-attributes-3">
2712 <span class="no_underline"></span>add-or-update-attributes<a href="#function_summary">
2713 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2714 </a>
2715 </div>
2716 <pre class="signature">declare function functx:add-or-update-attributes<span class="functName"></span> (
2717<span class="funcParam"> $elements</span> as element(*)*,
2718<span class="funcParam"> $attrNames</span> as xs:QName*,
2719<span class="funcParam"> $attrValues</span> as xs:anyAtomicType*
2720 ) as element(*)?</pre>
2721 <p> Adds attributes to XML elements
2722</p>
2723 <div class="subsubsection">Parameters:</div>
2724 <ul>
2725 <li>$elements the element(s) to which you wish to add the attribute</li>
2726 <li>$attrNames the name(s) of the attribute(s) to add</li>
2727 <li>$attrValues the value(s) of the attribute(s) to add</li>
2728 </ul>
2729 <div class="subsubsection">Version:</div>
2730 <p class="annotationText">1.0</p>
2731 <div class="subsubsection">Author:</div>
2732 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2733 <div class="subsubsection">See:</div>
2734 <ul>
2735 <li>
2736 <a href="http://www.xqueryfunctions.com/xq/functx_add-or-update-attributes.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_add-or-update-attributes.html</a>
2737 </li>
2738 </ul>
2739 <hr />
2740 <div class="subsection" id="all-whitespace-1">
2741 <span class="no_underline"></span>all-whitespace<a href="#function_summary">
2742 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2743 </a>
2744 </div>
2745 <pre class="signature">declare function functx:all-whitespace<span class="functName"></span> (
2746<span class="funcParam"> $arg</span> as xs:string?
2747 ) as xs:boolean</pre>
2748 <p> Whether a value is all whitespace or a zero-length string
2749</p>
2750 <div class="subsubsection">Parameters:</div>
2751 <ul>
2752 <li>$arg the string (or node) to test</li>
2753 </ul>
2754 <div class="subsubsection">Version:</div>
2755 <p class="annotationText">1.0</p>
2756 <div class="subsubsection">Author:</div>
2757 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2758 <div class="subsubsection">See:</div>
2759 <ul>
2760 <li>
2761 <a href="http://www.xqueryfunctions.com/xq/functx_all-whitespace.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_all-whitespace.html</a>
2762 </li>
2763 </ul>
2764 <hr />
2765 <div class="subsection" id="are-distinct-values-1">
2766 <span class="no_underline"></span>are-distinct-values<a href="#function_summary">
2767 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2768 </a>
2769 </div>
2770 <pre class="signature">declare function functx:are-distinct-values<span class="functName"></span> (
2771<span class="funcParam"> $seq</span> as xs:anyAtomicType*
2772 ) as xs:boolean</pre>
2773 <p> Whether all the values in a sequence are distinct
2774</p>
2775 <div class="subsubsection">Parameters:</div>
2776 <ul>
2777 <li>$seq the sequence of values</li>
2778 </ul>
2779 <div class="subsubsection">Version:</div>
2780 <p class="annotationText">1.0</p>
2781 <div class="subsubsection">Author:</div>
2782 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2783 <div class="subsubsection">See:</div>
2784 <ul>
2785 <li>
2786 <a href="http://www.xqueryfunctions.com/xq/functx_are-distinct-values.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_are-distinct-values.html</a>
2787 </li>
2788 </ul>
2789 <hr />
2790 <div class="subsection" id="atomic-type-1">
2791 <span class="no_underline"></span>atomic-type<a href="#function_summary">
2792 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2793 </a>
2794 </div>
2795 <pre class="signature">declare function functx:atomic-type<span class="functName"></span> (
2796<span class="funcParam"> $values</span> as xs:anyAtomicType*
2797 ) as xs:string*</pre>
2798 <p> The built-in type of an atomic value
2799</p>
2800 <div class="subsubsection">Parameters:</div>
2801 <ul>
2802 <li>$values the value(s) whose type you want to determine</li>
2803 </ul>
2804 <div class="subsubsection">Version:</div>
2805 <p class="annotationText">1.0</p>
2806 <div class="subsubsection">Author:</div>
2807 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2808 <div class="subsubsection">See:</div>
2809 <ul>
2810 <li>
2811 <a href="http://www.xqueryfunctions.com/xq/functx_atomic-type.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_atomic-type.html</a>
2812 </li>
2813 </ul>
2814 <hr />
2815 <div class="subsection" id="avg-empty-is-zero-2">
2816 <span class="no_underline"></span>avg-empty-is-zero<a href="#function_summary">
2817 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2818 </a>
2819 </div>
2820 <pre class="signature">declare function functx:avg-empty-is-zero<span class="functName"></span> (
2821<span class="funcParam"> $values</span> as xs:anyAtomicType*,
2822<span class="funcParam"> $allNodes</span> as node()*
2823 ) as xs:double</pre>
2824 <p> The average, counting "empty" values as zero
2825</p>
2826 <div class="subsubsection">Parameters:</div>
2827 <ul>
2828 <li>$values the values to be averaged</li>
2829 <li>$allNodes the sequence of all nodes to find the average over</li>
2830 </ul>
2831 <div class="subsubsection">Version:</div>
2832 <p class="annotationText">1.0</p>
2833 <div class="subsubsection">Author:</div>
2834 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2835 <div class="subsubsection">See:</div>
2836 <ul>
2837 <li>
2838 <a href="http://www.xqueryfunctions.com/xq/functx_avg-empty-is-zero.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_avg-empty-is-zero.html</a>
2839 </li>
2840 </ul>
2841 <hr />
2842 <div class="subsection" id="between-exclusive-3">
2843 <span class="no_underline"></span>between-exclusive<a href="#function_summary">
2844 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2845 </a>
2846 </div>
2847 <pre class="signature">declare function functx:between-exclusive<span class="functName"></span> (
2848<span class="funcParam"> $value</span> as xs:anyAtomicType?,
2849<span class="funcParam"> $minValue</span> as xs:anyAtomicType,
2850<span class="funcParam"> $maxValue</span> as xs:anyAtomicType
2851 ) as xs:boolean</pre>
2852 <p> Whether a value is between two provided values
2853</p>
2854 <div class="subsubsection">Parameters:</div>
2855 <ul>
2856 <li>$value the value to be tested</li>
2857 <li>$minValue the minimum value</li>
2858 <li>$maxValue the maximum value</li>
2859 </ul>
2860 <div class="subsubsection">Version:</div>
2861 <p class="annotationText">1.0</p>
2862 <div class="subsubsection">Author:</div>
2863 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2864 <div class="subsubsection">See:</div>
2865 <ul>
2866 <li>
2867 <a href="http://www.xqueryfunctions.com/xq/functx_between-exclusive.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_between-exclusive.html</a>
2868 </li>
2869 </ul>
2870 <hr />
2871 <div class="subsection" id="between-inclusive-3">
2872 <span class="no_underline"></span>between-inclusive<a href="#function_summary">
2873 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2874 </a>
2875 </div>
2876 <pre class="signature">declare function functx:between-inclusive<span class="functName"></span> (
2877<span class="funcParam"> $value</span> as xs:anyAtomicType?,
2878<span class="funcParam"> $minValue</span> as xs:anyAtomicType,
2879<span class="funcParam"> $maxValue</span> as xs:anyAtomicType
2880 ) as xs:boolean</pre>
2881 <p> Whether a value is between two provided values, or equal to one of them
2882</p>
2883 <div class="subsubsection">Parameters:</div>
2884 <ul>
2885 <li>$value the value to be tested</li>
2886 <li>$minValue the minimum value</li>
2887 <li>$maxValue the maximum value</li>
2888 </ul>
2889 <div class="subsubsection">Version:</div>
2890 <p class="annotationText">1.0</p>
2891 <div class="subsubsection">Author:</div>
2892 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2893 <div class="subsubsection">See:</div>
2894 <ul>
2895 <li>
2896 <a href="http://www.xqueryfunctions.com/xq/functx_between-inclusive.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_between-inclusive.html</a>
2897 </li>
2898 </ul>
2899 <hr />
2900 <div class="subsection" id="camel-case-to-words-2">
2901 <span class="no_underline"></span>camel-case-to-words<a href="#function_summary">
2902 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2903 </a>
2904 </div>
2905 <pre class="signature">declare function functx:camel-case-to-words<span class="functName"></span> (
2906<span class="funcParam"> $arg</span> as xs:string?,
2907<span class="funcParam"> $delim</span> as xs:string
2908 ) as xs:string</pre>
2909 <p> Turns a camelCase string into space-separated words
2910</p>
2911 <div class="subsubsection">Parameters:</div>
2912 <ul>
2913 <li>$arg the string to modify</li>
2914 <li>$delim the delimiter for the words (e.g. a space)</li>
2915 </ul>
2916 <div class="subsubsection">Version:</div>
2917 <p class="annotationText">1.0</p>
2918 <div class="subsubsection">Author:</div>
2919 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2920 <div class="subsubsection">See:</div>
2921 <ul>
2922 <li>
2923 <a href="http://www.xqueryfunctions.com/xq/functx_camel-case-to-words.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_camel-case-to-words.html</a>
2924 </li>
2925 </ul>
2926 <hr />
2927 <div class="subsection" id="capitalize-first-1">
2928 <span class="no_underline"></span>capitalize-first<a href="#function_summary">
2929 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2930 </a>
2931 </div>
2932 <pre class="signature">declare function functx:capitalize-first<span class="functName"></span> (
2933<span class="funcParam"> $arg</span> as xs:string?
2934 ) as xs:string?</pre>
2935 <p> Capitalizes the first character of a string
2936</p>
2937 <div class="subsubsection">Parameters:</div>
2938 <ul>
2939 <li>$arg the word or phrase to capitalize</li>
2940 </ul>
2941 <div class="subsubsection">Version:</div>
2942 <p class="annotationText">1.0</p>
2943 <div class="subsubsection">Author:</div>
2944 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2945 <div class="subsubsection">See:</div>
2946 <ul>
2947 <li>
2948 <a href="http://www.xqueryfunctions.com/xq/functx_capitalize-first.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_capitalize-first.html</a>
2949 </li>
2950 </ul>
2951 <hr />
2952 <div class="subsection" id="change-element-names-deep-3">
2953 <span class="no_underline"></span>change-element-names-deep<a href="#function_summary">
2954 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2955 </a>
2956 </div>
2957 <pre class="signature">declare function functx:change-element-names-deep<span class="functName"></span> (
2958<span class="funcParam"> $nodes</span> as node()*,
2959<span class="funcParam"> $oldNames</span> as xs:QName*,
2960<span class="funcParam"> $newNames</span> as xs:QName*
2961 ) as node()*</pre>
2962 <p> Changes the names of elements in an XML fragment
2963</p>
2964 <div class="subsubsection">Parameters:</div>
2965 <ul>
2966 <li>$nodes the element(s) to change</li>
2967 <li>$oldNames the sequence of names to change from</li>
2968 <li>$newNames the sequence of names to change to</li>
2969 </ul>
2970 <div class="subsubsection">Version:</div>
2971 <p class="annotationText">1.0</p>
2972 <div class="subsubsection">Author:</div>
2973 <p class="annotationText">Priscilla Walmsley, Datypic</p>
2974 <div class="subsubsection">See:</div>
2975 <ul>
2976 <li>
2977 <a href="http://www.xqueryfunctions.com/xq/functx_change-element-names-deep.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_change-element-names-deep.html</a>
2978 </li>
2979 </ul>
2980 <hr />
2981 <div class="subsection" id="change-element-ns-3">
2982 <span class="no_underline"></span>change-element-ns<a href="#function_summary">
2983 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
2984 </a>
2985 </div>
2986 <pre class="signature">declare function functx:change-element-ns<span class="functName"></span> (
2987<span class="funcParam"> $elements</span> as element(*)*,
2988<span class="funcParam"> $newns</span> as xs:string,
2989<span class="funcParam"> $prefix</span> as xs:string
2990 ) as element(*)?</pre>
2991 <p> Changes the namespace of XML elements
2992</p>
2993 <div class="subsubsection">Parameters:</div>
2994 <ul>
2995 <li>$elements the elements to change</li>
2996 <li>$newns the new namespace</li>
2997 <li>$prefix the prefix to use for the new namespace</li>
2998 </ul>
2999 <div class="subsubsection">Version:</div>
3000 <p class="annotationText">1.0</p>
3001 <div class="subsubsection">Author:</div>
3002 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3003 <div class="subsubsection">See:</div>
3004 <ul>
3005 <li>
3006 <a href="http://www.xqueryfunctions.com/xq/functx_change-element-ns.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_change-element-ns.html</a>
3007 </li>
3008 </ul>
3009 <hr />
3010 <div class="subsection" id="change-element-ns-deep-3">
3011 <span class="no_underline"></span>change-element-ns-deep<a href="#function_summary">
3012 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3013 </a>
3014 </div>
3015 <pre class="signature">declare function functx:change-element-ns-deep<span class="functName"></span> (
3016<span class="funcParam"> $nodes</span> as node()*,
3017<span class="funcParam"> $newns</span> as xs:string,
3018<span class="funcParam"> $prefix</span> as xs:string
3019 ) as node()*</pre>
3020 <p> Changes the namespace of XML elements and its descendants
3021</p>
3022 <div class="subsubsection">Parameters:</div>
3023 <ul>
3024 <li>$nodes the nodes to change</li>
3025 <li>$newns the new namespace</li>
3026 <li>$prefix the prefix to use for the new namespace</li>
3027 </ul>
3028 <div class="subsubsection">Version:</div>
3029 <p class="annotationText">1.0</p>
3030 <div class="subsubsection">Author:</div>
3031 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3032 <div class="subsubsection">See:</div>
3033 <ul>
3034 <li>
3035 <a href="http://www.xqueryfunctions.com/xq/functx_change-element-ns-deep.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_change-element-ns-deep.html</a>
3036 </li>
3037 </ul>
3038 <hr />
3039 <div class="subsection" id="chars-1">
3040 <span class="no_underline"></span>chars<a href="#function_summary">
3041 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3042 </a>
3043 </div>
3044 <pre class="signature">declare function functx:chars<span class="functName"></span> (
3045<span class="funcParam"> $arg</span> as xs:string?
3046 ) as xs:string*</pre>
3047 <p> Converts a string to a sequence of characters
3048</p>
3049 <div class="subsubsection">Parameters:</div>
3050 <ul>
3051 <li>$arg the string to split</li>
3052 </ul>
3053 <div class="subsubsection">Version:</div>
3054 <p class="annotationText">1.0</p>
3055 <div class="subsubsection">Author:</div>
3056 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3057 <div class="subsubsection">See:</div>
3058 <ul>
3059 <li>
3060 <a href="http://www.xqueryfunctions.com/xq/functx_chars.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_chars.html</a>
3061 </li>
3062 </ul>
3063 <hr />
3064 <div class="subsection" id="contains-any-of-2">
3065 <span class="no_underline"></span>contains-any-of<a href="#function_summary">
3066 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3067 </a>
3068 </div>
3069 <pre class="signature">declare function functx:contains-any-of<span class="functName"></span> (
3070<span class="funcParam"> $arg</span> as xs:string?,
3071<span class="funcParam"> $searchStrings</span> as xs:string*
3072 ) as xs:boolean</pre>
3073 <p> Whether a string contains any of a sequence of strings
3074</p>
3075 <div class="subsubsection">Parameters:</div>
3076 <ul>
3077 <li>$arg the string to test</li>
3078 <li>$searchStrings the strings to look for</li>
3079 </ul>
3080 <div class="subsubsection">Version:</div>
3081 <p class="annotationText">1.0</p>
3082 <div class="subsubsection">Author:</div>
3083 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3084 <div class="subsubsection">See:</div>
3085 <ul>
3086 <li>
3087 <a href="http://www.xqueryfunctions.com/xq/functx_contains-any-of.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_contains-any-of.html</a>
3088 </li>
3089 </ul>
3090 <hr />
3091 <div class="subsection" id="contains-case-insensitive-2">
3092 <span class="no_underline"></span>contains-case-insensitive<a href="#function_summary">
3093 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3094 </a>
3095 </div>
3096 <pre class="signature">declare function functx:contains-case-insensitive<span class="functName"></span> (
3097<span class="funcParam"> $arg</span> as xs:string?,
3098<span class="funcParam"> $substring</span> as xs:string
3099 ) as xs:boolean?</pre>
3100 <p> Whether one string contains another, without regard to case
3101</p>
3102 <div class="subsubsection">Parameters:</div>
3103 <ul>
3104 <li>$arg the string to search</li>
3105 <li>$substring the substring to find</li>
3106 </ul>
3107 <div class="subsubsection">Version:</div>
3108 <p class="annotationText">1.0</p>
3109 <div class="subsubsection">Author:</div>
3110 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3111 <div class="subsubsection">See:</div>
3112 <ul>
3113 <li>
3114 <a href="http://www.xqueryfunctions.com/xq/functx_contains-case-insensitive.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_contains-case-insensitive.html</a>
3115 </li>
3116 </ul>
3117 <hr />
3118 <div class="subsection" id="contains-word-2">
3119 <span class="no_underline"></span>contains-word<a href="#function_summary">
3120 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3121 </a>
3122 </div>
3123 <pre class="signature">declare function functx:contains-word<span class="functName"></span> (
3124<span class="funcParam"> $arg</span> as xs:string?,
3125<span class="funcParam"> $word</span> as xs:string
3126 ) as xs:boolean</pre>
3127 <p> Whether one string contains another, as a separate word
3128</p>
3129 <div class="subsubsection">Parameters:</div>
3130 <ul>
3131 <li>$arg the string to search</li>
3132 <li>$word the word to find</li>
3133 </ul>
3134 <div class="subsubsection">Version:</div>
3135 <p class="annotationText">1.0</p>
3136 <div class="subsubsection">Author:</div>
3137 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3138 <div class="subsubsection">See:</div>
3139 <ul>
3140 <li>
3141 <a href="http://www.xqueryfunctions.com/xq/functx_contains-word.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_contains-word.html</a>
3142 </li>
3143 </ul>
3144 <hr />
3145 <div class="subsection" id="copy-attributes-2">
3146 <span class="no_underline"></span>copy-attributes<a href="#function_summary">
3147 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3148 </a>
3149 </div>
3150 <pre class="signature">declare function functx:copy-attributes<span class="functName"></span> (
3151<span class="funcParam"> $copyTo</span> as element(*),
3152<span class="funcParam"> $copyFrom</span> as element(*)
3153 ) as element(*)</pre>
3154 <p> Copies attributes from one element to another
3155</p>
3156 <div class="subsubsection">Parameters:</div>
3157 <ul>
3158 <li>$copyTo the element to copy attributes to</li>
3159 <li>$copyFrom the element to copy attributes from</li>
3160 </ul>
3161 <div class="subsubsection">Version:</div>
3162 <p class="annotationText">1.0</p>
3163 <div class="subsubsection">Author:</div>
3164 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3165 <div class="subsubsection">See:</div>
3166 <ul>
3167 <li>
3168 <a href="http://www.xqueryfunctions.com/xq/functx_copy-attributes.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_copy-attributes.html</a>
3169 </li>
3170 </ul>
3171 <hr />
3172 <div class="subsection" id="date-3">
3173 <span class="no_underline"></span>date<a href="#function_summary">
3174 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3175 </a>
3176 </div>
3177 <pre class="signature">declare function functx:date<span class="functName"></span> (
3178<span class="funcParam"> $year</span> as xs:anyAtomicType,
3179<span class="funcParam"> $month</span> as xs:anyAtomicType,
3180<span class="funcParam"> $day</span> as xs:anyAtomicType
3181 ) as xs:date</pre>
3182 <p> Construct a date from a year, month and day
3183</p>
3184 <div class="subsubsection">Parameters:</div>
3185 <ul>
3186 <li>$year the year</li>
3187 <li>$month the month</li>
3188 <li>$day the day</li>
3189 </ul>
3190 <div class="subsubsection">Version:</div>
3191 <p class="annotationText">1.0</p>
3192 <div class="subsubsection">Author:</div>
3193 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3194 <div class="subsubsection">See:</div>
3195 <ul>
3196 <li>
3197 <a href="http://www.xqueryfunctions.com/xq/functx_date.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_date.html</a>
3198 </li>
3199 </ul>
3200 <hr />
3201 <div class="subsection" id="dateTime-6">
3202 <span class="no_underline"></span>dateTime<a href="#function_summary">
3203 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3204 </a>
3205 </div>
3206 <pre class="signature">declare function functx:dateTime<span class="functName"></span> (
3207<span class="funcParam"> $year</span> as xs:anyAtomicType,
3208<span class="funcParam"> $month</span> as xs:anyAtomicType,
3209<span class="funcParam"> $day</span> as xs:anyAtomicType,
3210<span class="funcParam"> $hour</span> as xs:anyAtomicType,
3211<span class="funcParam"> $minute</span> as xs:anyAtomicType,
3212<span class="funcParam"> $second</span> as xs:anyAtomicType
3213 ) as xs:dateTime</pre>
3214 <p> Construct a date/time from individual components
3215</p>
3216 <div class="subsubsection">Parameters:</div>
3217 <ul>
3218 <li>$year the year</li>
3219 <li>$month the month</li>
3220 <li>$day the day</li>
3221 <li>$hour the hour</li>
3222 <li>$minute the minute</li>
3223 <li>$second the second</li>
3224 </ul>
3225 <div class="subsubsection">Version:</div>
3226 <p class="annotationText">1.0</p>
3227 <div class="subsubsection">Author:</div>
3228 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3229 <div class="subsubsection">See:</div>
3230 <ul>
3231 <li>
3232 <a href="http://www.xqueryfunctions.com/xq/functx_datetime.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_datetime.html</a>
3233 </li>
3234 </ul>
3235 <hr />
3236 <div class="subsection" id="day-in-year-1">
3237 <span class="no_underline"></span>day-in-year<a href="#function_summary">
3238 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3239 </a>
3240 </div>
3241 <pre class="signature">declare function functx:day-in-year<span class="functName"></span> (
3242<span class="funcParam"> $date</span> as xs:anyAtomicType?
3243 ) as xs:integer?</pre>
3244 <p> The day of the year (a number between 1 and 366)
3245</p>
3246 <div class="subsubsection">Parameters:</div>
3247 <ul>
3248 <li>$date the date</li>
3249 </ul>
3250 <div class="subsubsection">Version:</div>
3251 <p class="annotationText">1.0</p>
3252 <div class="subsubsection">Author:</div>
3253 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3254 <div class="subsubsection">See:</div>
3255 <ul>
3256 <li>
3257 <a href="http://www.xqueryfunctions.com/xq/functx_day-in-year.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_day-in-year.html</a>
3258 </li>
3259 </ul>
3260 <hr />
3261 <div class="subsection" id="day-of-week-1">
3262 <span class="no_underline"></span>day-of-week<a href="#function_summary">
3263 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3264 </a>
3265 </div>
3266 <pre class="signature">declare function functx:day-of-week<span class="functName"></span> (
3267<span class="funcParam"> $date</span> as xs:anyAtomicType?
3268 ) as xs:integer?</pre>
3269 <p> The day of the week, from a date
3270</p>
3271 <div class="subsubsection">Parameters:</div>
3272 <ul>
3273 <li>$date the date</li>
3274 </ul>
3275 <div class="subsubsection">Version:</div>
3276 <p class="annotationText">1.0</p>
3277 <div class="subsubsection">Author:</div>
3278 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3279 <div class="subsubsection">See:</div>
3280 <ul>
3281 <li>
3282 <a href="http://www.xqueryfunctions.com/xq/functx_day-of-week.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_day-of-week.html</a>
3283 </li>
3284 </ul>
3285 <hr />
3286 <div class="subsection" id="day-of-week-abbrev-en-1">
3287 <span class="no_underline"></span>day-of-week-abbrev-en<a href="#function_summary">
3288 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3289 </a>
3290 </div>
3291 <pre class="signature">declare function functx:day-of-week-abbrev-en<span class="functName"></span> (
3292<span class="funcParam"> $date</span> as xs:anyAtomicType?
3293 ) as xs:string?</pre>
3294 <p> The abbreviated day of the week, from a date, in English
3295</p>
3296 <div class="subsubsection">Parameters:</div>
3297 <ul>
3298 <li>$date the date</li>
3299 </ul>
3300 <div class="subsubsection">Version:</div>
3301 <p class="annotationText">1.0</p>
3302 <div class="subsubsection">Author:</div>
3303 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3304 <div class="subsubsection">See:</div>
3305 <ul>
3306 <li>
3307 <a href="http://www.xqueryfunctions.com/xq/functx_day-of-week-abbrev-en.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_day-of-week-abbrev-en.html</a>
3308 </li>
3309 </ul>
3310 <hr />
3311 <div class="subsection" id="day-of-week-name-en-1">
3312 <span class="no_underline"></span>day-of-week-name-en<a href="#function_summary">
3313 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3314 </a>
3315 </div>
3316 <pre class="signature">declare function functx:day-of-week-name-en<span class="functName"></span> (
3317<span class="funcParam"> $date</span> as xs:anyAtomicType?
3318 ) as xs:string?</pre>
3319 <p> The name of the day of the week, from a date, in English
3320</p>
3321 <div class="subsubsection">Parameters:</div>
3322 <ul>
3323 <li>$date the date</li>
3324 </ul>
3325 <div class="subsubsection">Version:</div>
3326 <p class="annotationText">1.0</p>
3327 <div class="subsubsection">Author:</div>
3328 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3329 <div class="subsubsection">See:</div>
3330 <ul>
3331 <li>
3332 <a href="http://www.xqueryfunctions.com/xq/functx_day-of-week-name-en.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_day-of-week-name-en.html</a>
3333 </li>
3334 </ul>
3335 <hr />
3336 <div class="subsection" id="dayTimeDuration-4">
3337 <span class="no_underline"></span>dayTimeDuration<a href="#function_summary">
3338 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3339 </a>
3340 </div>
3341 <pre class="signature">declare function functx:dayTimeDuration<span class="functName"></span> (
3342<span class="funcParam"> $days</span> as xs:decimal?,
3343<span class="funcParam"> $hours</span> as xs:decimal?,
3344<span class="funcParam"> $minutes</span> as xs:decimal?,
3345<span class="funcParam"> $seconds</span> as xs:decimal?
3346 ) as xs:dayTimeDuration</pre>
3347 <p> Construct a dayTimeDuration from a number of days, hours, etc.
3348</p>
3349 <div class="subsubsection">Parameters:</div>
3350 <ul>
3351 <li>$days the number of days</li>
3352 <li>$hours the number of hours</li>
3353 <li>$minutes the number of minutes</li>
3354 <li>$seconds the number of seconds</li>
3355 </ul>
3356 <div class="subsubsection">Version:</div>
3357 <p class="annotationText">1.0</p>
3358 <div class="subsubsection">Author:</div>
3359 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3360 <div class="subsubsection">See:</div>
3361 <ul>
3362 <li>
3363 <a href="http://www.xqueryfunctions.com/xq/functx_daytimeduration.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_daytimeduration.html</a>
3364 </li>
3365 </ul>
3366 <hr />
3367 <div class="subsection" id="days-in-month-1">
3368 <span class="no_underline"></span>days-in-month<a href="#function_summary">
3369 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3370 </a>
3371 </div>
3372 <pre class="signature">declare function functx:days-in-month<span class="functName"></span> (
3373<span class="funcParam"> $date</span> as xs:anyAtomicType?
3374 ) as xs:integer?</pre>
3375 <p> Number of days in the month
3376</p>
3377 <div class="subsubsection">Parameters:</div>
3378 <ul>
3379 <li>$date the date</li>
3380 </ul>
3381 <div class="subsubsection">Version:</div>
3382 <p class="annotationText">1.0</p>
3383 <div class="subsubsection">Author:</div>
3384 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3385 <div class="subsubsection">See:</div>
3386 <ul>
3387 <li>
3388 <a href="http://www.xqueryfunctions.com/xq/functx_days-in-month.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_days-in-month.html</a>
3389 </li>
3390 </ul>
3391 <hr />
3392 <div class="subsection" id="depth-of-node-1">
3393 <span class="no_underline"></span>depth-of-node<a href="#function_summary">
3394 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3395 </a>
3396 </div>
3397 <pre class="signature">declare function functx:depth-of-node<span class="functName"></span> (
3398<span class="funcParam"> $node</span> as node()?
3399 ) as xs:integer</pre>
3400 <p> The depth (level) of a node in an XML tree
3401</p>
3402 <div class="subsubsection">Parameters:</div>
3403 <ul>
3404 <li>$node the node to check</li>
3405 </ul>
3406 <div class="subsubsection">Version:</div>
3407 <p class="annotationText">1.0</p>
3408 <div class="subsubsection">Author:</div>
3409 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3410 <div class="subsubsection">See:</div>
3411 <ul>
3412 <li>
3413 <a href="http://www.xqueryfunctions.com/xq/functx_depth-of-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_depth-of-node.html</a>
3414 </li>
3415 </ul>
3416 <hr />
3417 <div class="subsection" id="distinct-attribute-names-1">
3418 <span class="no_underline"></span>distinct-attribute-names<a href="#function_summary">
3419 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3420 </a>
3421 </div>
3422 <pre class="signature">declare function functx:distinct-attribute-names<span class="functName"></span> (
3423<span class="funcParam"> $nodes</span> as node()*
3424 ) as xs:string*</pre>
3425 <p> The distinct names of all attributes in an XML fragment
3426</p>
3427 <div class="subsubsection">Parameters:</div>
3428 <ul>
3429 <li>$nodes the root to start from</li>
3430 </ul>
3431 <div class="subsubsection">Version:</div>
3432 <p class="annotationText">1.0</p>
3433 <div class="subsubsection">Author:</div>
3434 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3435 <div class="subsubsection">See:</div>
3436 <ul>
3437 <li>
3438 <a href="http://www.xqueryfunctions.com/xq/functx_distinct-attribute-names.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_distinct-attribute-names.html</a>
3439 </li>
3440 </ul>
3441 <hr />
3442 <div class="subsection" id="distinct-deep-1">
3443 <span class="no_underline"></span>distinct-deep<a href="#function_summary">
3444 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3445 </a>
3446 </div>
3447 <pre class="signature">declare function functx:distinct-deep<span class="functName"></span> (
3448<span class="funcParam"> $nodes</span> as node()*
3449 ) as node()*</pre>
3450 <p> The XML nodes with distinct values, taking into account attributes and descendants
3451</p>
3452 <div class="subsubsection">Parameters:</div>
3453 <ul>
3454 <li>$nodes the sequence of nodes to test</li>
3455 </ul>
3456 <div class="subsubsection">Version:</div>
3457 <p class="annotationText">1.0</p>
3458 <div class="subsubsection">Author:</div>
3459 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3460 <div class="subsubsection">See:</div>
3461 <ul>
3462 <li>
3463 <a href="http://www.xqueryfunctions.com/xq/functx_distinct-deep.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_distinct-deep.html</a>
3464 </li>
3465 </ul>
3466 <hr />
3467 <div class="subsection" id="distinct-element-names-1">
3468 <span class="no_underline"></span>distinct-element-names<a href="#function_summary">
3469 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3470 </a>
3471 </div>
3472 <pre class="signature">declare function functx:distinct-element-names<span class="functName"></span> (
3473<span class="funcParam"> $nodes</span> as node()*
3474 ) as xs:string*</pre>
3475 <p> The distinct names of all elements in an XML fragment
3476</p>
3477 <div class="subsubsection">Parameters:</div>
3478 <ul>
3479 <li>$nodes the root(s) to start from</li>
3480 </ul>
3481 <div class="subsubsection">Version:</div>
3482 <p class="annotationText">1.0</p>
3483 <div class="subsubsection">Author:</div>
3484 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3485 <div class="subsubsection">See:</div>
3486 <ul>
3487 <li>
3488 <a href="http://www.xqueryfunctions.com/xq/functx_distinct-element-names.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_distinct-element-names.html</a>
3489 </li>
3490 </ul>
3491 <hr />
3492 <div class="subsection" id="distinct-element-paths-1">
3493 <span class="no_underline"></span>distinct-element-paths<a href="#function_summary">
3494 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3495 </a>
3496 </div>
3497 <pre class="signature">declare function functx:distinct-element-paths<span class="functName"></span> (
3498<span class="funcParam"> $nodes</span> as node()*
3499 ) as xs:string*</pre>
3500 <p> The distinct paths of all descendant elements in an XML fragment
3501</p>
3502 <div class="subsubsection">Parameters:</div>
3503 <ul>
3504 <li>$nodes the root(s) to start from</li>
3505 </ul>
3506 <div class="subsubsection">Version:</div>
3507 <p class="annotationText">1.0</p>
3508 <div class="subsubsection">Author:</div>
3509 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3510 <div class="subsubsection">See:</div>
3511 <ul>
3512 <li>
3513 <a href="http://www.xqueryfunctions.com/xq/functx_distinct-element-paths.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_distinct-element-paths.html</a>
3514 </li>
3515 </ul>
3516 <hr />
3517 <div class="subsection" id="distinct-nodes-1">
3518 <span class="no_underline"></span>distinct-nodes<a href="#function_summary">
3519 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3520 </a>
3521 </div>
3522 <pre class="signature">declare function functx:distinct-nodes<span class="functName"></span> (
3523<span class="funcParam"> $nodes</span> as node()*
3524 ) as node()*</pre>
3525 <p> The distinct XML nodes in a sequence (by node identity)
3526</p>
3527 <div class="subsubsection">Parameters:</div>
3528 <ul>
3529 <li>$nodes the node sequence</li>
3530 </ul>
3531 <div class="subsubsection">Version:</div>
3532 <p class="annotationText">1.0</p>
3533 <div class="subsubsection">Author:</div>
3534 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3535 <div class="subsubsection">See:</div>
3536 <ul>
3537 <li>
3538 <a href="http://www.xqueryfunctions.com/xq/functx_distinct-nodes.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_distinct-nodes.html</a>
3539 </li>
3540 </ul>
3541 <hr />
3542 <div class="subsection" id="duration-from-timezone-1">
3543 <span class="no_underline"></span>duration-from-timezone<a href="#function_summary">
3544 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3545 </a>
3546 </div>
3547 <pre class="signature">declare function functx:duration-from-timezone<span class="functName"></span> (
3548<span class="funcParam"> $timezone</span> as xs:string
3549 ) as xs:dayTimeDuration</pre>
3550 <p> Converts a timezone like "-05:00" or "Z" into xs:dayTimeDuration
3551</p>
3552 <div class="subsubsection">Parameters:</div>
3553 <ul>
3554 <li>$timezone the time zone, in (+|-)HH:MM format</li>
3555 </ul>
3556 <div class="subsubsection">Version:</div>
3557 <p class="annotationText">1.0</p>
3558 <div class="subsubsection">Author:</div>
3559 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3560 <div class="subsubsection">See:</div>
3561 <ul>
3562 <li>
3563 <a href="http://www.xqueryfunctions.com/xq/functx_duration-from-timezone.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_duration-from-timezone.html</a>
3564 </li>
3565 </ul>
3566 <hr />
3567 <div class="subsection" id="dynamic-path-2">
3568 <span class="no_underline"></span>dynamic-path<a href="#function_summary">
3569 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3570 </a>
3571 </div>
3572 <pre class="signature">declare function functx:dynamic-path<span class="functName"></span> (
3573<span class="funcParam"> $parent</span> as node(),
3574<span class="funcParam"> $path</span> as xs:string
3575 ) as item()*</pre>
3576 <p> Dynamically evaluates a simple XPath path
3577</p>
3578 <div class="subsubsection">Parameters:</div>
3579 <ul>
3580 <li>$parent the root to start from</li>
3581 <li>$path the path expression</li>
3582 </ul>
3583 <div class="subsubsection">Version:</div>
3584 <p class="annotationText">1.0</p>
3585 <div class="subsubsection">Author:</div>
3586 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3587 <div class="subsubsection">See:</div>
3588 <ul>
3589 <li>
3590 <a href="http://www.xqueryfunctions.com/xq/functx_dynamic-path.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_dynamic-path.html</a>
3591 </li>
3592 </ul>
3593 <hr />
3594 <div class="subsection" id="escape-for-regex-1">
3595 <span class="no_underline"></span>escape-for-regex<a href="#function_summary">
3596 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3597 </a>
3598 </div>
3599 <pre class="signature">declare function functx:escape-for-regex<span class="functName"></span> (
3600<span class="funcParam"> $arg</span> as xs:string?
3601 ) as xs:string</pre>
3602 <p> Escapes regex special characters
3603</p>
3604 <div class="subsubsection">Parameters:</div>
3605 <ul>
3606 <li>$arg the string to escape</li>
3607 </ul>
3608 <div class="subsubsection">Version:</div>
3609 <p class="annotationText">1.0</p>
3610 <div class="subsubsection">Author:</div>
3611 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3612 <div class="subsubsection">See:</div>
3613 <ul>
3614 <li>
3615 <a href="http://www.xqueryfunctions.com/xq/functx_escape-for-regex.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_escape-for-regex.html</a>
3616 </li>
3617 </ul>
3618 <hr />
3619 <div class="subsection" id="exclusive-or-2">
3620 <span class="no_underline"></span>exclusive-or<a href="#function_summary">
3621 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3622 </a>
3623 </div>
3624 <pre class="signature">declare function functx:exclusive-or<span class="functName"></span> (
3625<span class="funcParam"> $arg1</span> as xs:boolean?,
3626<span class="funcParam"> $arg2</span> as xs:boolean?
3627 ) as xs:boolean?</pre>
3628 <p> Whether one (and only one) of two boolean values is true
3629</p>
3630 <div class="subsubsection">Parameters:</div>
3631 <ul>
3632 <li>$arg1 the first boolean value</li>
3633 <li>$arg2 the second boolean value</li>
3634 </ul>
3635 <div class="subsubsection">Version:</div>
3636 <p class="annotationText">1.0</p>
3637 <div class="subsubsection">Author:</div>
3638 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3639 <div class="subsubsection">See:</div>
3640 <ul>
3641 <li>
3642 <a href="http://www.xqueryfunctions.com/xq/functx_exclusive-or.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_exclusive-or.html</a>
3643 </li>
3644 </ul>
3645 <hr />
3646 <div class="subsection" id="first-day-of-month-1">
3647 <span class="no_underline"></span>first-day-of-month<a href="#function_summary">
3648 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3649 </a>
3650 </div>
3651 <pre class="signature">declare function functx:first-day-of-month<span class="functName"></span> (
3652<span class="funcParam"> $date</span> as xs:anyAtomicType?
3653 ) as xs:date?</pre>
3654 <p> The first day of the month of a date
3655</p>
3656 <div class="subsubsection">Parameters:</div>
3657 <ul>
3658 <li>$date the date</li>
3659 </ul>
3660 <div class="subsubsection">Version:</div>
3661 <p class="annotationText">1.0</p>
3662 <div class="subsubsection">Author:</div>
3663 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3664 <div class="subsubsection">See:</div>
3665 <ul>
3666 <li>
3667 <a href="http://www.xqueryfunctions.com/xq/functx_first-day-of-month.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_first-day-of-month.html</a>
3668 </li>
3669 </ul>
3670 <hr />
3671 <div class="subsection" id="first-day-of-year-1">
3672 <span class="no_underline"></span>first-day-of-year<a href="#function_summary">
3673 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3674 </a>
3675 </div>
3676 <pre class="signature">declare function functx:first-day-of-year<span class="functName"></span> (
3677<span class="funcParam"> $date</span> as xs:anyAtomicType?
3678 ) as xs:date?</pre>
3679 <p> The first day of the year of a date
3680</p>
3681 <div class="subsubsection">Parameters:</div>
3682 <ul>
3683 <li>$date the date</li>
3684 </ul>
3685 <div class="subsubsection">Version:</div>
3686 <p class="annotationText">1.0</p>
3687 <div class="subsubsection">Author:</div>
3688 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3689 <div class="subsubsection">See:</div>
3690 <ul>
3691 <li>
3692 <a href="http://www.xqueryfunctions.com/xq/functx_first-day-of-year.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_first-day-of-year.html</a>
3693 </li>
3694 </ul>
3695 <hr />
3696 <div class="subsection" id="first-node-1">
3697 <span class="no_underline"></span>first-node<a href="#function_summary">
3698 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3699 </a>
3700 </div>
3701 <pre class="signature">declare function functx:first-node<span class="functName"></span> (
3702<span class="funcParam"> $nodes</span> as node()*
3703 ) as node()?</pre>
3704 <p> The XML node in a sequence that appears first in document order
3705</p>
3706 <div class="subsubsection">Parameters:</div>
3707 <ul>
3708 <li>$nodes the sequence of nodes</li>
3709 </ul>
3710 <div class="subsubsection">Version:</div>
3711 <p class="annotationText">1.0</p>
3712 <div class="subsubsection">Author:</div>
3713 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3714 <div class="subsubsection">See:</div>
3715 <ul>
3716 <li>
3717 <a href="http://www.xqueryfunctions.com/xq/functx_first-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_first-node.html</a>
3718 </li>
3719 </ul>
3720 <hr />
3721 <div class="subsection" id="follows-not-descendant-2">
3722 <span class="no_underline"></span>follows-not-descendant<a href="#function_summary">
3723 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3724 </a>
3725 </div>
3726 <pre class="signature">declare function functx:follows-not-descendant<span class="functName"></span> (
3727<span class="funcParam"> $a</span> as node()?,
3728<span class="funcParam"> $b</span> as node()?
3729 ) as xs:boolean</pre>
3730 <p> Whether an XML node follows another without being its descendant
3731</p>
3732 <div class="subsubsection">Parameters:</div>
3733 <ul>
3734 <li>$a the first node</li>
3735 <li>$b the second node</li>
3736 </ul>
3737 <div class="subsubsection">Version:</div>
3738 <p class="annotationText">1.0</p>
3739 <div class="subsubsection">Author:</div>
3740 <p class="annotationText">W3C XML Query Working Group</p>
3741 <div class="subsubsection">See:</div>
3742 <ul>
3743 <li>
3744 <a href="http://www.xqueryfunctions.com/xq/functx_follows-not-descendant.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_follows-not-descendant.html</a>
3745 </li>
3746 </ul>
3747 <hr />
3748 <div class="subsection" id="format-as-title-en-1">
3749 <span class="no_underline"></span>format-as-title-en<a href="#function_summary">
3750 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3751 </a>
3752 </div>
3753 <pre class="signature">declare function functx:format-as-title-en<span class="functName"></span> (
3754<span class="funcParam"> $titles</span> as xs:string*
3755 ) as xs:string*</pre>
3756 <p> Moves title words like "the" and "a" to the end of strings
3757</p>
3758 <div class="subsubsection">Parameters:</div>
3759 <ul>
3760 <li>$titles the titles to format</li>
3761 </ul>
3762 <div class="subsubsection">Version:</div>
3763 <p class="annotationText">1.0</p>
3764 <div class="subsubsection">Author:</div>
3765 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3766 <div class="subsubsection">See:</div>
3767 <ul>
3768 <li>
3769 <a href="http://www.xqueryfunctions.com/xq/functx_format-as-title-en.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_format-as-title-en.html</a>
3770 </li>
3771 </ul>
3772 <hr />
3773 <div class="subsection" id="fragment-from-uri-1">
3774 <span class="no_underline"></span>fragment-from-uri<a href="#function_summary">
3775 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3776 </a>
3777 </div>
3778 <pre class="signature">declare function functx:fragment-from-uri<span class="functName"></span> (
3779<span class="funcParam"> $uri</span> as xs:string?
3780 ) as xs:string?</pre>
3781 <p> Returns the fragment from a URI
3782</p>
3783 <div class="subsubsection">Parameters:</div>
3784 <ul>
3785 <li>$uri the URI</li>
3786 </ul>
3787 <div class="subsubsection">Version:</div>
3788 <p class="annotationText">1.0</p>
3789 <div class="subsubsection">Author:</div>
3790 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3791 <div class="subsubsection">See:</div>
3792 <ul>
3793 <li>
3794 <a href="http://www.xqueryfunctions.com/xq/functx_fragment-from-uri.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_fragment-from-uri.html</a>
3795 </li>
3796 </ul>
3797 <hr />
3798 <div class="subsection" id="get-matches-2">
3799 <span class="no_underline"></span>get-matches<a href="#function_summary">
3800 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3801 </a>
3802 </div>
3803 <pre class="signature">declare function functx:get-matches<span class="functName"></span> (
3804<span class="funcParam"> $string</span> as xs:string?,
3805<span class="funcParam"> $regex</span> as xs:string
3806 ) as xs:string*</pre>
3807 <p> Return the matching regions of a string
3808</p>
3809 <div class="subsubsection">Parameters:</div>
3810 <ul>
3811 <li>$string the string to split</li>
3812 <li>$regex the pattern</li>
3813 </ul>
3814 <div class="subsubsection">Version:</div>
3815 <p class="annotationText">1.0</p>
3816 <div class="subsubsection">Author:</div>
3817 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3818 <div class="subsubsection">See:</div>
3819 <ul>
3820 <li>
3821 <a href="http://www.xqueryfunctions.com/xq/functx_get-matches.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_get-matches.html</a>
3822 </li>
3823 </ul>
3824 <hr />
3825 <div class="subsection" id="get-matches-and-non-matches-2">
3826 <span class="no_underline"></span>get-matches-and-non-matches<a href="#function_summary">
3827 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3828 </a>
3829 </div>
3830 <pre class="signature">declare function functx:get-matches-and-non-matches<span class="functName"></span> (
3831<span class="funcParam"> $string</span> as xs:string?,
3832<span class="funcParam"> $regex</span> as xs:string
3833 ) as element(*)*</pre>
3834 <p> Splits a string into matching and non-matching regions
3835</p>
3836 <div class="subsubsection">Parameters:</div>
3837 <ul>
3838 <li>$string the string to split</li>
3839 <li>$regex the pattern</li>
3840 </ul>
3841 <div class="subsubsection">Version:</div>
3842 <p class="annotationText">1.0</p>
3843 <div class="subsubsection">Author:</div>
3844 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3845 <div class="subsubsection">See:</div>
3846 <ul>
3847 <li>
3848 <a href="http://www.xqueryfunctions.com/xq/functx_get-matches-and-non-matches.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_get-matches-and-non-matches.html</a>
3849 </li>
3850 </ul>
3851 <hr />
3852 <div class="subsection" id="has-element-only-content-1">
3853 <span class="no_underline"></span>has-element-only-content<a href="#function_summary">
3854 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3855 </a>
3856 </div>
3857 <pre class="signature">declare function functx:has-element-only-content<span class="functName"></span> (
3858<span class="funcParam"> $element</span> as element(*)
3859 ) as xs:boolean</pre>
3860 <p> Whether an element has element-only content
3861</p>
3862 <div class="subsubsection">Parameters:</div>
3863 <ul>
3864 <li>$element the XML element to test</li>
3865 </ul>
3866 <div class="subsubsection">Version:</div>
3867 <p class="annotationText">1.0</p>
3868 <div class="subsubsection">Author:</div>
3869 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3870 <div class="subsubsection">See:</div>
3871 <ul>
3872 <li>
3873 <a href="http://www.xqueryfunctions.com/xq/functx_has-element-only-content.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_has-element-only-content.html</a>
3874 </li>
3875 </ul>
3876 <hr />
3877 <div class="subsection" id="has-empty-content-1">
3878 <span class="no_underline"></span>has-empty-content<a href="#function_summary">
3879 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3880 </a>
3881 </div>
3882 <pre class="signature">declare function functx:has-empty-content<span class="functName"></span> (
3883<span class="funcParam"> $element</span> as element(*)
3884 ) as xs:boolean</pre>
3885 <p> Whether an element has empty content
3886</p>
3887 <div class="subsubsection">Parameters:</div>
3888 <ul>
3889 <li>$element the XML element to test</li>
3890 </ul>
3891 <div class="subsubsection">Version:</div>
3892 <p class="annotationText">1.0</p>
3893 <div class="subsubsection">Author:</div>
3894 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3895 <div class="subsubsection">See:</div>
3896 <ul>
3897 <li>
3898 <a href="http://www.xqueryfunctions.com/xq/functx_has-empty-content.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_has-empty-content.html</a>
3899 </li>
3900 </ul>
3901 <hr />
3902 <div class="subsection" id="has-mixed-content-1">
3903 <span class="no_underline"></span>has-mixed-content<a href="#function_summary">
3904 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3905 </a>
3906 </div>
3907 <pre class="signature">declare function functx:has-mixed-content<span class="functName"></span> (
3908<span class="funcParam"> $element</span> as element(*)
3909 ) as xs:boolean</pre>
3910 <p> Whether an element has mixed content
3911</p>
3912 <div class="subsubsection">Parameters:</div>
3913 <ul>
3914 <li>$element the XML element to test</li>
3915 </ul>
3916 <div class="subsubsection">Version:</div>
3917 <p class="annotationText">1.0</p>
3918 <div class="subsubsection">Author:</div>
3919 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3920 <div class="subsubsection">See:</div>
3921 <ul>
3922 <li>
3923 <a href="http://www.xqueryfunctions.com/xq/functx_has-mixed-content.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_has-mixed-content.html</a>
3924 </li>
3925 </ul>
3926 <hr />
3927 <div class="subsection" id="has-simple-content-1">
3928 <span class="no_underline"></span>has-simple-content<a href="#function_summary">
3929 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3930 </a>
3931 </div>
3932 <pre class="signature">declare function functx:has-simple-content<span class="functName"></span> (
3933<span class="funcParam"> $element</span> as element(*)
3934 ) as xs:boolean</pre>
3935 <p> Whether an element has simple content
3936</p>
3937 <div class="subsubsection">Parameters:</div>
3938 <ul>
3939 <li>$element the XML element to test</li>
3940 </ul>
3941 <div class="subsubsection">Version:</div>
3942 <p class="annotationText">1.0</p>
3943 <div class="subsubsection">Author:</div>
3944 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3945 <div class="subsubsection">See:</div>
3946 <ul>
3947 <li>
3948 <a href="http://www.xqueryfunctions.com/xq/functx_has-simple-content.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_has-simple-content.html</a>
3949 </li>
3950 </ul>
3951 <hr />
3952 <div class="subsection" id="id-from-element-1">
3953 <span class="no_underline"></span>id-from-element<a href="#function_summary">
3954 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3955 </a>
3956 </div>
3957 <pre class="signature">declare function functx:id-from-element<span class="functName"></span> (
3958<span class="funcParam"> $element</span> as element(*)?
3959 ) as xs:string?</pre>
3960 <p> Gets the ID of an XML element
3961</p>
3962 <div class="subsubsection">Parameters:</div>
3963 <ul>
3964 <li>$element the element</li>
3965 </ul>
3966 <div class="subsubsection">Version:</div>
3967 <p class="annotationText">1.0</p>
3968 <div class="subsubsection">Author:</div>
3969 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3970 <div class="subsubsection">See:</div>
3971 <ul>
3972 <li>
3973 <a href="http://www.xqueryfunctions.com/xq/functx_id-from-element.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_id-from-element.html</a>
3974 </li>
3975 </ul>
3976 <hr />
3977 <div class="subsection" id="id-untyped-2">
3978 <span class="no_underline"></span>id-untyped<a href="#function_summary">
3979 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
3980 </a>
3981 </div>
3982 <pre class="signature">declare function functx:id-untyped<span class="functName"></span> (
3983<span class="funcParam"> $node</span> as node()*,
3984<span class="funcParam"> $id</span> as xs:anyAtomicType
3985 ) as element(*)*</pre>
3986 <p> Gets XML element(s) that have an attribute with a particular value
3987</p>
3988 <div class="subsubsection">Parameters:</div>
3989 <ul>
3990 <li>$node the root node(s) to start from</li>
3991 <li>$id the "id" to find</li>
3992 </ul>
3993 <div class="subsubsection">Version:</div>
3994 <p class="annotationText">1.0</p>
3995 <div class="subsubsection">Author:</div>
3996 <p class="annotationText">Priscilla Walmsley, Datypic</p>
3997 <div class="subsubsection">See:</div>
3998 <ul>
3999 <li>
4000 <a href="http://www.xqueryfunctions.com/xq/functx_id-untyped.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_id-untyped.html</a>
4001 </li>
4002 </ul>
4003 <hr />
4004 <div class="subsection" id="if-absent-2">
4005 <span class="no_underline"></span>if-absent<a href="#function_summary">
4006 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4007 </a>
4008 </div>
4009 <pre class="signature">declare function functx:if-absent<span class="functName"></span> (
4010<span class="funcParam"> $arg</span> as item()*,
4011<span class="funcParam"> $value</span> as item()*
4012 ) as item()*</pre>
4013 <p> The first argument if it is not empty, otherwise the second argument
4014</p>
4015 <div class="subsubsection">Parameters:</div>
4016 <ul>
4017 <li>$arg the item(s) that may be absent</li>
4018 <li>$value the item(s) to use if the item is absent</li>
4019 </ul>
4020 <div class="subsubsection">Version:</div>
4021 <p class="annotationText">1.0</p>
4022 <div class="subsubsection">Author:</div>
4023 <p class="annotationText">W3C XML Query WG</p>
4024 <div class="subsubsection">See:</div>
4025 <ul>
4026 <li>
4027 <a href="http://www.xqueryfunctions.com/xq/functx_if-absent.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_if-absent.html</a>
4028 </li>
4029 </ul>
4030 <hr />
4031 <div class="subsection" id="if-empty-2">
4032 <span class="no_underline"></span>if-empty<a href="#function_summary">
4033 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4034 </a>
4035 </div>
4036 <pre class="signature">declare function functx:if-empty<span class="functName"></span> (
4037<span class="funcParam"> $arg</span> as item()?,
4038<span class="funcParam"> $value</span> as item()*
4039 ) as item()*</pre>
4040 <p> The first argument if it is not blank, otherwise the second argument
4041</p>
4042 <div class="subsubsection">Parameters:</div>
4043 <ul>
4044 <li>$arg the node that may be empty</li>
4045 <li>$value the item(s) to use if the node is empty</li>
4046 </ul>
4047 <div class="subsubsection">Version:</div>
4048 <p class="annotationText">1.0</p>
4049 <div class="subsubsection">Author:</div>
4050 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4051 <div class="subsubsection">See:</div>
4052 <ul>
4053 <li>
4054 <a href="http://www.xqueryfunctions.com/xq/functx_if-empty.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_if-empty.html</a>
4055 </li>
4056 </ul>
4057 <hr />
4058 <div class="subsection" id="index-of-deep-equal-node-2">
4059 <span class="no_underline"></span>index-of-deep-equal-node<a href="#function_summary">
4060 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4061 </a>
4062 </div>
4063 <pre class="signature">declare function functx:index-of-deep-equal-node<span class="functName"></span> (
4064<span class="funcParam"> $nodes</span> as node()*,
4065<span class="funcParam"> $nodeToFind</span> as node()
4066 ) as xs:integer*</pre>
4067 <p> The position of a node in a sequence, based on contents and attributes
4068</p>
4069 <div class="subsubsection">Parameters:</div>
4070 <ul>
4071 <li>$nodes the node sequence</li>
4072 <li>$nodeToFind the node to find in the sequence</li>
4073 </ul>
4074 <div class="subsubsection">Version:</div>
4075 <p class="annotationText">1.0</p>
4076 <div class="subsubsection">Author:</div>
4077 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4078 <div class="subsubsection">See:</div>
4079 <ul>
4080 <li>
4081 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-deep-equal-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-deep-equal-node.html</a>
4082 </li>
4083 </ul>
4084 <hr />
4085 <div class="subsection" id="index-of-match-first-2">
4086 <span class="no_underline"></span>index-of-match-first<a href="#function_summary">
4087 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4088 </a>
4089 </div>
4090 <pre class="signature">declare function functx:index-of-match-first<span class="functName"></span> (
4091<span class="funcParam"> $arg</span> as xs:string?,
4092<span class="funcParam"> $pattern</span> as xs:string
4093 ) as xs:integer?</pre>
4094 <p> The first position of a matching substring
4095</p>
4096 <div class="subsubsection">Parameters:</div>
4097 <ul>
4098 <li>$arg the string</li>
4099 <li>$pattern the pattern to match</li>
4100 </ul>
4101 <div class="subsubsection">Version:</div>
4102 <p class="annotationText">1.0</p>
4103 <div class="subsubsection">Author:</div>
4104 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4105 <div class="subsubsection">See:</div>
4106 <ul>
4107 <li>
4108 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-match-first.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-match-first.html</a>
4109 </li>
4110 </ul>
4111 <hr />
4112 <div class="subsection" id="index-of-node-2">
4113 <span class="no_underline"></span>index-of-node<a href="#function_summary">
4114 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4115 </a>
4116 </div>
4117 <pre class="signature">declare function functx:index-of-node<span class="functName"></span> (
4118<span class="funcParam"> $nodes</span> as node()*,
4119<span class="funcParam"> $nodeToFind</span> as node()
4120 ) as xs:integer*</pre>
4121 <p> The position of a node in a sequence, based on node identity
4122</p>
4123 <div class="subsubsection">Parameters:</div>
4124 <ul>
4125 <li>$nodes the node sequence</li>
4126 <li>$nodeToFind the node to find in the sequence</li>
4127 </ul>
4128 <div class="subsubsection">Version:</div>
4129 <p class="annotationText">1.0</p>
4130 <div class="subsubsection">Author:</div>
4131 <p class="annotationText">W3C XML Query Working Group</p>
4132 <div class="subsubsection">See:</div>
4133 <ul>
4134 <li>
4135 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-node.html</a>
4136 </li>
4137 </ul>
4138 <hr />
4139 <div class="subsection" id="index-of-string-2">
4140 <span class="no_underline"></span>index-of-string<a href="#function_summary">
4141 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4142 </a>
4143 </div>
4144 <pre class="signature">declare function functx:index-of-string<span class="functName"></span> (
4145<span class="funcParam"> $arg</span> as xs:string?,
4146<span class="funcParam"> $substring</span> as xs:string
4147 ) as xs:integer*</pre>
4148 <p> The position(s) of a substring
4149</p>
4150 <div class="subsubsection">Parameters:</div>
4151 <ul>
4152 <li>$arg the string</li>
4153 <li>$substring the substring to find</li>
4154 </ul>
4155 <div class="subsubsection">Version:</div>
4156 <p class="annotationText">1.0</p>
4157 <div class="subsubsection">Author:</div>
4158 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4159 <div class="subsubsection">See:</div>
4160 <ul>
4161 <li>
4162 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-string.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-string.html</a>
4163 </li>
4164 </ul>
4165 <hr />
4166 <div class="subsection" id="index-of-string-first-2">
4167 <span class="no_underline"></span>index-of-string-first<a href="#function_summary">
4168 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4169 </a>
4170 </div>
4171 <pre class="signature">declare function functx:index-of-string-first<span class="functName"></span> (
4172<span class="funcParam"> $arg</span> as xs:string?,
4173<span class="funcParam"> $substring</span> as xs:string
4174 ) as xs:integer?</pre>
4175 <p> The first position of a substring
4176</p>
4177 <div class="subsubsection">Parameters:</div>
4178 <ul>
4179 <li>$arg the string</li>
4180 <li>$substring the substring to find</li>
4181 </ul>
4182 <div class="subsubsection">Version:</div>
4183 <p class="annotationText">1.0</p>
4184 <div class="subsubsection">Author:</div>
4185 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4186 <div class="subsubsection">See:</div>
4187 <ul>
4188 <li>
4189 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-string-first.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-string-first.html</a>
4190 </li>
4191 </ul>
4192 <hr />
4193 <div class="subsection" id="index-of-string-last-2">
4194 <span class="no_underline"></span>index-of-string-last<a href="#function_summary">
4195 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4196 </a>
4197 </div>
4198 <pre class="signature">declare function functx:index-of-string-last<span class="functName"></span> (
4199<span class="funcParam"> $arg</span> as xs:string?,
4200<span class="funcParam"> $substring</span> as xs:string
4201 ) as xs:integer?</pre>
4202 <p> The last position of a substring
4203</p>
4204 <div class="subsubsection">Parameters:</div>
4205 <ul>
4206 <li>$arg the string</li>
4207 <li>$substring the substring to find</li>
4208 </ul>
4209 <div class="subsubsection">Version:</div>
4210 <p class="annotationText">1.0</p>
4211 <div class="subsubsection">Author:</div>
4212 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4213 <div class="subsubsection">See:</div>
4214 <ul>
4215 <li>
4216 <a href="http://www.xqueryfunctions.com/xq/functx_index-of-string-last.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_index-of-string-last.html</a>
4217 </li>
4218 </ul>
4219 <hr />
4220 <div class="subsection" id="insert-string-3">
4221 <span class="no_underline"></span>insert-string<a href="#function_summary">
4222 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4223 </a>
4224 </div>
4225 <pre class="signature">declare function functx:insert-string<span class="functName"></span> (
4226<span class="funcParam"> $originalString</span> as xs:string?,
4227<span class="funcParam"> $stringToInsert</span> as xs:string?,
4228<span class="funcParam"> $pos</span> as xs:integer
4229 ) as xs:string</pre>
4230 <p> Inserts a string at a specified position
4231</p>
4232 <div class="subsubsection">Parameters:</div>
4233 <ul>
4234 <li>$originalString the original string to insert into</li>
4235 <li>$stringToInsert the string to insert</li>
4236 <li>$pos the position</li>
4237 </ul>
4238 <div class="subsubsection">Version:</div>
4239 <p class="annotationText">1.0</p>
4240 <div class="subsubsection">Author:</div>
4241 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4242 <div class="subsubsection">See:</div>
4243 <ul>
4244 <li>
4245 <a href="http://www.xqueryfunctions.com/xq/functx_insert-string.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_insert-string.html</a>
4246 </li>
4247 </ul>
4248 <hr />
4249 <div class="subsection" id="is-a-number-1">
4250 <span class="no_underline"></span>is-a-number<a href="#function_summary">
4251 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4252 </a>
4253 </div>
4254 <pre class="signature">declare function functx:is-a-number<span class="functName"></span> (
4255<span class="funcParam"> $value</span> as xs:anyAtomicType?
4256 ) as xs:boolean</pre>
4257 <p> Whether a value is numeric
4258</p>
4259 <div class="subsubsection">Parameters:</div>
4260 <ul>
4261 <li>$value the value to test</li>
4262 </ul>
4263 <div class="subsubsection">Version:</div>
4264 <p class="annotationText">1.0</p>
4265 <div class="subsubsection">Author:</div>
4266 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4267 <div class="subsubsection">See:</div>
4268 <ul>
4269 <li>
4270 <a href="http://www.xqueryfunctions.com/xq/functx_is-a-number.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-a-number.html</a>
4271 </li>
4272 </ul>
4273 <hr />
4274 <div class="subsection" id="is-absolute-uri-1">
4275 <span class="no_underline"></span>is-absolute-uri<a href="#function_summary">
4276 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4277 </a>
4278 </div>
4279 <pre class="signature">declare function functx:is-absolute-uri<span class="functName"></span> (
4280<span class="funcParam"> $uri</span> as xs:string?
4281 ) as xs:boolean</pre>
4282 <p> Whether a URI is absolute
4283</p>
4284 <div class="subsubsection">Parameters:</div>
4285 <ul>
4286 <li>$uri the URI to test</li>
4287 </ul>
4288 <div class="subsubsection">Version:</div>
4289 <p class="annotationText">1.0</p>
4290 <div class="subsubsection">Author:</div>
4291 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4292 <div class="subsubsection">See:</div>
4293 <ul>
4294 <li>
4295 <a href="http://www.xqueryfunctions.com/xq/functx_is-absolute-uri.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-absolute-uri.html</a>
4296 </li>
4297 </ul>
4298 <hr />
4299 <div class="subsection" id="is-ancestor-2">
4300 <span class="no_underline"></span>is-ancestor<a href="#function_summary">
4301 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4302 </a>
4303 </div>
4304 <pre class="signature">declare function functx:is-ancestor<span class="functName"></span> (
4305<span class="funcParam"> $node1</span> as node(),
4306<span class="funcParam"> $node2</span> as node()
4307 ) as xs:boolean</pre>
4308 <p> Whether an XML node is an ancestor of another node
4309</p>
4310 <div class="subsubsection">Parameters:</div>
4311 <ul>
4312 <li>$node1 the first node</li>
4313 <li>$node2 the second node</li>
4314 </ul>
4315 <div class="subsubsection">Version:</div>
4316 <p class="annotationText">1.0</p>
4317 <div class="subsubsection">Author:</div>
4318 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4319 <div class="subsubsection">See:</div>
4320 <ul>
4321 <li>
4322 <a href="http://www.xqueryfunctions.com/xq/functx_is-ancestor.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-ancestor.html</a>
4323 </li>
4324 </ul>
4325 <hr />
4326 <div class="subsection" id="is-descendant-2">
4327 <span class="no_underline"></span>is-descendant<a href="#function_summary">
4328 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4329 </a>
4330 </div>
4331 <pre class="signature">declare function functx:is-descendant<span class="functName"></span> (
4332<span class="funcParam"> $node1</span> as node(),
4333<span class="funcParam"> $node2</span> as node()
4334 ) as xs:boolean</pre>
4335 <p> Whether an XML node is a descendant of another node
4336</p>
4337 <div class="subsubsection">Parameters:</div>
4338 <ul>
4339 <li>$node1 the first node</li>
4340 <li>$node2 the second node</li>
4341 </ul>
4342 <div class="subsubsection">Version:</div>
4343 <p class="annotationText">1.0</p>
4344 <div class="subsubsection">Author:</div>
4345 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4346 <div class="subsubsection">See:</div>
4347 <ul>
4348 <li>
4349 <a href="http://www.xqueryfunctions.com/xq/functx_is-descendant.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-descendant.html</a>
4350 </li>
4351 </ul>
4352 <hr />
4353 <div class="subsection" id="is-leap-year-1">
4354 <span class="no_underline"></span>is-leap-year<a href="#function_summary">
4355 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4356 </a>
4357 </div>
4358 <pre class="signature">declare function functx:is-leap-year<span class="functName"></span> (
4359<span class="funcParam"> $date</span> as xs:anyAtomicType?
4360 ) as xs:boolean</pre>
4361 <p> Whether a date falls in a leap year
4362</p>
4363 <div class="subsubsection">Parameters:</div>
4364 <ul>
4365 <li>$date the date or year</li>
4366 </ul>
4367 <div class="subsubsection">Version:</div>
4368 <p class="annotationText">1.0</p>
4369 <div class="subsubsection">Author:</div>
4370 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4371 <div class="subsubsection">See:</div>
4372 <ul>
4373 <li>
4374 <a href="http://www.xqueryfunctions.com/xq/functx_is-leap-year.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-leap-year.html</a>
4375 </li>
4376 </ul>
4377 <hr />
4378 <div class="subsection" id="is-node-among-descendants-2">
4379 <span class="no_underline"></span>is-node-among-descendants<a href="#function_summary">
4380 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4381 </a>
4382 </div>
4383 <pre class="signature">declare function functx:is-node-among-descendants<span class="functName"></span> (
4384<span class="funcParam"> $node</span> as node()?,
4385<span class="funcParam"> $seq</span> as node()*
4386 ) as xs:boolean</pre>
4387 <p> Whether an XML node is among the descendants of a sequence, based on node identity
4388</p>
4389 <div class="subsubsection">Parameters:</div>
4390 <ul>
4391 <li>$node the node to test</li>
4392 <li>$seq the sequence of nodes to search</li>
4393 </ul>
4394 <div class="subsubsection">Version:</div>
4395 <p class="annotationText">1.0</p>
4396 <div class="subsubsection">Author:</div>
4397 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4398 <div class="subsubsection">See:</div>
4399 <ul>
4400 <li>
4401 <a href="http://www.xqueryfunctions.com/xq/functx_is-node-among-descendants.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-node-among-descendants.html</a>
4402 </li>
4403 </ul>
4404 <hr />
4405 <div class="subsection" id="is-node-among-descendants-deep-equal-2">
4406 <span class="no_underline"></span>is-node-among-descendants-deep-equal<a href="#function_summary">
4407 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4408 </a>
4409 </div>
4410 <pre class="signature">declare function functx:is-node-among-descendants-deep-equal<span class="functName"></span> (
4411<span class="funcParam"> $node</span> as node()?,
4412<span class="funcParam"> $seq</span> as node()*
4413 ) as xs:boolean</pre>
4414 <p> Whether an XML node is among the descendants of a sequence, based on contents and attributes
4415</p>
4416 <div class="subsubsection">Parameters:</div>
4417 <ul>
4418 <li>$node the node to test</li>
4419 <li>$seq the sequence of nodes to search</li>
4420 </ul>
4421 <div class="subsubsection">Version:</div>
4422 <p class="annotationText">1.0</p>
4423 <div class="subsubsection">Author:</div>
4424 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4425 <div class="subsubsection">See:</div>
4426 <ul>
4427 <li>
4428 <a href="http://www.xqueryfunctions.com/xq/functx_is-node-among-descendants-deep-equal.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-node-among-descendants-deep-equal.html</a>
4429 </li>
4430 </ul>
4431 <hr />
4432 <div class="subsection" id="is-node-in-sequence-2">
4433 <span class="no_underline"></span>is-node-in-sequence<a href="#function_summary">
4434 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4435 </a>
4436 </div>
4437 <pre class="signature">declare function functx:is-node-in-sequence<span class="functName"></span> (
4438<span class="funcParam"> $node</span> as node()?,
4439<span class="funcParam"> $seq</span> as node()*
4440 ) as xs:boolean</pre>
4441 <p> Whether an XML node is in a sequence, based on node identity
4442</p>
4443 <div class="subsubsection">Parameters:</div>
4444 <ul>
4445 <li>$node the node to test</li>
4446 <li>$seq the sequence of nodes to search</li>
4447 </ul>
4448 <div class="subsubsection">Version:</div>
4449 <p class="annotationText">1.0</p>
4450 <div class="subsubsection">Author:</div>
4451 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4452 <div class="subsubsection">See:</div>
4453 <ul>
4454 <li>
4455 <a href="http://www.xqueryfunctions.com/xq/functx_is-node-in-sequence.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-node-in-sequence.html</a>
4456 </li>
4457 </ul>
4458 <hr />
4459 <div class="subsection" id="is-node-in-sequence-deep-equal-2">
4460 <span class="no_underline"></span>is-node-in-sequence-deep-equal<a href="#function_summary">
4461 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4462 </a>
4463 </div>
4464 <pre class="signature">declare function functx:is-node-in-sequence-deep-equal<span class="functName"></span> (
4465<span class="funcParam"> $node</span> as node()?,
4466<span class="funcParam"> $seq</span> as node()*
4467 ) as xs:boolean</pre>
4468 <p> Whether an XML node is in a sequence, based on contents and attributes
4469</p>
4470 <div class="subsubsection">Parameters:</div>
4471 <ul>
4472 <li>$node the node to test</li>
4473 <li>$seq the sequence of nodes to search</li>
4474 </ul>
4475 <div class="subsubsection">Version:</div>
4476 <p class="annotationText">1.0</p>
4477 <div class="subsubsection">Author:</div>
4478 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4479 <div class="subsubsection">See:</div>
4480 <ul>
4481 <li>
4482 <a href="http://www.xqueryfunctions.com/xq/functx_is-node-in-sequence-deep-equal.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-node-in-sequence-deep-equal.html</a>
4483 </li>
4484 </ul>
4485 <hr />
4486 <div class="subsection" id="is-value-in-sequence-2">
4487 <span class="no_underline"></span>is-value-in-sequence<a href="#function_summary">
4488 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4489 </a>
4490 </div>
4491 <pre class="signature">declare function functx:is-value-in-sequence<span class="functName"></span> (
4492<span class="funcParam"> $value</span> as xs:anyAtomicType?,
4493<span class="funcParam"> $seq</span> as xs:anyAtomicType*
4494 ) as xs:boolean</pre>
4495 <p> Whether an atomic value appears in a sequence
4496</p>
4497 <div class="subsubsection">Parameters:</div>
4498 <ul>
4499 <li>$value the atomic value to test</li>
4500 <li>$seq the sequence of values to search</li>
4501 </ul>
4502 <div class="subsubsection">Version:</div>
4503 <p class="annotationText">1.0</p>
4504 <div class="subsubsection">Author:</div>
4505 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4506 <div class="subsubsection">See:</div>
4507 <ul>
4508 <li>
4509 <a href="http://www.xqueryfunctions.com/xq/functx_is-value-in-sequence.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_is-value-in-sequence.html</a>
4510 </li>
4511 </ul>
4512 <hr />
4513 <div class="subsection" id="last-day-of-month-1">
4514 <span class="no_underline"></span>last-day-of-month<a href="#function_summary">
4515 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4516 </a>
4517 </div>
4518 <pre class="signature">declare function functx:last-day-of-month<span class="functName"></span> (
4519<span class="funcParam"> $date</span> as xs:anyAtomicType?
4520 ) as xs:date?</pre>
4521 <p> The last day of the month of a date
4522</p>
4523 <div class="subsubsection">Parameters:</div>
4524 <ul>
4525 <li>$date the date</li>
4526 </ul>
4527 <div class="subsubsection">Version:</div>
4528 <p class="annotationText">1.0</p>
4529 <div class="subsubsection">Author:</div>
4530 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4531 <div class="subsubsection">See:</div>
4532 <ul>
4533 <li>
4534 <a href="http://www.xqueryfunctions.com/xq/functx_last-day-of-month.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_last-day-of-month.html</a>
4535 </li>
4536 </ul>
4537 <hr />
4538 <div class="subsection" id="last-day-of-year-1">
4539 <span class="no_underline"></span>last-day-of-year<a href="#function_summary">
4540 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4541 </a>
4542 </div>
4543 <pre class="signature">declare function functx:last-day-of-year<span class="functName"></span> (
4544<span class="funcParam"> $date</span> as xs:anyAtomicType?
4545 ) as xs:date?</pre>
4546 <p> The last day of the month of a date
4547</p>
4548 <div class="subsubsection">Parameters:</div>
4549 <ul>
4550 <li>$date the date</li>
4551 </ul>
4552 <div class="subsubsection">Version:</div>
4553 <p class="annotationText">1.0</p>
4554 <div class="subsubsection">Author:</div>
4555 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4556 <div class="subsubsection">See:</div>
4557 <ul>
4558 <li>
4559 <a href="http://www.xqueryfunctions.com/xq/functx_last-day-of-year.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_last-day-of-year.html</a>
4560 </li>
4561 </ul>
4562 <hr />
4563 <div class="subsection" id="last-node-1">
4564 <span class="no_underline"></span>last-node<a href="#function_summary">
4565 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4566 </a>
4567 </div>
4568 <pre class="signature">declare function functx:last-node<span class="functName"></span> (
4569<span class="funcParam"> $nodes</span> as node()*
4570 ) as node()?</pre>
4571 <p> The XML node in a sequence that is last in document order
4572</p>
4573 <div class="subsubsection">Parameters:</div>
4574 <ul>
4575 <li>$nodes the sequence of nodes</li>
4576 </ul>
4577 <div class="subsubsection">Version:</div>
4578 <p class="annotationText">1.0</p>
4579 <div class="subsubsection">Author:</div>
4580 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4581 <div class="subsubsection">See:</div>
4582 <ul>
4583 <li>
4584 <a href="http://www.xqueryfunctions.com/xq/functx_last-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_last-node.html</a>
4585 </li>
4586 </ul>
4587 <hr />
4588 <div class="subsection" id="leaf-elements-1">
4589 <span class="no_underline"></span>leaf-elements<a href="#function_summary">
4590 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4591 </a>
4592 </div>
4593 <pre class="signature">declare function functx:leaf-elements<span class="functName"></span> (
4594<span class="funcParam"> $root</span> as node()?
4595 ) as element(*)*</pre>
4596 <p> All XML elements that don't have any child elements
4597</p>
4598 <div class="subsubsection">Parameters:</div>
4599 <ul>
4600 <li>$root the root</li>
4601 </ul>
4602 <div class="subsubsection">Version:</div>
4603 <p class="annotationText">1.0</p>
4604 <div class="subsubsection">Author:</div>
4605 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4606 <div class="subsubsection">See:</div>
4607 <ul>
4608 <li>
4609 <a href="http://www.xqueryfunctions.com/xq/functx_leaf-elements.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_leaf-elements.html</a>
4610 </li>
4611 </ul>
4612 <hr />
4613 <div class="subsection" id="left-trim-1">
4614 <span class="no_underline"></span>left-trim<a href="#function_summary">
4615 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4616 </a>
4617 </div>
4618 <pre class="signature">declare function functx:left-trim<span class="functName"></span> (
4619<span class="funcParam"> $arg</span> as xs:string?
4620 ) as xs:string</pre>
4621 <p> Trims leading whitespace
4622</p>
4623 <div class="subsubsection">Parameters:</div>
4624 <ul>
4625 <li>$arg the string to trim</li>
4626 </ul>
4627 <div class="subsubsection">Version:</div>
4628 <p class="annotationText">1.0</p>
4629 <div class="subsubsection">Author:</div>
4630 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4631 <div class="subsubsection">See:</div>
4632 <ul>
4633 <li>
4634 <a href="http://www.xqueryfunctions.com/xq/functx_left-trim.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_left-trim.html</a>
4635 </li>
4636 </ul>
4637 <hr />
4638 <div class="subsection" id="line-count-1">
4639 <span class="no_underline"></span>line-count<a href="#function_summary">
4640 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4641 </a>
4642 </div>
4643 <pre class="signature">declare function functx:line-count<span class="functName"></span> (
4644<span class="funcParam"> $arg</span> as xs:string?
4645 ) as xs:integer</pre>
4646 <p> The number of lines
4647</p>
4648 <div class="subsubsection">Parameters:</div>
4649 <ul>
4650 <li>$arg the string to test</li>
4651 </ul>
4652 <div class="subsubsection">Version:</div>
4653 <p class="annotationText">1.0</p>
4654 <div class="subsubsection">Author:</div>
4655 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4656 <div class="subsubsection">See:</div>
4657 <ul>
4658 <li>
4659 <a href="http://www.xqueryfunctions.com/xq/functx_line-count.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_line-count.html</a>
4660 </li>
4661 </ul>
4662 <hr />
4663 <div class="subsection" id="lines-1">
4664 <span class="no_underline"></span>lines<a href="#function_summary">
4665 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4666 </a>
4667 </div>
4668 <pre class="signature">declare function functx:lines<span class="functName"></span> (
4669<span class="funcParam"> $arg</span> as xs:string?
4670 ) as xs:string*</pre>
4671 <p> Split a string into separate lines
4672</p>
4673 <div class="subsubsection">Parameters:</div>
4674 <ul>
4675 <li>$arg the string to split</li>
4676 </ul>
4677 <div class="subsubsection">Version:</div>
4678 <p class="annotationText">1.0</p>
4679 <div class="subsubsection">Author:</div>
4680 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4681 <div class="subsubsection">See:</div>
4682 <ul>
4683 <li>
4684 <a href="http://www.xqueryfunctions.com/xq/functx_lines.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_lines.html</a>
4685 </li>
4686 </ul>
4687 <hr />
4688 <div class="subsection" id="max-depth-1">
4689 <span class="no_underline"></span>max-depth<a href="#function_summary">
4690 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4691 </a>
4692 </div>
4693 <pre class="signature">declare function functx:max-depth<span class="functName"></span> (
4694<span class="funcParam"> $root</span> as node()?
4695 ) as xs:integer?</pre>
4696 <p> The maximum depth of elements in an XML tree
4697</p>
4698 <div class="subsubsection">Parameters:</div>
4699 <ul>
4700 <li>$root the root to start from</li>
4701 </ul>
4702 <div class="subsubsection">Version:</div>
4703 <p class="annotationText">1.0</p>
4704 <div class="subsubsection">Author:</div>
4705 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4706 <div class="subsubsection">See:</div>
4707 <ul>
4708 <li>
4709 <a href="http://www.xqueryfunctions.com/xq/functx_max-depth.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_max-depth.html</a>
4710 </li>
4711 </ul>
4712 <hr />
4713 <div class="subsection" id="max-determine-type-1">
4714 <span class="no_underline"></span>max-determine-type<a href="#function_summary">
4715 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4716 </a>
4717 </div>
4718 <pre class="signature">declare function functx:max-determine-type<span class="functName"></span> (
4719<span class="funcParam"> $seq</span> as xs:anyAtomicType*
4720 ) as xs:anyAtomicType?</pre>
4721 <p> The maximum value in a sequence, figuring out its type (numeric or string)
4722</p>
4723 <div class="subsubsection">Parameters:</div>
4724 <ul>
4725 <li>$seq the sequence of values to test</li>
4726 </ul>
4727 <div class="subsubsection">Version:</div>
4728 <p class="annotationText">1.0</p>
4729 <div class="subsubsection">Author:</div>
4730 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4731 <div class="subsubsection">See:</div>
4732 <ul>
4733 <li>
4734 <a href="http://www.xqueryfunctions.com/xq/functx_max-determine-type.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_max-determine-type.html</a>
4735 </li>
4736 </ul>
4737 <hr />
4738 <div class="subsection" id="max-line-length-1">
4739 <span class="no_underline"></span>max-line-length<a href="#function_summary">
4740 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4741 </a>
4742 </div>
4743 <pre class="signature">declare function functx:max-line-length<span class="functName"></span> (
4744<span class="funcParam"> $arg</span> as xs:string?
4745 ) as xs:integer</pre>
4746 <p> The maximum line length
4747</p>
4748 <div class="subsubsection">Parameters:</div>
4749 <ul>
4750 <li>$arg the string to test</li>
4751 </ul>
4752 <div class="subsubsection">Version:</div>
4753 <p class="annotationText">1.0</p>
4754 <div class="subsubsection">Author:</div>
4755 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4756 <div class="subsubsection">See:</div>
4757 <ul>
4758 <li>
4759 <a href="http://www.xqueryfunctions.com/xq/functx_max-line-length.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_max-line-length.html</a>
4760 </li>
4761 </ul>
4762 <hr />
4763 <div class="subsection" id="max-node-1">
4764 <span class="no_underline"></span>max-node<a href="#function_summary">
4765 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4766 </a>
4767 </div>
4768 <pre class="signature">declare function functx:max-node<span class="functName"></span> (
4769<span class="funcParam"> $nodes</span> as node()*
4770 ) as node()*</pre>
4771 <p> The XML node whose typed value is the maximum
4772</p>
4773 <div class="subsubsection">Parameters:</div>
4774 <ul>
4775 <li>$nodes the sequence of nodes to test</li>
4776 </ul>
4777 <div class="subsubsection">Version:</div>
4778 <p class="annotationText">1.0</p>
4779 <div class="subsubsection">Author:</div>
4780 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4781 <div class="subsubsection">See:</div>
4782 <ul>
4783 <li>
4784 <a href="http://www.xqueryfunctions.com/xq/functx_max-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_max-node.html</a>
4785 </li>
4786 </ul>
4787 <hr />
4788 <div class="subsection" id="max-string-1">
4789 <span class="no_underline"></span>max-string<a href="#function_summary">
4790 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4791 </a>
4792 </div>
4793 <pre class="signature">declare function functx:max-string<span class="functName"></span> (
4794<span class="funcParam"> $strings</span> as xs:anyAtomicType*
4795 ) as xs:string?</pre>
4796 <p> The maximum of a sequence of values, treating them like strings
4797</p>
4798 <div class="subsubsection">Parameters:</div>
4799 <ul>
4800 <li>$strings the sequence of values</li>
4801 </ul>
4802 <div class="subsubsection">Version:</div>
4803 <p class="annotationText">1.0</p>
4804 <div class="subsubsection">Author:</div>
4805 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4806 <div class="subsubsection">See:</div>
4807 <ul>
4808 <li>
4809 <a href="http://www.xqueryfunctions.com/xq/functx_max-string.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_max-string.html</a>
4810 </li>
4811 </ul>
4812 <hr />
4813 <div class="subsection" id="min-determine-type-1">
4814 <span class="no_underline"></span>min-determine-type<a href="#function_summary">
4815 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4816 </a>
4817 </div>
4818 <pre class="signature">declare function functx:min-determine-type<span class="functName"></span> (
4819<span class="funcParam"> $seq</span> as xs:anyAtomicType*
4820 ) as xs:anyAtomicType?</pre>
4821 <p> The minimum value in a sequence, figuring out its type (numeric or string)
4822</p>
4823 <div class="subsubsection">Parameters:</div>
4824 <ul>
4825 <li>$seq the sequence of values to test</li>
4826 </ul>
4827 <div class="subsubsection">Version:</div>
4828 <p class="annotationText">1.0</p>
4829 <div class="subsubsection">Author:</div>
4830 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4831 <div class="subsubsection">See:</div>
4832 <ul>
4833 <li>
4834 <a href="http://www.xqueryfunctions.com/xq/functx_min-determine-type.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_min-determine-type.html</a>
4835 </li>
4836 </ul>
4837 <hr />
4838 <div class="subsection" id="min-node-1">
4839 <span class="no_underline"></span>min-node<a href="#function_summary">
4840 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4841 </a>
4842 </div>
4843 <pre class="signature">declare function functx:min-node<span class="functName"></span> (
4844<span class="funcParam"> $nodes</span> as node()*
4845 ) as node()*</pre>
4846 <p> The XML node whose typed value is the minimum
4847</p>
4848 <div class="subsubsection">Parameters:</div>
4849 <ul>
4850 <li>$nodes the sequence of nodes to test</li>
4851 </ul>
4852 <div class="subsubsection">Version:</div>
4853 <p class="annotationText">1.0</p>
4854 <div class="subsubsection">Author:</div>
4855 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4856 <div class="subsubsection">See:</div>
4857 <ul>
4858 <li>
4859 <a href="http://www.xqueryfunctions.com/xq/functx_min-node.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_min-node.html</a>
4860 </li>
4861 </ul>
4862 <hr />
4863 <div class="subsection" id="min-non-empty-string-1">
4864 <span class="no_underline"></span>min-non-empty-string<a href="#function_summary">
4865 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4866 </a>
4867 </div>
4868 <pre class="signature">declare function functx:min-non-empty-string<span class="functName"></span> (
4869<span class="funcParam"> $strings</span> as xs:string*
4870 ) as xs:string?</pre>
4871 <p> The minimum of a sequence of strings, ignoring "empty" values
4872</p>
4873 <div class="subsubsection">Parameters:</div>
4874 <ul>
4875 <li>$strings the sequence of strings to search</li>
4876 </ul>
4877 <div class="subsubsection">Version:</div>
4878 <p class="annotationText">1.0</p>
4879 <div class="subsubsection">Author:</div>
4880 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4881 <div class="subsubsection">See:</div>
4882 <ul>
4883 <li>
4884 <a href="http://www.xqueryfunctions.com/xq/functx_min-non-empty-string.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_min-non-empty-string.html</a>
4885 </li>
4886 </ul>
4887 <hr />
4888 <div class="subsection" id="min-string-1">
4889 <span class="no_underline"></span>min-string<a href="#function_summary">
4890 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4891 </a>
4892 </div>
4893 <pre class="signature">declare function functx:min-string<span class="functName"></span> (
4894<span class="funcParam"> $strings</span> as xs:anyAtomicType*
4895 ) as xs:string?</pre>
4896 <p> The minimum of a sequence of values, treating them like strings
4897</p>
4898 <div class="subsubsection">Parameters:</div>
4899 <ul>
4900 <li>$strings the sequence of strings</li>
4901 </ul>
4902 <div class="subsubsection">Version:</div>
4903 <p class="annotationText">1.0</p>
4904 <div class="subsubsection">Author:</div>
4905 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4906 <div class="subsubsection">See:</div>
4907 <ul>
4908 <li>
4909 <a href="http://www.xqueryfunctions.com/xq/functx_min-string.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_min-string.html</a>
4910 </li>
4911 </ul>
4912 <hr />
4913 <div class="subsection" id="mmddyyyy-to-date-1">
4914 <span class="no_underline"></span>mmddyyyy-to-date<a href="#function_summary">
4915 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4916 </a>
4917 </div>
4918 <pre class="signature">declare function functx:mmddyyyy-to-date<span class="functName"></span> (
4919<span class="funcParam"> $dateString</span> as xs:string?
4920 ) as xs:date?</pre>
4921 <p> Converts a string with format MMDDYYYY (with any delimiters) to a date
4922</p>
4923 <div class="subsubsection">Parameters:</div>
4924 <ul>
4925 <li>$dateString the MMDDYYYY string</li>
4926 </ul>
4927 <div class="subsubsection">Version:</div>
4928 <p class="annotationText">1.0</p>
4929 <div class="subsubsection">Author:</div>
4930 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4931 <div class="subsubsection">See:</div>
4932 <ul>
4933 <li>
4934 <a href="http://www.xqueryfunctions.com/xq/functx_mmddyyyy-to-date.html" target="_blank">http://www.xqueryfunctions.com/xq/functx_mmddyyyy-to-date.html</a>
4935 </li>
4936 </ul>
4937 <hr />
4938 <div class="subsection" id="month-abbrev-en-1">
4939 <span class="no_underline"></span>month-abbrev-en<a href="#function_summary">
4940 <img class="floatright" src="images/up.gif" alt="back to 'Function Summary'" title="back to 'Function Summary'" />
4941 </a>
4942 </div>
4943 <pre class="signature">declare function functx:month-abbrev-en<span class="functName"></span> (
4944<span class="funcParam"> $date</span> as xs:anyAtomicType?
4945 ) as xs:string?</pre>
4946 <p> The month of a date as an abbreviated word (Jan, Feb, etc.)
4947</p>
4948 <div class="subsubsection">Parameters:</div>
4949 <ul>
4950 <li>$date the date</li>
4951 </ul>
4952 <div class="subsubsection">Version:</div>
4953 <p class="annotationText">1.0</p>
4954 <div class="subsubsection">Author:</div>
4955 <p class="annotationText">Priscilla Walmsley, Datypic</p>
4956 <div class="subsubsection">See:</div>
4957 <ul>
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches