<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXQuery%2Ffunction</id>
		<title>XML/XQuery/function - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXQuery%2Ffunction"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XQuery/function&amp;action=history"/>
		<updated>2026-04-04T12:26:43Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XQuery/function&amp;diff=10025&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XQuery/function&amp;diff=10025&amp;oldid=prev"/>
				<updated>2010-05-26T08:25:58Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 08:25, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XQuery/function&amp;diff=10024&amp;oldid=prev</id>
		<title> в 18:22, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XQuery/function&amp;diff=10024&amp;oldid=prev"/>
				<updated>2010-05-25T18:22:29Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Define your own function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simple function&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
declare namespace math = &amp;quot;http://wbex.ru&amp;quot;;&lt;br /&gt;
declare function math:add($op1 as xs:integer, $op2 as xs:integer) as xs:integer&lt;br /&gt;
{&lt;br /&gt;
  $op1 + $op2  &lt;br /&gt;
};&lt;br /&gt;
declare variable $op1 as xs:integer := 1;&lt;br /&gt;
declare variable $op2 as xs:integer := 2;&lt;br /&gt;
&amp;lt;add&amp;gt;&lt;br /&gt;
  &amp;lt;op1&amp;gt;{$op1}&amp;lt;/op1&amp;gt;&lt;br /&gt;
  &amp;lt;op2&amp;gt;{$op2}&amp;lt;/op2&amp;gt;&lt;br /&gt;
  &amp;lt;result&amp;gt;{math:add($op1, $op2)}&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;/add&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;add&amp;gt;&lt;br /&gt;
   &amp;lt;op1&amp;gt;1&amp;lt;/op1&amp;gt;&lt;br /&gt;
   &amp;lt;op2&amp;gt;2&amp;lt;/op2&amp;gt;&lt;br /&gt;
   &amp;lt;result&amp;gt;3&amp;lt;/result&amp;gt;&lt;br /&gt;
&amp;lt;/add&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Recursive function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
&lt;br /&gt;
declare namespace math = &amp;quot;http://wbex.ru&amp;quot;;&lt;br /&gt;
declare variable $n as xs:integer external;&lt;br /&gt;
declare function math:factorial($integer as xs:integer) as xs:double&lt;br /&gt;
{&lt;br /&gt;
  if ($integer gt 1) then $integer * math:factorial($integer - 1) else 1&lt;br /&gt;
};&lt;br /&gt;
concat(2, &amp;quot;! = &amp;quot;, math:factorial(2))&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;2! = 2&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Useful-function: between-inclusive==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Data.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;order&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;A&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;1&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name language=&amp;quot;en&amp;quot;&amp;gt;name 1&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;colorChoices&amp;gt;navy black&amp;lt;/colorChoices&amp;gt;&lt;br /&gt;
  &amp;lt;/car&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;B&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;2&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name language=&amp;quot;en&amp;quot;&amp;gt;name 2&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;/car&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;B&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;8&amp;lt;/id&amp;gt;&lt;br /&gt;
    &amp;lt;name language=&amp;quot;en&amp;quot;&amp;gt;name 3&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;/car&amp;gt;&lt;br /&gt;
&amp;lt;/order&amp;gt;&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
declare namespace functx = &amp;quot;http://www.wbex.ru&amp;quot;;&lt;br /&gt;
declare function functx:between-inclusive&lt;br /&gt;
 ($value as xs:anyAtomicType, $minValue as xs:anyAtomicType,$maxValue as xs:anyAtomicType) as xs:boolean  {&lt;br /&gt;
   $value &amp;gt;= $minValue and $value &amp;lt;= $maxValue&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
(: Example call :)&lt;br /&gt;
let $prod := doc(&amp;quot;Data.xml&amp;quot;)//car[1]&lt;br /&gt;
return functx:between-inclusive ($prod/id, 1, 5)&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>