<?xml version="1.0" encoding="UTF-8"?><api:function-page xml:base="/apidoc/8.0/cts.elementAttributeWords.xml" generated="2015-10-07T16:36:00.016766-07:00" mode="javascript" xmlns:api="http://marklogic.com/rundmc/api"><api:function-name>cts.elementAttributeWords</api:function-name><api:suggest>cts.elementattributewords</api:suggest><api:suggest>cts</api:suggest><api:suggest>elementattributewords</api:suggest><api:function-link mode="xquery" fullname="cts:element-attribute-words">/apidoc/8.0/cts:element-attribute-words.xml</api:function-link><api:function mode="javascript" name="elementAttributeWords" type="builtin" lib="cts" category="SearchBuiltins" subcategory="Lexicon" hidden="false" bucket="MarkLogic Built-In Functions" prefix="cts" namespace="http://marklogic.com/cts" fullname="cts.elementAttributeWords"><api:summary>
  Returns words from the specified element-attribute word lexicon(s).
  This function requires an element-attribute word lexicon for each of the
  element/attribute pairs specified in the function.  If there is not an
  element/attribute word lexicon configured for any of the specified
  element/attribute pairs, then an exception is thrown.  The words are
  returned in collation order.
</api:summary><api:params><api:param name="element-names" type="xs:QName*"><api:param-description>
    One or more element QNames.
  </api:param-description><api:param-name>element-names</api:param-name><api:param-type>xs.QName[]</api:param-type></api:param><api:param name="attribute-names" type="xs:QName*"><api:param-description>
    One or more attribute QNames.
  </api:param-description><api:param-name>attribute-names</api:param-name><api:param-type>xs.QName[]</api:param-type></api:param><api:param name="start" type="xs:string?" optional="true"><api:param-description>
    A starting word.  Returns only this word and any following words
    from the lexicon.  If the parameter is not in the lexicon, then it
    returns the words beginning with the next word.
  </api:param-description><api:param-name>start</api:param-name><api:param-type>String?</api:param-type></api:param><api:param name="options" type="xs:string*" optional="true"><api:param-description>
    Options.  The default is ().
    <p xmlns="http://www.w3.org/1999/xhtml">
      Options include:</p>
      <blockquote xmlns="http://www.w3.org/1999/xhtml"><dl>
        <dt>"ascending"</dt>
        <dd>Words should be returned in ascending order.</dd>
        <dt>"descending"</dt>
        <dd>Words should be returned in descending order.</dd>
        <dt>"any"</dt>
        <dd>Words from any fragment should be included.</dd>
        <dt>"document"</dt>
        <dd>Words from document fragments should be included.</dd>
        <dt>"properties"</dt>
        <dd>Words from properties fragments should be included.</dd>
        <dt>"locks"</dt>
        <dd>Words from locks fragments should be included.</dd>
        <dt>"collation=<em>URI</em>"</dt>
        <dd>Use the lexicon with the collation specified by <em>URI</em>.</dd>
        <dt>"limit=<em>N</em>"</dt>
        <dd>Return no more than <em>N</em> words.</dd>
        <dt>"skip=<em>N</em>"</dt>
        <dd>Skip over fragments selected by the <code>cts:query</code>
        to treat the <em>Nth</em> fragment as the first fragment.
        Words from skipped fragments are not included.
        Only applies when a <code>$query</code> parameter is specified.</dd>
        <dt>"sample=<em>N</em>"</dt>
        <dd>Return only words from the first <em>N</em> fragments after
        skip selected by the <code>cts:query</code>.
        Only applies when a <code>$query</code> parameter is specified.</dd>
        <dt>"truncate=<em>N</em>"</dt>
        <dd>Include only words from the first <em>N</em> fragments after
        skip selected by the <code>cts:query</code>.
        Only applies when a <code>$query</code> parameter is specified.</dd>
        <dt>"score-logtfidf"</dt>
        <dd>Compute scores using the logtfidf method.</dd>
        <dt>"score-logtf"</dt>
        <dd>Compute scores using the logtf method.</dd>
        <dt>"score-simple"</dt>
        <dd>Compute scores using the simple method.</dd>
        <dt>"score-random"</dt>
        <dd>Compute scores using the random method.</dd>
        <dt>"score-zero"</dt>
        <dd>Compute all scores as zero.</dd>
        <dt>"checked"</dt>
        <dd>Word positions should be checked when resolving the query.</dd>
        <dt>"unchecked"</dt>
        <dd>Word positions should not be checked when resolving the query.</dd>
        <dt>"too-many-positions-error"</dt>
        <dd>If too much memory is needed to perform positions calculations
        to check whether a document matches a query, 
        return an XDMP-TOOMANYPOSITIONS error, 
        instead of accepting the document as a match.</dd>
        <dt>"concurrent"</dt>
        <dd>Perform the work concurrently in another thread. This is a hint
        to the query optimizer to help parallelize the lexicon work, allowing
        the calling query to continue performing other work while the lexicon
        processing occurs.  This is especially useful in cases where multiple
        lexicon calls occur in the same query (for example, resolving many
        facets in a single query).</dd>
        <dt>"map"</dt>
        <dd>Return results as 
	<span class="javascript">a JavaScript Object instead of as 
	a ValueIterator</span>.</dd>
     </dl></blockquote>
  </api:param-description><api:param-name>options</api:param-name><api:param-type>String[]</api:param-type></api:param><api:param name="query" type="cts:query?" optional="true"><api:param-description>
    Only include words in fragments selected by the <code xmlns="http://www.w3.org/1999/xhtml">cts:query</code>.
    The words do not need to match the query, but the words must occur
    in fragments selected by the query.
    The fragments are not filtered to ensure they match the query,
    but instead selected in the same manner as <a href="#unfiltered" xmlns="http://www.w3.org/1999/xhtml">
    "unfiltered" <code>cts:search</code></a> operations.  If a string
   is entered, the string is treated as a <code xmlns="http://www.w3.org/1999/xhtml">cts:word-query</code> of the
   specified string.
  </api:param-description><api:param-name>query</api:param-name><api:param-type>cts.query?</api:param-type></api:param><api:param name="quality-weight" type="xs:double?" optional="true"><api:param-description>
    A document quality weight to use when computing scores.
    The default is 1.0.
  </api:param-description><api:param-name>quality-weight</api:param-name><api:param-type>Number?</api:param-type></api:param><api:param name="forest-ids" type="xs:unsignedLong*" optional="true"><api:param-description>
    A sequence of IDs of forests to which the search will be constrained.
    An empty sequence means to search all forests in the database.
    The default is ().
  </api:param-description><api:param-name>forest-ids</api:param-name><api:param-type>String[]</api:param-type></api:param></api:params><api:return>ValueIterator</api:return><api:usage>
  <p xmlns="http://www.w3.org/1999/xhtml">Only one of "ascending" or "descending" may be specified
  in the options parameter.  If neither "ascending" nor "descending"
  is specified, then the default is "ascending".</p>
  <p xmlns="http://www.w3.org/1999/xhtml">Only one of "any", "document", "properties", or "locks"
  may be specified in the options parameter.
  If none of "any", "document", "properties", or "locks" are specified
  and there is a $query parameter, then the default is "document".
  If there is no $query parameter then the default is "any".</p>
  <p xmlns="http://www.w3.org/1999/xhtml">Only one of the "score-logtfidf", "score-logtf", "score-simple",
  "score-random", or "score-zero" options may be specified in the options
  parameter.
  If none of "score-logtfidf", "score-logtf", "score-simple", "score-random",
  or "score-zero" are specified, then the default is "score-logtfidf".</p>
  <p xmlns="http://www.w3.org/1999/xhtml">Only one of the "checked" or "unchecked" options may be specified
  in the options parameter.
  If neither "checked" nor "unchecked" are specified,
  then the default is "checked".</p>
  <p xmlns="http://www.w3.org/1999/xhtml">If "collation=<em>URI</em>" is not specified in the options parameter,
  then the default collation is used. If a lexicon with that collation
  does not exist, an error is thrown.</p>
  <p xmlns="http://www.w3.org/1999/xhtml">If "sample=<em>N</em>" is not specfied in the options parameter,
  then all included words may be returned. If a <code>$query</code> parameter
  is not present, then "sample=<em>N</em>" has no effect.</p>
  <p xmlns="http://www.w3.org/1999/xhtml">If "truncate=<em>N</em>" is not specfied in the options parameter,
  then words from all fragments selected by the <code>$query</code> parameter
  are included.  If a <code>$query</code> parameter is not present, then
  "truncate=<em>N</em>" has no effect.</p>
  <p xmlns="http://www.w3.org/1999/xhtml">When multiple element and/or attribute QNames are specified,
  then all possible element/attribute QName combinations are used
  to select the matching values.</p>
  <p xmlns="http://www.w3.org/1999/xhtml">When run without a $query parameter and as a user with the admin role, 
  the word lexicon functions return results that might include words from 
  deleted fragments. However, when run as a user with the admin role and 
  without a $query parameter, the word lexicon functions run faster (because 
  they do not need to look up where each word comes from). It is therefore 
  faster to run word lexicon functions as an admin user without passing a 
  $query parameter.
  </p>
</api:usage><api:example class="javascript"><pre xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
  cts.elementAttributeWords(xs.QName("animal"),
                              xs.QName("name"),
                              "aardvark")
  =&gt; ("aardvark","aardvarks","aardwolf",...)
</pre></api:example></api:function></api:function-page>