<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: position - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: position - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: position - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="xpf_position" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - position</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="xpf_or.html" title="or">Prev</a> | <a class="link" href="xpf_processXQuery.html" title="processXQuery">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a class="selected" href="functions.html#XPATH">XPATH & XQUERY</a> </div> <div class="selected"> <div> <a href="xpf_and.html">and</a> </div> <div> <a href="xpf_append.html">append</a> </div> <div> <a href="xpf_assign.html">assign</a> </div> <div> <a href="xpf_avg.html">avg</a> </div> <div> <a href="xpf_boolean.html">boolean</a> </div> <div> <a href="xpf_ceiling.html">ceiling</a> </div> <div> <a href="xpf_concat.html">concat</a> </div> <div> <a href="xpf_contains.html">contains</a> </div> <div> <a href="xpf_count.html">count</a> </div> <div> <a href="xpf_create_attribute.html">create-attribute</a> </div> <div> <a href="xpf_create_comment.html">create-comment</a> </div> <div> <a href="xpf_create_element.html">create-element</a> </div> <div> <a href="xpf_create_pi.html">create-pi</a> </div> <div> <a href="xpf_current.html">current</a> </div> <div> <a href="xpf_distinct.html">distinct</a> </div> <div> <a href="xpf_doc.html">doc</a> </div> <div> <a href="xpf_document.html">document</a> </div> <div> <a href="xpf_document_literal.html">document-literal</a> </div> <div> <a href="xpf_empty.html">empty</a> </div> <div> <a href="xpf_ends_with.html">ends-with</a> </div> <div> <a href="xpf_every.html">every</a> </div> <div> <a href="xpf_except.html">except</a> </div> <div> <a href="xpf_false.html">false</a> </div> <div> <a href="xpf_filter.html">filter</a> </div> <div> <a href="xpf_floor.html">floor</a> </div> <div> <a href="xpf_collection.html">fn:collection</a> </div> <div> <a href="xpf_for.html">for</a> </div> <div> <a href="xpf_format_number.html">format-number</a> </div> <div> <a href="xpf_function_available.html">function-available</a> </div> <div> <a href="xpf_generate_id.html">generate-id</a> </div> <div> <a href="xpf_id.html">id</a> </div> <div> <a href="xpf_if.html">if</a> </div> <div> <a href="xpf_intersect.html">intersect</a> </div> <div> <a href="xpf_is_after.html">is_after()</a> </div> <div> <a href="xpf_is_before.html">is_before()</a> </div> <div> <a href="xpf_key.html">key</a> </div> <div> <a href="xpf_lang.html">lang</a> </div> <div> <a href="xpf_last.html">last</a> </div> <div> <a href="xpf_let.html">let</a> </div> <div> <a href="xpf_list.html">list()</a> </div> <div> <a href="xpf_local_name.html">local-name</a> </div> <div> <a href="xpf_max.html">max</a> </div> <div> <a href="xpf_min.html">min</a> </div> <div> <a href="xpf_name.html">name</a> </div> <div> <a href="xpf_namespace_uri.html">namespace-uri</a> </div> <div> <a href="xpf_normalize_space.html">normalize-space</a> </div> <div> <a href="xpf_not.html">not</a> </div> <div> <a href="xpf_number.html">number</a> </div> <div> <a href="xpf_or.html">or</a> </div> <div> <a class="selected" href="xpf_position.html">position</a> </div> <div> <a href="xpf_processXQuery.html">processxquery</a> </div> <div> <a href="xpf_processXSLT.html">processxslt</a> </div> <div> <a href="xpf_processXSQL.html">processxsql</a> </div> <div> <a href="xpf_progn.html">progn()</a> </div> <div> <a href="xpf_replace.html">replace()</a> </div> <div> <a href="xpf_round.html">round</a> </div> <div> <a href="xpf_serialize.html">serialize</a> </div> <div> <a href="xpf_shallow.html">shallow</a> </div> <div> <a href="xpf_some.html">some</a> </div> <div> <a href="xpf_starts_with.html">starts-with</a> </div> <div> <a href="xpf_string.html">string</a> </div> <div> <a href="xpf_string_length.html">string-length</a> </div> <div> <a href="xpf_substring.html">substring</a> </div> <div> <a href="xpf_substring_after.html">substring-after</a> </div> <div> <a href="xpf_substring_before.html">substring-before</a> </div> <div> <a href="xpf_sum.html">sum</a> </div> <div> <a href="xpf_system_property.html">system-property</a> </div> <div> <a href="xpf_text_contains.html">text_contains()</a> </div> <div> <a href="xpf_translate.html">translate</a> </div> <div> <a href="xpf_true.html">true</a> </div> <div> <a href="xpf_tuple.html">tuple()</a> </div> <div> <a href="xpf_union.html">union</a> </div> <div> <a href="xpf_unordered.html">unordered</a> </div> <div> <a href="xpf_unparsed_entity_uri.html">unparsed-entity-uri</a> </div> <div> <a href="xpf_urlify.html">urlify</a> </div> <div> <a href="xpf_xmlview.html">xmlview</a> </div> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>position</h2> <div class="refpurpose">Returns the context position from expression evaluation context.</div> <div class="funcsynopsis"> <span class="funcdef">number <span class="function">position</span> </span> </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p> Context position is the number of nodes in the node-set where the context node comes from. For the most popular case, when position() is used inside a predicate, and the predicate relates to some axis of the path, position() is the number of calls of the predicate, including the "current" call which is in progress when the function is called. Thus, context position cannot be greater than context size. </p> </div> <div class="refsect1"> <div class="refsect1title">Return Types</div> <p>Positive integer.</p> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="xpf_ex_last" /> <div class="example"> <div class="exampletitle">Explicit call of position() inside a predicate</div> <p>For every waybill, find the last <address> child inside the <waybill> element.</p> <div> <pre class="screen">//waybill/address[position() = last()]</pre> </div> </div> <a name="xpf_ex_last" /> <div class="example"> <div class="exampletitle">Implicit call of position() inside a predicate</div> <p>For every article, find up to three first paragraphs of the first section.</p> <div> <pre class="screen">//article/section[1]/paragraph[position()<=3]</pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="xpf_last.html">last()</a> <a href="xpf_count.html">count()</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>