Handles the functions defines in XSL-T 2.0, except those also available in XPath 2.0.
More...
#include <qxslt20corefunctions_p.h>
|
virtual Expression::Ptr | retrieveExpression (const QXmlName name, const Expression::List &args, const FunctionSignature::Ptr &sign) const |
|
virtual FunctionSignature::Ptr | retrieveFunctionSignature (const NamePool::Ptr &np, const QXmlName name) |
|
FunctionSignature::Ptr | addFunction (const QXmlName::LocalNameCode localName, const FunctionSignature::Arity minArgs, const FunctionSignature::Arity maxArgs, const SequenceType::Ptr &returnType, const Expression::Properties props) |
|
FunctionSignature::Ptr | addFunction (const QXmlName::LocalNameCode &localName, const FunctionSignature::Arity minArgs, const FunctionSignature::Arity maxArgs, const SequenceType::Ptr &returnType, const Expression::ID id=Expression::IDIgnorableExpression, const Expression::Properties props=Expression::Properties(), const StandardNamespaces::ID ns=StandardNamespaces::fn) |
|
| FunctionFactory () |
| This constructor cannot be removed, because it can't be synthesized, for some reason. More...
|
|
Handles the functions defines in XSL-T 2.0, except those also available in XPath 2.0.
- Note
- XPath20CoreFunctions inherits from XPath10CoreFunctions only for implementation reasons, it does not supply the functions in the XPath10CoreFunctions factory.
- See also
- XQuery 1.0 and XPath 2.0 Functions and Operators
-
XML Path Language (XPath) Version 1.0, 4 Core Function Library
- Author
- Frans Englich frans.nosp@m..eng.nosp@m.lich@.nosp@m.noki.nosp@m.a.com
- Since
- 4.5
Definition at line 78 of file qxslt20corefunctions_p.h.
◆ retrieveExpression()
This function is responsible for creating the actual Expression, corresponding to localName
and the function signature sign
. It is called by createFunctionCall(), once it have been determined the function actually exists and have the correct arity.
This function will only be called for names in the fn
namespace.
Implements QPatternist::AbstractFunctionFactory.
Definition at line 63 of file qxslt20corefunctions.cpp.
70 #define testXSLTFN(ln, cname) else if(lname.localName() == StandardLocalNames::ln) fn = Expression::Ptr(new cname()) Base class for implementations of builtin functions.
Implements XSL-T's function fn:current().
virtual void setOperands(const Expression::List &operands)=0
Implements XSL-T 2.0's XPath function fn:unparsed-entity-uri().
Implements the function fn:generate-id().
Implements the function fn:unparsed-text().
const TCastTarget * as() const
Implements XSL-T 2.0's XPath function fn:system-property().
Implements XSL-T 2.0's XPath function fn:type-available().
Implements XSL-T 2.0's XPath function fn:function-available().
Implements XSL-T's function fn:document().
Implements XSL-T 2.0's XPath function fn:unparsed-entity-public-id().
#define testXSLTFN(ln, cname)
QExplicitlySharedDataPointer< Expression > Ptr
A smart pointer wrapping mutable Expression instances.
Implements the function fn:unparsed-text().
Implements the function fn:unparsed-text-available().
◆ retrieveFunctionSignature()
This is a convenience function for sub-classes. It retrieves the function signature for function with name name
.
According to the specifications are function signatures identified by their name and arity, but currently is the arity not part of the signature.
If no function could be found for the given name, null
is returned.
Implements QPatternist::FunctionFactory.
Definition at line 95 of file qxslt20corefunctions.cpp.
static const SequenceType::Ptr ZeroOrOneNode
static QXmlName::LocalNameCode argument(const NamePool::Ptr &np, const char *const name)
static const SequenceType::Ptr ExactlyOneString
FunctionSignature::Ptr addFunction(const QXmlName::LocalNameCode localName, const FunctionSignature::Arity minArgs, const FunctionSignature::Arity maxArgs, const SequenceType::Ptr &returnType, const Expression::Properties props)
static const SequenceType::Ptr ZeroOrOneString
static const SequenceType::Ptr OneOrMoreDocumentNodes
static const SequenceType::Ptr ExactlyOneInteger
virtual FunctionSignature::Hash functionSignatures() const
static const SequenceType::Ptr ExactlyOneAnyURI
QString localName(const QXmlNamePool &query) const
Returns the local name.
static const SequenceType::Ptr ExactlyOneBoolean
NamespaceCode namespaceURI() const
static const SequenceType::Ptr ExactlyOneItem
static const SequenceType::Ptr ZeroOrMoreStrings
static const SequenceType::Ptr ExactlyOneNode
The documentation for this class was generated from the following files: