Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 170

saxon-manual-9.4.0.9-2.mga7.noarch.rpm

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>ExtensionFunctionCall</title>
      <meta name="keywords" content="Saxon.Api.ExtensionFunctionCall class">
      <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
   </head>
   <body>
      <div style="width:20%; float:left; background-color:#c1cede; overflow:auto; height:100%">
         <h2>Saxon.Api</h2>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="DocumentBuilder.html">DocumentBuilder</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="DomDestination.html">DomDestination</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="DynamicContext.html">DynamicContext</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="DynamicError.html">DynamicError</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="EmptyEnumerator.html">EmptyEnumerator</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="ExtensionFunctionCall.html">ExtensionFunctionCall</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="ExtensionFunctionDefinition.html">ExtensionFunctionDefinition</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="NullDestination.html">NullDestination</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="Processor.html">Processor</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="QName.html">QName</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="SchemaManager.html">SchemaManager</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="SchemaValidator.html">SchemaValidator</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="Serializer.html">Serializer</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="StaticContext.html">StaticContext</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="StaticError.html">StaticError</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="TextWriterDestination.html">TextWriterDestination</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XPathCompiler.html">XPathCompiler</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XPathExecutable.html">XPathExecutable</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XPathSelector.html">XPathSelector</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XQueryCompiler.html">XQueryCompiler</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XQueryEvaluator.html">XQueryEvaluator</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XQueryExecutable.html">XQueryExecutable</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmAnyFunctionType.html">XdmAnyFunctionType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmAnyItemType.html">XdmAnyItemType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmAnyNodeType.html">XdmAnyNodeType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmAtomicType.html">XdmAtomicType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmAtomicValue.html">XdmAtomicValue</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmDestination.html">XdmDestination</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmEmptySequence.html">XdmEmptySequence</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmFunctionItem.html">XdmFunctionItem</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmItem.html">XdmItem</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmItemType.html">XdmItemType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmNode.html">XdmNode</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmNodeKind.html">XdmNodeKind</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmSequenceType.html">XdmSequenceType</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XdmValue.html">XdmValue</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XmlDestination.html">XmlDestination</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XsltCompiler.html">XsltCompiler</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XsltExecutable.html">XsltExecutable</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Class&nbsp;<a href="XsltTransformer.html">XsltTransformer</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Enum&nbsp;<a href="RecoveryPolicy.html">RecoveryPolicy</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Enum&nbsp;<a href="SchemaValidationMode.html">SchemaValidationMode</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Enum&nbsp;<a href="TreeModel.html">TreeModel</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Enum&nbsp;<a href="WhitespacePolicy.html">WhitespacePolicy</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Enum&nbsp;<a href="XdmAxis.html">XdmAxis</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="IMessageListener.html">IMessageListener</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="IQueryResolver.html">IQueryResolver</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="IResultDocumentHandler.html">IResultDocumentHandler</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="IXdmEnumerator.html">IXdmEnumerator</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="IXmlLocation.html">IXmlLocation</a></p>
         </div>
         <div style="position:relative; height:4pt">
            <p>Interface&nbsp;<a href="SchemaResolver.html">SchemaResolver</a></p>
         </div>
      </div>
      <div style="width:5%; float:left; background-color:#e4eef0; overflow:auto; height:100%">
         &nbsp;
         
      </div>
      <div style="float:left; width:75%; overflow:auto; height:100%;">
         <h2><font size="-1">Saxon.Api</font><br>Class&nbsp;ExtensionFunctionCall
         </h2>
         <hr>
         <dl>
            <dt><pre>public abstract class&nbsp;ExtensionFunctionCall</pre></dt>
            <dt> implements <a href="http://msdn.microsoft.com/en-us/library/system.object(VS.80).aspx">object</a></dt>
         </dl>
         <dl>
            <dd>
               
               <p>An instance of this class will be created by the compiler for each function call to
                  this extension function
                  that is found in the source code. The class is always instantiated by calling the
                  method <code>MakeFunctionCall()</code>
                  of the corresponding <code>ExtensionFunctionDefinition</code>. 
                  The implementation may therefore retain information about the static context of the
                  call. Once compiled, however, the instance object must be immutable.
               </p>
               
            </dd>
         </dl>
         <hr><a name="method_summary"></a><table border="1" width="100%" cellpadding="3" cellspacing="0" summary="">
            <tr border="#ccccff" class="TableHeadingColor">
               <th align="left" colspan="2"><font size="+2"><b>Method Summary</b></font></th>
            </tr>
            <tr bgcolor="white" class="TableRowColor">
               <td align="right" valign="top" width="1%"><code>&nbsp;void</code></td>
               <td><code><b><a href="#SupplyStaticContext(Saxon.Api.StaticContext)">SupplyStaticContext</a></b>(<a href="StaticContext.html">StaticContext</a>&nbsp;context)</code><p>
                     Method called by the compiler (at compile time) to provide information about the static
                     context of the
                     function call. The implementation may retain this information for use at run-time,
                     if the result of the
                     function depends on information in the static context.
                     
                  </p>
               </td>
            </tr>
            <tr bgcolor="white" class="TableRowColor">
               <td align="right" valign="top" width="1%"><code>&nbsp;void</code></td>
               <td><code><b><a href="#CopyLocalData(Saxon.Api.ExtensionFunctionCall)">CopyLocalData</a></b>(<a href="ExtensionFunctionCall.html">ExtensionFunctionCall</a>&nbsp;destination)</code><p>
                     A subclass must implement this method if it retains any local data at the instance
                     level. On some occasions
                     (for example, when XSLT or XQuery code is inlined), Saxon will make a copy of an <code>ExtensionFunction</code> object.
                     It will then call this method on the old object, supplying the new object as the value
                     of the argument, and the
                     method must copy all local data items from the old object to the new.
                     
                  </p>
               </td>
            </tr>
            <tr bgcolor="white" class="TableRowColor">
               <td align="right" valign="top" width="1%"><code>&nbsp;<a href="IXdmEnumerator.html">IXdmEnumerator</a></code></td>
               <td><code><b><a href="#Call(Saxon.Api.IXdmEnumerator[],Saxon.Api.DynamicContext)">Call</a></b>(Saxon.Api.IXdmEnumerator[]&nbsp;arguments, <a href="DynamicContext.html">DynamicContext</a>&nbsp;context)</code><p>
                     Method called at run time to evaluate the function.
                     
                  </p>
               </td>
            </tr>
         </table>&nbsp;<a name="method_detail"></a><table border="1" width="100%" cellpadding="3" cellspacing="0" summary="">
            <tr border="#ccccff" class="TableHeadingColor">
               <th align="left" colspan="2"><font size="+2"><b>Method Detail</b></font></th>
            </tr>
         </table><a name="SupplyStaticContext(Saxon.Api.StaticContext)"></a><h3>SupplyStaticContext</h3><pre>public&nbsp;virtual&nbsp;void&nbsp;<b>SupplyStaticContext</b>(<a href="StaticContext.html">StaticContext</a>&nbsp;context)</pre><dl>
            <dd>
               <p>
                  Method called by the compiler (at compile time) to provide information about the static
                  context of the
                  function call. The implementation may retain this information for use at run-time,
                  if the result of the
                  function depends on information in the static context.
                  
               </p>
               <p>
                  For efficiency, the implementation should only retain copies of the information that
                  it actually needs. It
                  is not a good idea to hold a reference to the static context itself, since that can
                  result in a great deal of
                  compile-time information being locked into memory during run-time execution.
                  
               </p><b>Parameters:</b><dl>
                  <dt><code>context</code> - 
                  </dt>
                  <dd>Information about the static context in which the function is called</dd>
               </dl>
            </dd>
         </dl>
         <hr><a name="CopyLocalData(Saxon.Api.ExtensionFunctionCall)"></a><h3>CopyLocalData</h3><pre>public&nbsp;virtual&nbsp;void&nbsp;<b>CopyLocalData</b>(<a href="ExtensionFunctionCall.html">ExtensionFunctionCall</a>&nbsp;destination)</pre><dl>
            <dd>
               <p>
                  A subclass must implement this method if it retains any local data at the instance
                  level. On some occasions
                  (for example, when XSLT or XQuery code is inlined), Saxon will make a copy of an <code>ExtensionFunction</code> object.
                  It will then call this method on the old object, supplying the new object as the value
                  of the argument, and the
                  method must copy all local data items from the old object to the new.
                  
               </p><b>Parameters:</b><dl>
                  <dt><code>destination</code> - 
                  </dt>
                  <dd>The new extension function object. This will always be an instance of the same
                     class as the existing object.
                  </dd>
               </dl>
            </dd>
         </dl>
         <hr><a name="Call(Saxon.Api.IXdmEnumerator[],Saxon.Api.DynamicContext)"></a><h3>Call</h3><pre>public&nbsp;abstract&nbsp;<a href="IXdmEnumerator.html">IXdmEnumerator</a>&nbsp;<b>Call</b>(Saxon.Api.IXdmEnumerator[]&nbsp;arguments,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="DynamicContext.html">DynamicContext</a>&nbsp;context)</pre><dl>
            <dd>
               <p>
                  Method called at run time to evaluate the function.
                  
               </p><b>Parameters:</b><dl>
                  <dt><code>arguments</code> - 
                  </dt>
                  <dd>The values of the arguments to the function, supplied as iterators over XPath
                     sequence values.
                  </dd>
               </dl>
               <dl>
                  <dt><code>context</code> - 
                  </dt>
                  <dd>The dynamic context for evaluation of the function. This provides access
                     to the context item, position, and size, and if required to internal data maintained
                     by the Saxon
                     engine.
                  </dd>
               </dl>
               <dl>
                  <dt>returns</dt>
                  <dd>An iterator over a sequence, representing the result of the extension function.
                     Note that Saxon does not guarantee to read this sequence to completion, so calls on
                     the iterator
                     must have no side-effects. In rare circumstances (for example, when <code>last()</code> is
                     used) Saxon may clone the returned iterator by calling its <code>GetAnother()</code> method, 
                     allowing the function results to be read more than once.
                  </dd>
               </dl>
            </dd>
         </dl>
         <hr>
      </div>
   </body>
</html>