<?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%2Fif</id>
		<title>XML/XQuery/if - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=XML%2FXQuery%2Fif"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XQuery/if&amp;action=history"/>
		<updated>2026-04-05T04:22:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=XML/XQuery/if&amp;diff=10009&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=XML/XQuery/if&amp;diff=10009&amp;oldid=prev"/>
				<updated>2010-05-26T08:25:57Z</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/if&amp;diff=10008&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/if&amp;diff=10008&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;==Conditional expression==&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;
&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;0001&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;/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;0002&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;0003&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;
for $prod in (doc(&amp;quot;Data.xml&amp;quot;)/order/car)&lt;br /&gt;
return if ($prod/@model = &amp;quot;ACC&amp;quot;)&lt;br /&gt;
       then &amp;lt;accessoryid&amp;gt;{data($prod/id)}&amp;lt;/accessoryid&amp;gt;&lt;br /&gt;
       else &amp;lt;otherid&amp;gt;{data($prod/id)}&amp;lt;/otherid&amp;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;&lt;br /&gt;
&amp;lt;otherid&amp;gt;0001&amp;lt;/otherid&amp;gt;&lt;br /&gt;
&amp;lt;otherid&amp;gt;0002&amp;lt;/otherid&amp;gt;&lt;br /&gt;
&amp;lt;otherid&amp;gt;0003&amp;lt;/otherid&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;
==Conditional expression returning multiple expressions==&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;
&amp;lt;order&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;ACC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0001&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;BCC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0002&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;BCC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0003&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;
for $prod in (doc(&amp;quot;Data.xml&amp;quot;)/order/car)&lt;br /&gt;
return if ($prod/@model = &amp;quot;ACC&amp;quot;)&lt;br /&gt;
       then (&amp;lt;accessoryid&amp;gt;{data($prod/id)}&amp;lt;/accessoryid&amp;gt;,&lt;br /&gt;
            &amp;lt;accessoryName&amp;gt;{data($prod/name)}&amp;lt;/accessoryName&amp;gt;)&lt;br /&gt;
       else &amp;lt;otherid&amp;gt;{data($prod/id)}&amp;lt;/otherid&amp;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;&lt;br /&gt;
&amp;lt;accessoryid&amp;gt;0001&amp;lt;/accessoryid&amp;gt;&lt;br /&gt;
&amp;lt;accessoryName&amp;gt;name 1&amp;lt;/accessoryName&amp;gt;&lt;br /&gt;
&amp;lt;otherid&amp;gt;0002&amp;lt;/otherid&amp;gt;&lt;br /&gt;
&amp;lt;otherid&amp;gt;0003&amp;lt;/otherid&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;
==Converting values without a lookup table==&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;
&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;0001&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;/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;0002&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;0003&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;
let $cat := doc(&amp;quot;Data.xml&amp;quot;)/order&lt;br /&gt;
for $model in distinct-values($cat/car/@model)&lt;br /&gt;
return  &amp;lt;li&amp;gt;Department: {if ($model = &amp;quot;B&amp;quot;)&lt;br /&gt;
                        then &amp;quot;Accessories&amp;quot;&lt;br /&gt;
                        else if ($model = &amp;quot;C&amp;quot;)&lt;br /&gt;
                             then &amp;quot;Menswear&amp;quot;&lt;br /&gt;
                             else if ($model = &amp;quot;A&amp;quot;)&lt;br /&gt;
                                  then &amp;quot;Womens&amp;quot;&lt;br /&gt;
                                  else ()&lt;br /&gt;
               }  ({$model})&amp;lt;/li&amp;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;&lt;br /&gt;
&amp;lt;li&amp;gt;Department: Womens  (A)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Department: Accessories  (B)&amp;lt;/li&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;
==If statement in return clause==&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;0001&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;/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;0002&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;0003&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;
&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
let $prods := doc(&amp;quot;Data.xml&amp;quot;)//car&lt;br /&gt;
     let $idProds := count($prods)&lt;br /&gt;
     for $prod at $count in $prods&lt;br /&gt;
     return if ($count = $idProds)&lt;br /&gt;
            then concat($prod/name,&amp;quot;.&amp;quot;)&lt;br /&gt;
            else concat($prod/name,&amp;quot;,&amp;quot;)&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;name 1, name 2, name 3.&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==If then else stateCt==&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;
