31 #include <QStringList> 52 explicit ZxQuery(QObject *parent = 0);
56 explicit ZxQuery(
const QXmlNamePool & np, QObject *parent = 0);
62 Q_PROPERTY(QString queryUrl READ getQueryUrl WRITE setQueryUrl)
68 Q_PROPERTY(QObject* focusItem READ getFocusItem WRITE setFocusItem)
74 Q_PROPERTY(QString focusUrl READ getFocusUrl WRITE setFocusUrl NOTIFY focusUrlChanged)
80 Q_PROPERTY(QString focusText READ getFocusText WRITE setFocusText)
86 Q_PROPERTY(QString queryText READ getQueryText WRITE setQueryText)
92 Q_PROPERTY(
bool substituteSymbols READ getSymbolSubstitution WRITE setSymbolSubstitution)
101 Q_INVOKABLE QObject* evaluateToItems();
108 Q_INVOKABLE QStringList evaluateToStringList();
114 Q_INVOKABLE QString evaluateToXml();
120 Q_INVOKABLE QObject* getCopy();
127 Q_INVOKABLE QObject* getNamePoolCopy();
139 Q_INVOKABLE
void bindVariable(const QString &localName, QObject* zXmlItem);
153 Q_INVOKABLE
void loadQueryText(const QString& fileUri);
167 Q_INVOKABLE
void concatQueryText(const QString& text);
175 Q_INVOKABLE
void commitQueryText();
200 Q_INVOKABLE
void bindSymbol(const QString& symbolName, const QString& symbolText);
207 Q_INVOKABLE QString getSymbolText(const QString& symbolName);
216 Q_INVOKABLE
void removeSymbol(const QString& symbolName);
231 void setQueryUrl(const QString& url);
238 const QString getQueryUrl();
247 void setFocusUrl(const QString& url);
254 const QString getFocusUrl();
262 void setFocusItem(QObject* item);
269 QObject* getFocusItem();
279 void setFocusText(const QString& text);
285 const QString getFocusText();
298 void setQueryText(const QString& text);
305 const QString getQueryText();
312 void clearQueryText();
324 void setSymbolSubstitution(
bool enabled);
334 const bool getSymbolSubstitution();
345 QXmlNamePool getNamePool()
const;
351 static void registerType();
358 void focusUrlChanged(
bool focusOK);
359 void queryUrlChanged(
bool queryOK);
385 void setUrl(
const QString& url);
389 static bool isResourceScheme(
const QString& scheme){
return (scheme ==
"qrc:/" || scheme ==
":/");}
393 bool isOK(){
return m_f != NULL ? m_f->error() == QFileDevice::NoError :
false;}
395 QString
errorString(){
return m_f != NULL ? m_f->errorString() : QString();}
397 QString
fileName(){
return m_f != NULL ? m_f->fileName() : QString();}
400 qDebug(
"begin dumping resource file...");
401 QByteArray data = m_f->readAll();
402 qDebug(data.constData());
403 qDebug(
"end dumbing resource file.");
bool m_enableSymbols
Enables query text buffer symbol substitution when true, disables it when false.
#define ZBLCORESHARED_EXPORT
#define ZBL_DECLARE_LOGGED_OBJECT
ResourceUrlFile m_focusFile
Pointer to a QFile object that will be used as the XQuery focus document.
QString m_focusText
The focus URL.
QString m_queryText
The source text of the query.
QXmlItem m_xmlItem
The focus item.
QMap< QString, QString > m_symbols
Query text symbol substitution map.
static bool isResourceScheme(const QString &scheme)
QXmlQuery m_query
The encapsulated QXmlQuery object.
This class provides access to the QXMLQuery class from Javascript.
ResourceUrlFile m_queryFile
Pointer to a QFile object that will be used as the XQuery query text.
A class for opening XQuery resource files.
QUrl m_queryUrl
The URL of the source query file;.