<?xml version="1.0" encoding="UTF-8"?><api:function-page xml:base="/apidoc/8.0/fn.exactlyOne.xml" generated="2015-10-07T16:36:00.016766-07:00" mode="javascript" xmlns:api="http://marklogic.com/rundmc/api"><api:function-name>fn.exactlyOne</api:function-name><api:suggest>fn.exactlyone</api:suggest><api:suggest>fn</api:suggest><api:suggest>exactlyone</api:suggest><api:function-link mode="xquery" fullname="fn:exactly-one">/apidoc/8.0/fn:exactly-one.xml</api:function-link><api:function mode="javascript" name="exactlyOne" type="builtin" lib="fn" category="SequenceBuiltins" bucket="W3C-Standard Functions" hidden="false" prefix="fn" namespace="http://www.w3.org/2005/xpath-functions" fullname="fn.exactlyOne"><api:summary>
<p xmlns="http://www.w3.org/1999/xhtml">
Returns $arg if it contains exactly one item. Otherwise, raises an error
   [err:FORG0005].
</p><p xmlns="http://www.w3.org/1999/xhtml">
For detailed type semantics, see
<a href="http://www.w3.org/TR/xquery-semantics/#sec_fn_cardinality_funcs">Section 7.2.16 The fn:zero-or-one,
fn:one-or-more, and fn:exactly-one functions[FS]</a>.
</p>
</api:summary><api:params><api:param name="arg" type="item()*"><api:param-description>
  The sequence of items. 
  <span class="javascript" xmlns="http://www.w3.org/1999/xhtml">If you pass in a single value, 
  it is treated as a ValueIterator with that single item; therefore, if you 
  pass in an array, the array is treated as a single value (not as one value
  for each item in the array). If you mean to pass in  
  the values of each item in the array, then you can call 
  <a href="./xdmp.arrayValues">xdmp.arrayValues</a> on the array. </span>
  </api:param-description><api:param-name>arg</api:param-name><api:param-type>ValueIterator</api:param-type></api:param></api:params><api:return>String</api:return><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
fn.exactlyOne(["hello"])

=&gt; ["hello"]

fn.exactlyOne(xdmp.arrayValues(["hello", "goodbye"]))

=&gt; XDMP-NOTONEITEM exception (because there are 2 items)
</pre></api:example></api:function></api:function-page>