Constructs a text node. This covers both computed and directly constructed text nodes.
More...
#include <qtextnodeconstructor_p.h>
|
typedef QExplicitlySharedDataPointer< const Expression > | ConstPtr |
| A smart pointer wrapping const Expression instances. More...
|
|
enum | ID {
IDBooleanValue = 1,
IDCountFN,
IDEmptyFN,
IDExistsFN,
IDExpressionSequence,
IDGeneralComparison,
IDIfThenClause,
IDIgnorableExpression,
IDIntegerValue,
IDPositionFN,
IDStringValue,
IDValueComparison,
IDRangeVariableReference,
IDContextItem,
IDUserFunctionCallsite,
IDExpressionVariableReference,
IDAttributeConstructor,
IDUpperCaseFN,
IDLowerCaseFN,
IDFirstItemPredicate,
IDEmptySequence,
IDReturnOrderBy,
IDLetClause,
IDForClause,
IDPath,
IDNamespaceConstructor,
IDArgumentReference,
IDGenericPredicate,
IDAxisStep,
IDFloat,
IDCombineNodes,
IDUnresolvedVariableReference,
IDCardinalityVerifier
} |
|
typedef QList< Expression::Ptr > | List |
|
typedef QFlags< Property > | Properties |
|
enum | Property {
UseContextItem = 1,
DisableElimination = 1 << 1,
IsEvaluated = 1 << 2,
DisableTypingDeduction = 1 << 3,
EmptynessFollowsChild = 1 << 4,
RewriteToEmptyOnEmpty = 1 << 5,
RequiresFocus = 1 << 6,
AffectsOrderOnly = 1 << 7,
RequiresContextItem = (1 << 8) | RequiresFocus,
CreatesFocusForLast = 1 << 9,
LastOperandIsCollation = 1 << 10,
DependsOnLocalVariable = (1 << 11) | DisableElimination,
EvaluationCacheRedundant = (1 << 12),
IsNodeConstructor = 1 << 13,
RequiresCurrentItem = 1 << 14
} |
|
typedef QExplicitlySharedDataPointer< Expression > | Ptr |
| A smart pointer wrapping mutable Expression instances. More...
|
|
typedef ::QAbstractXmlForwardIterator< Expression::Ptr > | QAbstractXmlForwardIterator |
|
typedef QVector< Expression::Ptr > | Vector |
|
static void | rewrite (Expression::Ptr &old, const Expression::Ptr &New, const StaticContext::Ptr &context) |
|
QAtomicInt | ref |
|
| SingleContainer (const Expression::Ptr &operand) |
|
void | typeCheckOperands (const StaticContext::Ptr &context) |
|
| CppCastingHelper () |
|
Expression::Ptr | m_operand |
|
Constructs a text node. This covers both computed and directly constructed text nodes.
- See also
- XQuery 1.0: An XML Query Language, 3.7 Constructors
- Author
- Frans Englich frans.nosp@m..eng.nosp@m.lich@.nosp@m.noki.nosp@m.a.com
Definition at line 72 of file qtextnodeconstructor_p.h.
◆ TextNodeConstructor()
TextNodeConstructor::TextNodeConstructor |
( |
const Expression::Ptr & |
operand | ) |
|
◆ accept()
◆ evaluateSingleton()
Reimplemented from QPatternist::Expression.
Definition at line 57 of file qtextnodeconstructor.cpp.
65 const QString &v = chars.stringValue();
The QXmlNodeModelIndex class identifies a node in an XML node model subclassed from QAbstractXmlNodeM...
virtual void addNodeModel(const QAbstractXmlNodeModel::Ptr &nm)=0
The QExplicitlySharedDataPointer class represents a pointer to an explicitly shared object...
The QUrl class provides a convenient interface for working with URLs.
The QString class provides a Unicode character string.
The QStringRef class provides a thin wrapper around QString substrings.
Represents an item in the XPath 2.0 Data Model.
Expression::Ptr m_operand
virtual NodeBuilder::Ptr nodeBuilder(const QUrl &baseURI) const =0
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const
◆ evaluateToSequenceReceiver()
void TextNodeConstructor::evaluateToSequenceReceiver |
( |
const DynamicContext::Ptr & |
context | ) |
const |
|
virtual |
Evaluates this Expression by sending its output to DynamicContext::outputReceiver().
Reimplemented from QPatternist::Expression.
Definition at line 74 of file qtextnodeconstructor.cpp.
82 const QString &v = item.stringValue();
A push interface for the XPath Data Model. Similar to SAX's ContentHandler.
The QString class provides a Unicode character string.
The QStringRef class provides a thin wrapper around QString substrings.
Represents an item in the XPath 2.0 Data Model.
Expression::Ptr m_operand
virtual QAbstractXmlReceiver * outputReceiver() const =0
virtual Item evaluateSingleton(const DynamicContext::Ptr &context) const
◆ expectedOperandTypes()
The first operand must be exactly one xs:string
.
Implements QPatternist::Expression.
Definition at line 97 of file qtextnodeconstructor.cpp.
static const SequenceType::Ptr ZeroOrOneString
void append(const T &t)
Inserts value at the end of the list.
The QList class is a template class that provides lists.
◆ properties()
- Returns
- a bitwise OR'd value of properties, describing the characteristics of the expression. These properties affects how this Expression is treated in for example type checking stages.
The default implementation returns 0. Override and let the function return a different value, if that's of interest.
An important decision when re-implementing properties() is whether to OR in the properties() of ones operands. For instance, if an operand has RequiresFocus set, that flag nost likely applies to the apparent as well, since it depends on its operand.
- See also
- deepProperties()
- Returns
- Expression::None, meaning no special properties
Reimplemented from QPatternist::Expression.
Definition at line 104 of file qtextnodeconstructor.cpp.
◆ staticType()
- Returns
- the static type of this Expression. For example, an 'and' expression have as static type xs:boolean
Implements QPatternist::Expression.
Definition at line 89 of file qtextnodeconstructor.cpp.
static const SequenceType::Ptr ExactlyOneTextNode
virtual Cardinality cardinality() const =0
static const SequenceType::Ptr ZeroOrOneTextNode
virtual SequenceType::Ptr staticType() const =0
Expression::Ptr m_operand
The documentation for this class was generated from the following files: