52 #ifndef Patternist_ExpressionDispatch_H 53 #define Patternist_ExpressionDispatch_H 55 #include <QSharedData> 66 class ArgumentConverter;
67 class ArgumentReference;
68 class ArithmeticExpression;
70 class AttributeConstructor;
71 class AttributeNameValidator;
74 class CardinalityVerifier;
75 class CardinalityVerifier;
80 class CollationChecker;
81 class CollationChecker;
84 class CommentConstructor;
85 class CommentConstructor;
86 class ComputedNamespaceConstructor;
89 class CurrentItemStore;
90 class DocumentConstructor;
91 class DynamicContextStore;
93 class ElementConstructor;
95 class ExpressionSequence;
96 class ExpressionVariableReference;
97 class ExternalVariableReference;
98 class FirstItemPredicate;
101 class GeneralComparison;
102 class GenericPredicate;
108 class LiteralSequence;
109 class NamespaceConstructor;
110 class NCNameConstructor;
111 class NodeComparison;
112 class NodeSortExpression;
115 class ParentNodeAxis;
117 class PositionalVariableReference;
118 class ProcessingInstructionConstructor;
119 class QNameConstructor;
120 class QuantifiedExpression;
121 class RangeExpression;
122 class RangeVariableReference;
124 class SimpleContentConstructor;
125 class StaticBaseURIStore;
126 class StaticCompatibilityStore;
127 class TemplateParameterReference;
128 class TextNodeConstructor;
130 class TruthPredicate;
131 class UnresolvedVariableReference;
132 class UntypedAtomicConverter;
133 class UserFunctionCallsite;
134 class ValidationError;
135 class ValueComparison;
136 template<
bool IsForGlobal>
class EvaluationCache;
Base class for implementations of builtin functions.
Constructs a text node. This covers both computed and directly constructed text nodes.
Implements XPath 2.0's quantification expressions some and every.
#define QT_END_NAMESPACE
This macro expands to.
Constructs an element node. This covers both computed and directly constructed element nodes...
A compile time only AST node that changes the static base URI, used when xml:base attributes appears...
Verifies that the sequence an Expression evaluates to conforms to a Cardinality.
Used for signalling casting errors.
Implements XPath 2.0's instance of expression.
Together with OrderBy, it implements XQuery 1.0's order by expression.
Creates a DynamicContext which provides the focus item for the function fn:current().
Implements XPath 2.0's castable as expression.
virtual ~ExpressionVisitorResult()
Implements the path expression, containing two steps, such as in html/body.
A step in a path expression that with an axis and a node test evaluates to a sequence of nodes from t...
Constructs an element node. This covers both computed and directly constructed element nodes...
The QExplicitlySharedDataPointer class represents a pointer to an explicitly shared object...
Implements XPath 2.0's cast as expression.
Constructs a namespace on an element, and naturally only appears as a child of ElementConstructor.
Implements XPath 2.0's for expression.
Ensures the lexical space of the string value of the Item returned from its child Expression is an NC...
Constructs a namespace on an element, and naturally only appears as a child of ElementConstructor.
Implements the node comparison operators >>, <<, and is.
Constructs an element node. This covers both computed and directly constructed element nodes...
De-duplicates and sorts in document order the content that its operand returns.
Does node copying in a parameterized way, in order to deal with namespace preservation/inheritance.
Constructs simple content as specified for attributes in direct element constructors in XQuery...
Implements XPath 2.0's to expression.
Performs the sorting by being a parent to ForClause.
Implements XPath 2.0's conditional expression if([expr]) then [expr] else [expr]. ...
Implements XPath 2.0's general comparions, such as the = operator.
#define QT_BEGIN_NAMESPACE
This macro expands to.
Implements XPath 2.0's operators for combining node sequences: union, intersect and except...
Creates an xs:QName value from a lexical QName using statically known namespace bindings.
Implements arithmetics, such as multiplication and subtraction.
Checks that its operand evaluates to a supported string collation.
A Path object defines a path for use by PathView .
The namespace for the internal API of QtXmlPatterns.
Implements the context item, the dot: ..
Verifies that the items in a sequence an Expression evaluates is of a certain ItemType.
Implements the value instance of empty sequence: ().
QExplicitlySharedDataPointer< ExpressionVisitor > Ptr
A predicate that can handle all kinds of predicates and is therefore not very efficient, but can cope with all the tricky scenarios.
A reference to an argument declared in a UserFunction.
Corresponds to the expression parent::node().
A compile time only AST node that changes the backwareds compatibility mode. Used for XSL-T 2...
Houses an AtomicValue, making it available as an Expression.
Performs atomization. Effectively, it is an implementation of the fn:data() function.
UntypedAtomicConverter for ArgumentReference, if needed.
A reference to a variable declared with declare variable or let.
Represents a let-clause, but is only used at compile time.
Constructs a text node. This covers both computed and directly constructed text nodes.
The QSharedData class is a base class for shared data objects.
A reference to a variable declared with for or a quantification expression, but not for instance a le...
Evaluates to the same result as its operand, but ensures the operand is evaluated once even if this E...
Compile time only AST-node which is a marker for variable references whose declaration has not yet ap...
A reference to an at variable, declared with the for-part in XQuery's FLWOR expression.
Casts every item in a sequence obtained from evaluating an Expression, to a requested atomic type...
A predicate which is optimized for filter expressions that are of type xs:boolean.
When combined with other components, implements xsl:apply-templates.
Implements the comma(",") operator, the sequence constructor.
A reference to an external variable.
A reference to a template parameter declared with xsl:param.
Evaluates its operand with an assigned DynamicContext, not the one passed to one of the evaluation fu...
Houses a sequence of atomic values, making it available as an Expression.
Implements XPath 2.0's logical expression or.
Implements XPath 2.0 value comparions, such as the eq operator.
Ensures the lexical space of the string value of the Item returned from its child Expression is an NC...
ExpressionVisitorResult()
virtual ~ExpressionVisitor()
A predicate that always selects the first item from its sequence.
Performs a call to a UserFunction.
Implements XPath 2.0's logical expression and.
Implements XPath 2.0's treat as expression.
Implements xsl:call-template.
QExplicitlySharedDataPointer< ExpressionVisitorResult > Ptr