1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="xpf_processXSQL">
<refmeta>
<refentrytitle>processXSQL</refentrytitle>
<refmiscinfo>XPATH</refmiscinfo>
</refmeta>
<refnamediv>
<refname>processXSQL</refname>
<refpurpose>Executes XSQL page and returns the result.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="xpf_syn_processXSQL">
<funcprototype id="xpf_proto_processXSQL">
<funcdef>entity <function>processXSQL</function></funcdef>
<paramdef><parameter>xsql_page_uri</parameter> string</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="xpf_desc_processXSQL"><title>Description</title>
<para>
This function takes a URI of an <link linkend="xsql">XSQL</link> page,
compiles the page into a Virtuoso/PL procedure (if not compiled earlier)
and executes the compiled procedure. The current entity is
passed to the page procedure as "context XML" argument.
The function returns the XML document composed by page procedure.
The result tree is separate from the argument tree
and the only reference to it is the returned entity.
</para>
<para>
For compatibility, the <function>processXSQL()</function> function can also be called as
<function>http://schemas.oracle.com/xpath/extension:processXSQL()</function>.
</para>
</refsect1>
<refsect1 id="xpf_params_processXSQL"><title>Parameters</title>
<refsect2><title>xsql_page_uri</title>
<para>URI pointing to the location of an XSQL page.
It can be absolute or relative. Relative <title>xsql_page_uri</title> should be resolved before use, this requires base URI information.
Base URI can be declared explicitly by "__base_uri" parameter in XPATH or
"declare base-uri" setter in XQuery.
If this is not declared but the expression is a part of some stylesheet or XQuery module then the URI of the stylesheet or module is
used as a base URI.
A run-time error is signalled if the URI is relative and the expression does not contain explicit declaration and the expression is neither in a stylesheet nor in a module.
</para>
<para>
In current version of Virtuoso, XSQL page should be either a file
(with URI like "file://...") or a DAV resource
(with URI like "virt://WS.WS.SYS_DAV_RES.RES_FULL_PATH.RES_CONTENT:...")
</para></refsect2>
</refsect1>
<refsect1 id="xpf_ret_processXSQL"><title>Return Types</title><para>The function returns an XML entity that is the root entity of
the resulting document of an XSQL page.</para></refsect1>
<!--
<refsect1 id="xpf_errors_processXSQL"><title>Errors</title>
<table><title>Errors signalled by</title>
<tgroup cols="4">
<thead><row><entry>SQLState</entry><entry>Error Code</entry><entry>Error Text</entry><entry>Description</entry></row></thead>
<tbody>
<row>
<entry><errorcode></errorcode></entry>
<entry><errorcode></errorcode></entry>
<entry><errorname></errorname></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
-->
<refsect1 id="xpf_examples_processXSQL"><title>Examples</title>
<example id="xpf_ex_processXSQL"><title>Simple call</title>
<para>The query passes its argument to the XSQL page and returns its result.
This is the simplest way of calling an XSQL page.</para>
<screen><![CDATA[
processXSQL ("file://sample.xsql")
]]></screen>
</example>
</refsect1>
<refsect1 id="xpf_seealso_processXSQL"><title>See Also</title>
<para><link linkend="xpf_processXSLT"><function>processXSLT()</function></link></para>
<para><link linkend="xpf_processXQuery"><function>processXQuery()</function></link></para>
</refsect1>
</refentry>
|