&amp;lt;prices&amp;gt;&lt;br /&gt;
  &amp;lt;priceList effDate=&amp;quot;2006-11-15&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;prod num=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;price currency=&amp;quot;USD&amp;quot;&amp;gt;29.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;discount type=&amp;quot;CLR&amp;quot;&amp;gt;10.00&amp;lt;/discount&amp;gt;&lt;br /&gt;
    &amp;lt;/prod&amp;gt;&lt;br /&gt;
    &amp;lt;prod num=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;price currency=&amp;quot;USD&amp;quot;&amp;gt;69.99&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;/prod&amp;gt;&lt;br /&gt;
    &amp;lt;prod num=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;price currency=&amp;quot;USD&amp;quot;&amp;gt;39.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;discount type=&amp;quot;CLR&amp;quot;&amp;gt;3.99&amp;lt;/discount&amp;gt;&lt;br /&gt;
    &amp;lt;/prod&amp;gt;&lt;br /&gt;
  &amp;lt;/priceList&amp;gt;&lt;br /&gt;
&amp;lt;/prices&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
&lt;br /&gt;
let $bargains := doc(&amp;quot;Data.xml&amp;quot;)/prices/priceList/prod[price &amp;lt; 30]&lt;br /&gt;
return if ($bargains)&lt;br /&gt;
       then &amp;lt;bargain-bin&amp;gt;{$bargains}&amp;lt;/bargain-bin&amp;gt;&lt;br /&gt;
       else ()&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;&lt;br /&gt;
&amp;lt;bargain-bin&amp;gt;&lt;br /&gt;
   &amp;lt;prod num=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;price currency=&amp;quot;USD&amp;quot;&amp;gt;29.99&amp;lt;/price&amp;gt;&lt;br /&gt;
      &amp;lt;discount type=&amp;quot;CLR&amp;quot;&amp;gt;10.00&amp;lt;/discount&amp;gt;&lt;br /&gt;
    &amp;lt;/prod&amp;gt;&lt;br /&gt;
&amp;lt;/bargain-bin&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;
==Nested conditional expressions==&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;
&amp;lt;order&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;ACC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0001&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;/car&amp;gt;&lt;br /&gt;
  &amp;lt;car model=&amp;quot;BCC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0002&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;BCC&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;0003&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;
&lt;br /&gt;
File: Query.xquery&lt;br /&gt;
for $prod in (doc(&amp;quot;Data.xml&amp;quot;)/order/car)&lt;br /&gt;
return if ($prod/@model = &amp;quot;ACC&amp;quot;)&lt;br /&gt;
       then &amp;lt;accessory&amp;gt;{data($prod/id)}&amp;lt;/accessory&amp;gt;&lt;br /&gt;
       else if ($prod/@model = &amp;quot;WMN&amp;quot;)&lt;br /&gt;
            then &amp;lt;womens&amp;gt;{data($prod/id)}&amp;lt;/womens&amp;gt;&lt;br /&gt;
            else if ($prod/@model = &amp;quot;MEN&amp;quot;)&lt;br /&gt;
                 then &amp;lt;mens&amp;gt;{data($prod/id)}&amp;lt;/mens&amp;gt;&lt;br /&gt;
                 else &amp;lt;other&amp;gt;{data($prod/id)}&amp;lt;/other&amp;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;&lt;br /&gt;
&amp;lt;accessory&amp;gt;0001&amp;lt;/accessory&amp;gt;&lt;br /&gt;
&amp;lt;other&amp;gt;0002&amp;lt;/other&amp;gt;&lt;br /&gt;
&amp;lt;other&amp;gt;0003&amp;lt;/other&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>