<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:48:16 GMT 2011 --> <TITLE> ConstructorFunctionLibrary </TITLE> <META NAME="date" CONTENT="2011-12-09"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="ConstructorFunctionLibrary"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../net/sf/saxon/functions/Concat.html" title="class in net.sf.saxon.functions"><B>PREV CLASS</B></A> <A HREF="../../../../net/sf/saxon/functions/Contains.html" title="class in net.sf.saxon.functions"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?net/sf/saxon/functions/ConstructorFunctionLibrary.html" target="_top"><B>FRAMES</B></A> <A HREF="ConstructorFunctionLibrary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> net.sf.saxon.functions</FONT> <BR> Class ConstructorFunctionLibrary</H2> <PRE> <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.sf.saxon.functions.ConstructorFunctionLibrary</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></DD> </DL> <HR> <DL> <DT><PRE>public class <B>ConstructorFunctionLibrary</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></DL> </PRE> <P> The ConstructorFunctionLibrary represents the collection of constructor functions for atomic types. These are provided for the built-in types such as xs:integer and xs:date, and also for user-defined atomic types. <P> <P> <DL> <DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#net.sf.saxon.functions.ConstructorFunctionLibrary">Serialized Form</A></DL> <HR> <P> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><B><A HREF="../../../../net/sf/saxon/functions/ConstructorFunctionLibrary.html#ConstructorFunctionLibrary(net.sf.saxon.Configuration)">ConstructorFunctionLibrary</A></B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A> config)</CODE> <BR> Create a SystemFunctionLibrary</TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#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%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../net/sf/saxon/functions/ConstructorFunctionLibrary.html#bind(net.sf.saxon.om.StructuredQName, net.sf.saxon.expr.Expression[], net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.Container)">bind</A></B>(<A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> functionName, <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>[] arguments, <A HREF="../../../../net/sf/saxon/expr/StaticContext.html" title="interface in net.sf.saxon.expr">StaticContext</A> env, <A HREF="../../../../net/sf/saxon/expr/Container.html" title="interface in net.sf.saxon.expr">Container</A> container)</CODE> <BR> Bind an extension function, given the URI and local parts of the function name, and the list of expressions supplied as arguments.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../net/sf/saxon/functions/ConstructorFunctionLibrary.html#copy()">copy</A></B>()</CODE> <BR> This method creates a copy of a FunctionLibrary: if the original FunctionLibrary allows new functions to be added, then additions to this copy will not affect the original, or vice versa.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> <A HREF="../../../../net/sf/saxon/value/SequenceType.html" title="class in net.sf.saxon.value">SequenceType</A>[]</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../net/sf/saxon/functions/ConstructorFunctionLibrary.html#getFunctionSignature(net.sf.saxon.om.StructuredQName, int)">getFunctionSignature</A></B>(<A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> functionName, int arity)</CODE> <BR> Test whether a system function with a given name and arity is available, and return its signature.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD> </TR> </TABLE> <P> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TH> </TR> </TABLE> <A NAME="ConstructorFunctionLibrary(net.sf.saxon.Configuration)"><!-- --></A><H3> ConstructorFunctionLibrary</H3> <PRE> public <B>ConstructorFunctionLibrary</B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A> config)</PRE> <DL> <DD>Create a SystemFunctionLibrary <P> <DL> <DT><B>Parameters:</B><DD><CODE>config</CODE> - the Configuration</DL> </DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="getFunctionSignature(net.sf.saxon.om.StructuredQName, int)"><!-- --></A><H3> getFunctionSignature</H3> <PRE> public <A HREF="../../../../net/sf/saxon/value/SequenceType.html" title="class in net.sf.saxon.value">SequenceType</A>[] <B>getFunctionSignature</B>(<A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> functionName, int arity)</PRE> <DL> <DD>Test whether a system function with a given name and arity is available, and return its signature. This supports the function-available() function in XSLT. This method may be called either at compile time or at run time. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html#getFunctionSignature(net.sf.saxon.om.StructuredQName, int)">getFunctionSignature</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>functionName</CODE> - the name of the function<DD><CODE>arity</CODE> - The number of arguments. This is set to -1 in the case of the single-argument <DT><B>Returns:</B><DD>if a function of this name and arity is available for calling, then the type signature of the function, as an array of sequence types in which the zeroth entry represents the return type; otherwise null</DL> </DD> </DL> <HR> <A NAME="bind(net.sf.saxon.om.StructuredQName, net.sf.saxon.expr.Expression[], net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.Container)"><!-- --></A><H3> bind</H3> <PRE> public <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>bind</B>(<A HREF="../../../../net/sf/saxon/om/StructuredQName.html" title="class in net.sf.saxon.om">StructuredQName</A> functionName, <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>[] arguments, <A HREF="../../../../net/sf/saxon/expr/StaticContext.html" title="interface in net.sf.saxon.expr">StaticContext</A> env, <A HREF="../../../../net/sf/saxon/expr/Container.html" title="interface in net.sf.saxon.expr">Container</A> container) throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE> <DL> <DD>Bind an extension function, given the URI and local parts of the function name, and the list of expressions supplied as arguments. This method is called at compile time. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html#bind(net.sf.saxon.om.StructuredQName, net.sf.saxon.expr.Expression[], net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.Container)">bind</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></CODE></DL> </DD> <DD><DL> <DT><B>Parameters:</B><DD><CODE>functionName</CODE> - <DD><CODE>arguments</CODE> - The expressions supplied statically in the function call. The intention is that the static type of the arguments (obtainable via getItemType() and getCardinality() may be used as part of the binding algorithm.<DD><CODE>env</CODE> - <DD><CODE>container</CODE> - <DT><B>Returns:</B><DD>An object representing the extension function to be called, if one is found; null if no extension function was found matching the required name and arity. <DT><B>Throws:</B> <DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if a function is found with the required name and arity, but the implementation of the function cannot be loaded or used; or if an error occurs while searching for the function; or if this function library "owns" the namespace containing the function call, but no function was found.</DL> </DD> </DL> <HR> <A NAME="copy()"><!-- --></A><H3> copy</H3> <PRE> public <A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A> <B>copy</B>()</PRE> <DL> <DD>This method creates a copy of a FunctionLibrary: if the original FunctionLibrary allows new functions to be added, then additions to this copy will not affect the original, or vice versa. <P> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html#copy()">copy</A></CODE> in interface <CODE><A HREF="../../../../net/sf/saxon/functions/FunctionLibrary.html" title="interface in net.sf.saxon.functions">FunctionLibrary</A></CODE></DL> </DD> <DD><DL> <DT><B>Returns:</B><DD>a copy of this function library. This must be an instance of the original class.</DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../net/sf/saxon/functions/Concat.html" title="class in net.sf.saxon.functions"><B>PREV CLASS</B></A> <A HREF="../../../../net/sf/saxon/functions/Contains.html" title="class in net.sf.saxon.functions"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html?net/sf/saxon/functions/ConstructorFunctionLibrary.html" target="_top"><B>FRAMES</B></A> <A HREF="ConstructorFunctionLibrary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright (c) 2004-2011 Saxonica Limited. All rights reserved. </BODY> </HTML>