<!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: shallow - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: shallow - 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: shallow - 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_shallow" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - shallow</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="xpf_serialize.html" title="serialize">Prev</a> | <a class="link" href="xpf_some.html" title="some">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 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 class="selected" 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>shallow</h2> <div class="refpurpose">Returns a shallow copy of the given XML entity</div> <div class="funcsynopsis"> <span class="funcdef">entity <span class="function">shallow</span> </span> (<span class="paramdef"> <span class="parameter">ent</span> entity</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p> The function returns a shallow copy of the given XML entity, i.e. a root of a new document that consists of only one node that is a copy of the given entity but have no children. </p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">ent – </span> The XML entity to copy</div> </div> <div class="refsect1"> <div class="refsect1title">Return Types</div> <p>The function returns an XML entity.</p> </div> <div class="refsect1"> <div class="refsect1title">Errors</div> <table class="data"> <tr> <th class="data">SQLState</th> <th class="data">Error Code</th> <th class="data">Error Text</th> <th class="data">Description</th> </tr> <tr> <td class="data"> <a name="errXP001" /> <span class="errorcode">XP001</span> </td> <td class="data"> <a name="errXPFD6" /> <span class="errorcode">XPFD6</span> </td> <td class="data"> <span class="errorname">The argument of XPATH function shallow() is not an entity</span> </td> <td class="data">To match XQuery standard, the function signal an error if ent is not an entity.</td> </tr> <tr> <td class="data"> <a name="errXP001" /> <span class="errorcode">XP001</span> </td> <td class="data"> <a name="errXPFD7" /> <span class="errorcode">XPFD7</span> </td> <td class="data"> <span class="errorname">Persistent XML entities are not supported by XPATH function shallow()</span> </td> <td class="data">This is an artificial restriction that is to be removed in future versions of Virtuoso.</td> </tr> </table> <br /> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="xpf_ex_shallow" /> <div class="example"> <div class="exampletitle">Find Martha's spouse</div> <p> The idea of the following sample is from W3C's XQuery Use Cases (case 1.9.4.1.). The query should find all persons whose name is "Marta" and return entities that describes their spouses, with removed information about children. </p> <div> <pre class="screen"> -- read the document, then... let $doc := document("census.xml") -- for every person named "Martha"... for $m in $doc//person[@name="Martha"] -- for all (i.e. 0 or 1) her spouses... for $s in $m/@spouse => person -- return <person> element with attributes preserved but with children removed return shallow($s) </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="xpf_filter.html">filter()</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>