All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.saxon.functions.package-info Maven / Gradle / Ivy

There is a newer version: 12.5
Show newest version
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018-2023 Saxonica Limited
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 * 

This package provides implementations of all the core functions available for use * in XPath expressions. This includes all the functions defined in the XPath 2.0 * Functions and Operators specification, as well as the additional functions * defined for use in XSLT. The package also includes Saxon extension functions. Most * of these are in a single class Extensions, but some of the more * complex functions are in their own classes, for example Evaluate implements * saxon:evaluate().

*

There is one class for group of closely-related functions. These all inherit from the class * net.sf.saxon.expr.Function. The class StandardFunction is used to map a function * name to its implementation; it contains tables of information describing the signature of each * function, so that the type-checking code is completely generic.

*

The package also contains machinery for defining user extension functions. A collection * of functions is represented by a FunctionLibrary object. There are several * standard function libraries available, covering core functions, Saxon extension functions * constructor functions, and user extension functions: each category is covered by a subclass * of FunctionLibrary, and there is also a FunctionLibraryList that * represents the total collection of functions in these individual libraries. The * JavaExtensionLibrary contains the logic for binding Java extension functions * given their name and arity and the types of their arguments. The class ExtensionFunctionCall * contains the run-time logic for converting XPath values to the required Java types, and for converting * the result back to an XPath value.

*

These classes, although public, will not normally be used directly by user-written * Java applications. There are a few exceptions, such as ResolveURI which deliberately * expose functionality equivalent to the XPath function in a static method.

*/ package net.sf.saxon.functions;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy