<docbook><section><title>OATDOCxmla</title><para> </para>
<title> xmla.js</title> xmla.js
<para>XML for Analysis methods, exposing data accessible through any XMLA Provider.
 XMLA Providers are available to bridge to ODBC, JDBC, ADO.NET, and other data access mechanisms.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Functions</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.discover(callback)</bridgehead>
<para>Sends a &#39;discover datasources&#39; request, processes response, then performs <computeroutput>callback</computeroutput>.<computeroutput>OAT.Xmla.connection</computeroutput> should be set before calling this function.</para>
<programlisting>var callback = function(data); {
               alert(data); // array of DSNs
               }
OAT.Xmla.discover(callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.dbschema(callback)</bridgehead>
<para>Sends a &#39;dbschema_catalogs&#39; request, processes response, then performs <computeroutput>callback</computeroutput>.<computeroutput>OAT.Xmla.connection</computeroutput> should be set before calling this function.</para>
<programlisting>var callback = function(data); {
               alert(data); // array of catalogs
               }
OAT.Xmla.dbschema(callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.tables(catalog, callback)</bridgehead>
<para>Sends a &#39;dbschema_tables&#39; request with catalog restriction, processes response, then performs <computeroutput>callback</computeroutput>.<computeroutput>OAT.Xmla.connection</computeroutput> should be set before calling this function.</para>
<programlisting>var callback = function(data); {
               alert(data[0]); // array of table names
               alert(data[1]); // array of table schemes
               }
OAT.Xmla.tables(callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.columns(catalog, schema, table, callback)</bridgehead>
<para>Sends a &#39;dbschema_columns&#39; request with <computeroutput>catalog</computeroutput>, <computeroutput>schema</computeroutput> and <computeroutput>table restrictions</computeroutput>, processes response, then performs <computeroutput>callback</computeroutput>.<computeroutput>OAT.Xmla.connection</computeroutput> should be set before calling this function.</para>
<programlisting>var callback = function(data); {
               // data is an array of objects
               alert(data[0].name); // name of first column
               }
OAT.Xmla.columns(callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.execute(callback)</bridgehead>
<para>*<ulink url="ToBeDone">ToBeDone</ulink>? - verify function signature and sample*</para>
<para>Sends a <computeroutput>query</computeroutput> for execution.<computeroutput>OAT.Xmla.connection</computeroutput> should be set before calling this function.</para>
<programlisting>var callback = function(data); {
var header   = data[0];
var data     = data[1];
               alert(header.length); // count of columns in result
               alert(data.length); // count of rows in result
               }
OAT.Xmla.execute(query);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.qualifiers(callback)</bridgehead>
<para>Discovers qualifiers.</para>
<programlisting>var callback = function(data); {
               alert(&quot;First qualifier &quot;+data[0]);
               alert(&quot;Second qualifier &quot;+data[1]);
               }
OAT.Xmla.qualifiers(callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.primaryKeys(catalog, schema, table, callback)</bridgehead>
<para>Gets primary keys for this <computeroutput>table</computeroutput>.</para>
<programlisting>var callback = function(data); {
               // data == array of column names
               alert(data);
               }
OAT.Xmla.primaryKeys(catalog, schema, table, callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.foreignKeys(catalog, schema, table, callback)</bridgehead>
<para>Gets foreign keys for this <computeroutput>table</computeroutput>.</para>
<programlisting>var callback = function(data); {
               // data == array of objects
               for (var i=0;i&lt;data.length;i++) {
                   alert(data[i][0].column+&quot; &quot;+data[i][1].column);
                   }
               }
OAT.Xmla.foreignKeys(catalog, schema, table, callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.providerTypes(callback)</bridgehead>
<para>*<ulink url="ToBeDone">ToBeDone</ulink>? - verify function name, signature, example, and description...
 providerTypes? or  datatypes?*</para>
<para>Discovers available datatypes.</para>
<programlisting>var callback = function(data); {
               // data == array of objects
               for (var i=0;i&lt;data.length;i++) {
                   alert(data[i].name+&quot; &quot;+data[i].type);
                   }
               }
OAT.Xmla.providerTypes(catalog, schema, table, callback);
</programlisting><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Properties</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.connection</bridgehead>
<para><ulink url="ToBeDone">ToBeDone</ulink></para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> OAT.Xmla.query</bridgehead>
<para><ulink url="ToBeDone">ToBeDone</ulink></para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Examples</bridgehead>
<para><ulink url="ToBeDone">ToBeDone</ulink> -- all sample code snippets from above should be worked into a coherent sequence, removed from the above, and moved down here</para>
<para><ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryOAT">CategoryOAT</ulink> <ulink url="CategoryOpenSource">CategoryOpenSource</ulink> <ulink url="CategoryToBeDone">CategoryToBeDone</ulink></para>
</section></docbook>