Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 1035

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!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: document-literal - Virtuoso Functions Guide" />
  <meta name="dc.subject" content="Function: document-literal - Virtuoso Functions Guide" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <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: document-literal - Virtuoso Functions Guide</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <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_document_literal" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>22. Virtuoso Functions Guide - document-literal</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="xpf_document.html" title="document">Prev</a> | <a class="link" href="xpf_empty.html" title="empty">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 &amp; 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 &amp; 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 &amp; 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 &amp; Internet</a>
   </div>
   <div>
      <a href="functions.html#xml">XML</a>
   </div>
   <div>
      <a class="selected" href="functions.html#XPATH">XPATH &amp; 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 class="selected" 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 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>document-literal</h2>
    <div class="refpurpose">Parses given XML text and returns the resulting XML data.</div>
    <div class="funcsynopsis">
        <span class="funcdef">node-set <span class="function">document-literal</span>
      </span>
        (<span class="paramdef">
        <span class="parameter">document_text</span> varchar</span>, 
        <span class="paramdefoptional">[<span class="optional">cache_uri</span> varchar]</span>, 
        <span class="paramdefoptional">[<span class="optional">parser_mode</span> integer]</span>, 
        <span class="paramdefoptional">[<span class="optional">content_encoding</span> varchar]</span>, 
        <span class="paramdefoptional">[<span class="optional">content_language</span> varchar]</span>, 
        <span class="paramdefoptional">[<span class="optional">dtd_validator_config</span> varchar]</span>);
      </div>
   
   
  
  <div class="refsect1">
      <div class="refsect1title">Description</div>
<p>
The function tries to parse an XML text as if it is obtained from a location
specified by <span class="computeroutput">cache_uri</span>. On success, it returns
the root entity of the &quot;XML Tree&quot; document; the result is identical to
the entity created by <a href="fn_xtree_doc.html">xtree_doc()</a> Virtuoso/PL function.
</p>
<p>
When XPath processor parses a document, it saves it in a temporary cache.
If a cached document is accessed again then no actual retrieval or parsing is made and
a cached value is returned.
The cache persists till the end of execution of a XPath query
or till the end of the XSLT transformation
if the XPath expression is a part of XSLT stylesheet.
The <span class="computeroutput">cache_uri</span> specifies the URI used as a key if the parsed document is cached.
If <span class="computeroutput">cache_uri</span> is not specified or the specified value is equal to an empty string,
then no caching is performed.
If the specified <span class="computeroutput">cache_uri</span> is not equal to an empty string
then it should distinct from URIs of other XML resources that are sources of the
XPath query, to prevent confusion.
</p>
<p>
The <span class="computeroutput">cache_uri</span> is also used by XML parser 
as a base URI to resolve relative URIs of external entities, so it is a good idea to
specify some absolute URI if the parsed text is not a &quot;standalone&quot; document.
</p>
<p>
The <span class="computeroutput">document_text</span> argument may be a sequence, not a single string.
In this case a node-set is returned as if <span class="computeroutput">document-literal</span> is applied to
string-value of every element of the sequence.
It is obvious that caching should not be used
if there&#39;s a chance that the sequence may have more than one distinct element.
</p>
<p>
Note that the <span class="computeroutput">document-literal</span> is not a part of XPATH 1.0
or XQuery 1.0 standard library.
</p>
</div>
  <div class="refsect1">
      <div class="refsect1title">Parameters</div>
    <div class="refsect2">
        <span class="refsect2title">document_text – </span>
      well formed XML or HTML text</div>
    <div class="refsect2">
        <span class="refsect2title">cache_uri – </span>
      The URI that is used to
resolve all relative URIs (i.e. to convert them into absolute in order to locate and load subdocuments) and
to change &#39;local&#39; absolute references to relative when in HTML mode.</div>
    <div class="refsect2">
        <span class="refsect2title">parser_mode – </span>
      0, 1 or 2; 0 - XML parser mode, 1 - HTML parser mode, 2 - &#39;dirty HTML&#39;
mode (with quiet recovery after any syntax error)</div>
    <div class="refsect2">
        <span class="refsect2title">content_encoding – </span>
      string with content encoding type of <span class="computeroutput">document_text</span>; valid are &#39;ASCII&#39;, &#39;ISO&#39;,
&#39;UTF8&#39;, &#39;ISO8859-1&#39;, &#39;LATIN-1&#39; etc., defaults are &#39;UTF-8&#39; for XML mode and &#39;LATIN-1&#39; for
HTML mode.</div>
    <div class="refsect2">
        <span class="refsect2title">content_language – </span>
      string with language tag of content of <span class="computeroutput">document_text</span>; valid names are listed in
IETF RFC 1766, default is &#39;x-any&#39; (it means &#39;mix of words from various human languages&#39;)</div>
    <div class="refsect2">
        <span class="refsect2title">dtd_validator_config – </span>
      configuration string for DTD validator, default is &quot;Include=ERROR IdCache=ENABLE&quot; meaning that DTD
should be read but validation should be disabled; errors on including subdocuments should be
reported as errors and thus should abort the processing; a dictionary of element&#39;s IDs should be created
in order to support XQuery &#39;pointer operator&#39;.
See <a href="xmlschema.html#dtd_config">Configuration Options of the DTD Validator</a> for details.</div>
  </div>
  <div class="refsect1">
      <div class="refsect1title">Return Types</div>
      <p>Node-set</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="errXPF15" />
            <span class="errorcode">XPF15</span>
          </td>
	    <td class="data">
            <span class="errorname">Too many arguments passed to XPATH function document-literal()</span>
          </td>
	    <td class="data">The number of parameters may vary only from 1 to 6.</td>
	  </tr>
	
      
    </table>
      <br />
  </div>
  <div class="refsect1">
      <div class="refsect1title">Examples</div>
    <a name="xpf_ex_document_literal1" />
      <div class="example">
        <div class="exampletitle">Simple reading of a standalone XML document</div>
      <p>Read a short document from string</p>
      <div>
          <pre class="screen">document-literal(&quot;Hello&quot;)</pre>
        </div>
    </div>
    <a name="xpf_ex_document_literal2" />
      <div class="example">
        <div class="exampletitle">Simple reading of a non-standalone document</div>
      <p>Read a non-standalone document from local mirror but access its subdocuments as if it is retrieved directly from
&#39;http://www.example.com/sales/prices.xml&#39;, so e.g. the subdocument that is referenced as &#39;termsandconditions.xml&#39; is
retrieved from &#39;http://www.example.com/sales/termsandconditions.xml&#39;</p>
      <div>
          <pre class="screen">
document-literal(&#39;
&lt;!DOCTYPE price-list SYSTEM &quot;http://www.example.com/dtd/sales.dtd&quot; [
&lt;!ENTITY t_and_c SYSTEM &quot;termsandconditions.xml&quot;&gt;
&lt;!ENTITY prices_oct2002 SYSTEM &quot;prices/2002/oct.xml&quot;&gt;
]&gt;
&lt;price-list&gt;
&amp;t_and_c;
&amp;prices_oct2002;
&lt;/price-list&gt;
&#39;,
&#39;http://webcache.localdomain/examplesales/prices.xml&#39; )
</pre>
        </div>
    </div>
  </div>
  <div class="refsect1">
      <div class="refsect1title">See Also</div>
    <p>
        <a href="xpf_document.html">document()</a>
      </p>
    <p>
        <a href="fn_xtree_doc.html">xtree_doc()</a>
      </p>
    <p>
        <a href="fn_xper_doc.html">xper_doc()</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>