[2] | 1 | /****************************************************************************
|
---|
| 2 | **
|
---|
[651] | 3 | ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
|
---|
[561] | 4 | ** All rights reserved.
|
---|
| 5 | ** Contact: Nokia Corporation ([email protected])
|
---|
[2] | 6 | **
|
---|
| 7 | ** This file is part of the QtXmlPatterns module of the Qt Toolkit.
|
---|
| 8 | **
|
---|
| 9 | ** $QT_BEGIN_LICENSE:LGPL$
|
---|
| 10 | ** Commercial Usage
|
---|
| 11 | ** Licensees holding valid Qt Commercial licenses may use this file in
|
---|
| 12 | ** accordance with the Qt Commercial License Agreement provided with the
|
---|
| 13 | ** Software or, alternatively, in accordance with the terms contained in
|
---|
| 14 | ** a written agreement between you and Nokia.
|
---|
| 15 | **
|
---|
| 16 | ** GNU Lesser General Public License Usage
|
---|
| 17 | ** Alternatively, this file may be used under the terms of the GNU Lesser
|
---|
| 18 | ** General Public License version 2.1 as published by the Free Software
|
---|
| 19 | ** Foundation and appearing in the file LICENSE.LGPL included in the
|
---|
| 20 | ** packaging of this file. Please review the following information to
|
---|
| 21 | ** ensure the GNU Lesser General Public License version 2.1 requirements
|
---|
| 22 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
---|
| 23 | **
|
---|
[561] | 24 | ** In addition, as a special exception, Nokia gives you certain additional
|
---|
| 25 | ** rights. These rights are described in the Nokia Qt LGPL Exception
|
---|
| 26 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
---|
[2] | 27 | **
|
---|
| 28 | ** GNU General Public License Usage
|
---|
| 29 | ** Alternatively, this file may be used under the terms of the GNU
|
---|
| 30 | ** General Public License version 3.0 as published by the Free Software
|
---|
| 31 | ** Foundation and appearing in the file LICENSE.GPL included in the
|
---|
| 32 | ** packaging of this file. Please review the following information to
|
---|
| 33 | ** ensure the GNU General Public License version 3.0 requirements will be
|
---|
| 34 | ** met: http://www.gnu.org/copyleft/gpl.html.
|
---|
| 35 | **
|
---|
[561] | 36 | ** If you have questions regarding the use of this file, please contact
|
---|
| 37 | ** Nokia at [email protected].
|
---|
[2] | 38 | ** $QT_END_LICENSE$
|
---|
| 39 | **
|
---|
| 40 | ****************************************************************************/
|
---|
| 41 |
|
---|
| 42 | #include <QUrl>
|
---|
| 43 |
|
---|
| 44 | #include "qabstractmessagehandler.h"
|
---|
| 45 |
|
---|
| 46 | #include "qcommonnamespaces_p.h"
|
---|
| 47 | #include "qexpression_p.h"
|
---|
| 48 |
|
---|
| 49 | #include "qreportcontext_p.h"
|
---|
| 50 |
|
---|
| 51 | QT_BEGIN_NAMESPACE
|
---|
| 52 |
|
---|
| 53 | using namespace QPatternist;
|
---|
| 54 |
|
---|
| 55 | ReportContext::~ReportContext()
|
---|
| 56 | {
|
---|
| 57 | }
|
---|
| 58 |
|
---|
| 59 | QString ReportContext::finalizeDescription(const QString &desc)
|
---|
| 60 | {
|
---|
| 61 | return QLatin1String("<html xmlns='http://www.w3.org/1999/xhtml/'><body><p>")
|
---|
| 62 | + desc
|
---|
| 63 | + QLatin1String("</p></body></html>");
|
---|
| 64 | }
|
---|
| 65 |
|
---|
| 66 | void ReportContext::warning(const QString &description,
|
---|
| 67 | const QSourceLocation &sourceLocation)
|
---|
| 68 | {
|
---|
| 69 | messageHandler()->message(QtWarningMsg, finalizeDescription(description), QUrl(), sourceLocation);
|
---|
| 70 | }
|
---|
| 71 |
|
---|
| 72 | void ReportContext::createError(const QString &description,
|
---|
| 73 | const QtMsgType type,
|
---|
| 74 | const QUrl &id,
|
---|
| 75 | const QSourceLocation &sourceLocation) const
|
---|
| 76 | {
|
---|
| 77 | messageHandler()->message(type, finalizeDescription(description), id, sourceLocation);
|
---|
| 78 | throw Exception(true);
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | void ReportContext::error(const QString &msg,
|
---|
| 82 | const ErrorCode code,
|
---|
| 83 | const QSourceLocation &sourceLocation)
|
---|
| 84 | {
|
---|
| 85 | createError(msg, QtFatalMsg,
|
---|
| 86 | QUrl(CommonNamespaces::XPERR + QLatin1Char('#') + codeToString(code)),
|
---|
| 87 | sourceLocation);
|
---|
| 88 | }
|
---|
| 89 |
|
---|
| 90 | QSourceLocation ReportContext::lookupSourceLocation(const SourceLocationReflection *const r) const
|
---|
| 91 | {
|
---|
| 92 | Q_ASSERT(r);
|
---|
| 93 | const SourceLocationReflection *const actual = r->actualReflection();
|
---|
| 94 | Q_ASSERT(actual);
|
---|
| 95 |
|
---|
| 96 | const QSourceLocation &sl = actual->sourceLocation();
|
---|
| 97 |
|
---|
| 98 | if(sl.isNull())
|
---|
| 99 | {
|
---|
| 100 | Q_ASSERT_X(!locationFor(actual).isNull(), Q_FUNC_INFO,
|
---|
| 101 | qPrintable(QString::fromLatin1("No location is available for: %1").arg(actual->description())));
|
---|
| 102 | return locationFor(actual);
|
---|
| 103 | }
|
---|
| 104 | else
|
---|
| 105 | return sl;
|
---|
| 106 | }
|
---|
| 107 |
|
---|
| 108 | void ReportContext::error(const QString &message,
|
---|
| 109 | const ReportContext::ErrorCode errorCode,
|
---|
| 110 | const SourceLocationReflection *const reflection)
|
---|
| 111 | {
|
---|
| 112 | Q_ASSERT(reflection);
|
---|
| 113 | error(message, errorCode, lookupSourceLocation(reflection));
|
---|
| 114 | }
|
---|
| 115 |
|
---|
| 116 | void ReportContext::error(const QString &msg,
|
---|
| 117 | const QXmlName qname,
|
---|
| 118 | const SourceLocationReflection *const reflection)
|
---|
| 119 | {
|
---|
| 120 | Q_ASSERT(!qname.isNull());
|
---|
| 121 | createError(msg, QtFatalMsg,
|
---|
| 122 | QUrl(namePool()->stringForNamespace(qname.namespaceURI()) + QLatin1Char('#') + namePool()->stringForLocalName(qname.localName())),
|
---|
| 123 | lookupSourceLocation(reflection));
|
---|
| 124 | }
|
---|
| 125 |
|
---|
| 126 | QString ReportContext::codeFromURI(const QString &typeURI,
|
---|
| 127 | QString &uri)
|
---|
| 128 | {
|
---|
| 129 | /* Wouldn't surprise me if this can be done more efficiently. */
|
---|
| 130 | QUrl source(typeURI);
|
---|
| 131 |
|
---|
| 132 | const QString code(source.fragment());
|
---|
| 133 | source.setFragment(QString());
|
---|
| 134 | uri = source.toString();
|
---|
| 135 | return code;
|
---|
| 136 | }
|
---|
| 137 |
|
---|
| 138 | QString ReportContext::codeToString(const ReportContext::ErrorCode code)
|
---|
| 139 | {
|
---|
| 140 | const char *result = 0;
|
---|
| 141 |
|
---|
| 142 | switch(code)
|
---|
| 143 | {
|
---|
| 144 | /* Alphabetically. */
|
---|
| 145 | case FOAR0001: result = "FOAR0001"; break;
|
---|
| 146 | case FOAR0002: result = "FOAR0002"; break;
|
---|
| 147 | case FOCA0001: result = "FOCA0001"; break;
|
---|
| 148 | case FOCA0002: result = "FOCA0002"; break;
|
---|
| 149 | case FOCA0003: result = "FOCA0003"; break;
|
---|
| 150 | case FOCA0005: result = "FOCA0005"; break;
|
---|
| 151 | case FOCA0006: result = "FOCA0006"; break;
|
---|
| 152 | case FOCH0001: result = "FOCH0001"; break;
|
---|
| 153 | case FOCH0002: result = "FOCH0002"; break;
|
---|
| 154 | case FOCH0003: result = "FOCH0003"; break;
|
---|
| 155 | case FOCH0004: result = "FOCH0004"; break;
|
---|
| 156 | case FODC0001: result = "FODC0001"; break;
|
---|
| 157 | case FODC0002: result = "FODC0002"; break;
|
---|
| 158 | case FODC0003: result = "FODC0003"; break;
|
---|
| 159 | case FODC0004: result = "FODC0004"; break;
|
---|
| 160 | case FODC0005: result = "FODC0005"; break;
|
---|
| 161 | case FODT0001: result = "FODT0001"; break;
|
---|
| 162 | case FODT0002: result = "FODT0002"; break;
|
---|
| 163 | case FODT0003: result = "FODT0003"; break;
|
---|
| 164 | case FOER0000: result = "FOER0000"; break;
|
---|
| 165 | case FONS0004: result = "FONS0004"; break;
|
---|
| 166 | case FONS0005: result = "FONS0005"; break;
|
---|
| 167 | case FORG0001: result = "FORG0001"; break;
|
---|
| 168 | case FORG0002: result = "FORG0002"; break;
|
---|
| 169 | case FORG0003: result = "FORG0003"; break;
|
---|
| 170 | case FORG0004: result = "FORG0004"; break;
|
---|
| 171 | case FORG0005: result = "FORG0005"; break;
|
---|
| 172 | case FORG0006: result = "FORG0006"; break;
|
---|
| 173 | case FORG0008: result = "FORG0008"; break;
|
---|
| 174 | case FORG0009: result = "FORG0009"; break;
|
---|
| 175 | case FORX0001: result = "FORX0001"; break;
|
---|
| 176 | case FORX0002: result = "FORX0002"; break;
|
---|
| 177 | case FORX0003: result = "FORX0003"; break;
|
---|
| 178 | case FORX0004: result = "FORX0004"; break;
|
---|
| 179 | case FOTY0012: result = "FOTY0012"; break;
|
---|
| 180 | case SENR0001: result = "SENR0001"; break;
|
---|
| 181 | case SEPM0004: result = "SEPM0004"; break;
|
---|
| 182 | case SEPM0009: result = "SEPM0009"; break;
|
---|
| 183 | case SEPM0010: result = "SEPM0010"; break;
|
---|
| 184 | case SEPM0016: result = "SEPM0016"; break;
|
---|
| 185 | case SERE0003: result = "SERE0003"; break;
|
---|
| 186 | case SERE0005: result = "SERE0005"; break;
|
---|
| 187 | case SERE0006: result = "SERE0006"; break;
|
---|
| 188 | case SERE0008: result = "SERE0008"; break;
|
---|
| 189 | case SERE0012: result = "SERE0012"; break;
|
---|
| 190 | case SERE0014: result = "SERE0014"; break;
|
---|
| 191 | case SERE0015: result = "SERE0015"; break;
|
---|
| 192 | case SESU0007: result = "SESU0007"; break;
|
---|
| 193 | case SESU0011: result = "SESU0011"; break;
|
---|
| 194 | case SESU0013: result = "SESU0013"; break;
|
---|
| 195 | case XPDY0002: result = "XPDY0002"; break;
|
---|
| 196 | case XPDY0021: result = "XPDY0021"; break;
|
---|
| 197 | case XPDY0050: result = "XPDY0050"; break;
|
---|
| 198 | case XPST0001: result = "XPST0001"; break;
|
---|
| 199 | case XPST0003: result = "XPST0003"; break;
|
---|
| 200 | case XPST0005: result = "XPST0005"; break;
|
---|
| 201 | case XPST0008: result = "XPST0008"; break;
|
---|
| 202 | case XPST0010: result = "XPST0010"; break;
|
---|
| 203 | case XPST0017: result = "XPST0017"; break;
|
---|
| 204 | case XPST0051: result = "XPST0051"; break;
|
---|
| 205 | case XPST0080: result = "XPST0080"; break;
|
---|
| 206 | case XPST0081: result = "XPST0081"; break;
|
---|
| 207 | case XPST0083: result = "XPST0083"; break;
|
---|
| 208 | case XPTY0004: result = "XPTY0004"; break;
|
---|
| 209 | case XPTY0006: result = "XPTY0006"; break;
|
---|
| 210 | case XPTY0007: result = "XPTY0007"; break;
|
---|
| 211 | case XPTY0018: result = "XPTY0018"; break;
|
---|
| 212 | case XPTY0019: result = "XPTY0019"; break;
|
---|
| 213 | case XPTY0020: result = "XPTY0020"; break;
|
---|
| 214 | case XQDY0025: result = "XQDY0025"; break;
|
---|
| 215 | case XQDY0026: result = "XQDY0026"; break;
|
---|
| 216 | case XQDY0027: result = "XQDY0027"; break;
|
---|
| 217 | case XQDY0029: result = "XQDY0029"; break;
|
---|
| 218 | case XQDY0041: result = "XQDY0041"; break;
|
---|
| 219 | case XQDY0044: result = "XQDY0044"; break;
|
---|
| 220 | case XQDY0052: result = "XQDY0052"; break;
|
---|
| 221 | case XQDY0061: result = "XQDY0061"; break;
|
---|
| 222 | case XQDY0062: result = "XQDY0062"; break;
|
---|
| 223 | case XQDY0064: result = "XQDY0064"; break;
|
---|
| 224 | case XQDY0072: result = "XQDY0072"; break;
|
---|
| 225 | case XQDY0074: result = "XQDY0074"; break;
|
---|
| 226 | case XQDY0084: result = "XQDY0084"; break;
|
---|
| 227 | case XQDY0091: result = "XQDY0091"; break;
|
---|
| 228 | case XQDY0092: result = "XQDY0092"; break;
|
---|
| 229 | case XQST0009: result = "XQST0009"; break;
|
---|
| 230 | case XQST0012: result = "XQST0012"; break;
|
---|
| 231 | case XQST0013: result = "XQST0013"; break;
|
---|
| 232 | case XQST0014: result = "XQST0014"; break;
|
---|
| 233 | case XQST0015: result = "XQST0015"; break;
|
---|
| 234 | case XQST0016: result = "XQST0016"; break;
|
---|
| 235 | case XQST0022: result = "XQST0022"; break;
|
---|
| 236 | case XQST0031: result = "XQST0031"; break;
|
---|
| 237 | case XQST0032: result = "XQST0032"; break;
|
---|
| 238 | case XQST0033: result = "XQST0033"; break;
|
---|
| 239 | case XQST0034: result = "XQST0034"; break;
|
---|
| 240 | case XQST0035: result = "XQST0035"; break;
|
---|
| 241 | case XQST0036: result = "XQST0036"; break;
|
---|
| 242 | case XQST0037: result = "XQST0037"; break;
|
---|
| 243 | case XQST0038: result = "XQST0038"; break;
|
---|
| 244 | case XQST0039: result = "XQST0039"; break;
|
---|
| 245 | case XQST0040: result = "XQST0040"; break;
|
---|
| 246 | case XQST0042: result = "XQST0042"; break;
|
---|
| 247 | case XQST0043: result = "XQST0043"; break;
|
---|
| 248 | case XQST0045: result = "XQST0045"; break;
|
---|
| 249 | case XQST0046: result = "XQST0046"; break;
|
---|
| 250 | case XQST0047: result = "XQST0047"; break;
|
---|
| 251 | case XQST0048: result = "XQST0048"; break;
|
---|
| 252 | case XQST0049: result = "XQST0049"; break;
|
---|
| 253 | case XQST0053: result = "XQST0053"; break;
|
---|
| 254 | case XQST0054: result = "XQST0054"; break;
|
---|
| 255 | case XQST0055: result = "XQST0055"; break;
|
---|
| 256 | case XQST0056: result = "XQST0056"; break;
|
---|
| 257 | case XQST0057: result = "XQST0057"; break;
|
---|
| 258 | case XQST0058: result = "XQST0058"; break;
|
---|
| 259 | case XQST0059: result = "XQST0059"; break;
|
---|
| 260 | case XQST0060: result = "XQST0060"; break;
|
---|
| 261 | case XQST0063: result = "XQST0063"; break;
|
---|
| 262 | case XQST0065: result = "XQST0065"; break;
|
---|
| 263 | case XQST0066: result = "XQST0066"; break;
|
---|
| 264 | case XQST0067: result = "XQST0067"; break;
|
---|
| 265 | case XQST0068: result = "XQST0068"; break;
|
---|
| 266 | case XQST0069: result = "XQST0069"; break;
|
---|
| 267 | case XQST0070: result = "XQST0070"; break;
|
---|
| 268 | case XQST0071: result = "XQST0071"; break;
|
---|
| 269 | case XQST0073: result = "XQST0073"; break;
|
---|
| 270 | case XQST0075: result = "XQST0075"; break;
|
---|
| 271 | case XQST0076: result = "XQST0076"; break;
|
---|
| 272 | case XQST0077: result = "XQST0077"; break;
|
---|
| 273 | case XQST0078: result = "XQST0078"; break;
|
---|
| 274 | case XQST0079: result = "XQST0079"; break;
|
---|
| 275 | case XQST0082: result = "XQST0082"; break;
|
---|
| 276 | case XQST0085: result = "XQST0085"; break;
|
---|
| 277 | case XQST0087: result = "XQST0087"; break;
|
---|
| 278 | case XQST0088: result = "XQST0088"; break;
|
---|
| 279 | case XQST0089: result = "XQST0089"; break;
|
---|
| 280 | case XQST0090: result = "XQST0090"; break;
|
---|
| 281 | case XQST0093: result = "XQST0093"; break;
|
---|
| 282 | case XQTY0023: result = "XQTY0023"; break;
|
---|
| 283 | case XQTY0024: result = "XQTY0024"; break;
|
---|
| 284 | case XQTY0028: result = "XQTY0028"; break;
|
---|
| 285 | case XQTY0030: result = "XQTY0030"; break;
|
---|
| 286 | case XQTY0086: result = "XQTY0086"; break;
|
---|
| 287 | case XTDE0030: result = "XTDE0030"; break;
|
---|
| 288 | case XTDE0040: result = "XTDE0040"; break;
|
---|
| 289 | case XTDE0045: result = "XTDE0045"; break;
|
---|
| 290 | case XTDE0047: result = "XTDE0047"; break;
|
---|
| 291 | case XTDE0050: result = "XTDE0050"; break;
|
---|
| 292 | case XTDE0060: result = "XTDE0060"; break;
|
---|
| 293 | case XTDE0160: result = "XTDE0160"; break;
|
---|
| 294 | case XTDE0290: result = "XTDE0290"; break;
|
---|
| 295 | case XTDE0410: result = "XTDE0410"; break;
|
---|
| 296 | case XTDE0420: result = "XTDE0420"; break;
|
---|
| 297 | case XTDE0430: result = "XTDE0430"; break;
|
---|
| 298 | case XTDE0440: result = "XTDE0440"; break;
|
---|
| 299 | case XTDE0485: result = "XTDE0485"; break;
|
---|
| 300 | case XTDE0560: result = "XTDE0560"; break;
|
---|
| 301 | case XTDE0610: result = "XTDE0610"; break;
|
---|
| 302 | case XTDE0640: result = "XTDE0640"; break;
|
---|
| 303 | case XTDE0700: result = "XTDE0700"; break;
|
---|
| 304 | case XTDE0820: result = "XTDE0820"; break;
|
---|
| 305 | case XTDE0830: result = "XTDE0830"; break;
|
---|
| 306 | case XTDE0835: result = "XTDE0835"; break;
|
---|
| 307 | case XTDE0850: result = "XTDE0850"; break;
|
---|
| 308 | case XTDE0855: result = "XTDE0855"; break;
|
---|
| 309 | case XTDE0860: result = "XTDE0860"; break;
|
---|
| 310 | case XTDE0865: result = "XTDE0865"; break;
|
---|
| 311 | case XTDE0890: result = "XTDE0890"; break;
|
---|
| 312 | case XTDE0905: result = "XTDE0905"; break;
|
---|
| 313 | case XTDE0920: result = "XTDE0920"; break;
|
---|
| 314 | case XTDE0925: result = "XTDE0925"; break;
|
---|
| 315 | case XTDE0930: result = "XTDE0930"; break;
|
---|
| 316 | case XTDE0980: result = "XTDE0980"; break;
|
---|
| 317 | case XTDE1030: result = "XTDE1030"; break;
|
---|
| 318 | case XTDE1035: result = "XTDE1035"; break;
|
---|
| 319 | case XTDE1110: result = "XTDE1110"; break;
|
---|
| 320 | case XTDE1140: result = "XTDE1140"; break;
|
---|
| 321 | case XTDE1145: result = "XTDE1145"; break;
|
---|
| 322 | case XTDE1150: result = "XTDE1150"; break;
|
---|
| 323 | case XTDE1170: result = "XTDE1170"; break;
|
---|
| 324 | case XTDE1190: result = "XTDE1190"; break;
|
---|
| 325 | case XTDE1200: result = "XTDE1200"; break;
|
---|
| 326 | case XTDE1260: result = "XTDE1260"; break;
|
---|
| 327 | case XTDE1270: result = "XTDE1270"; break;
|
---|
| 328 | case XTDE1280: result = "XTDE1280"; break;
|
---|
| 329 | case XTDE1310: result = "XTDE1310"; break;
|
---|
| 330 | case XTDE1340: result = "XTDE1340"; break;
|
---|
| 331 | case XTDE1350: result = "XTDE1350"; break;
|
---|
| 332 | case XTDE1360: result = "XTDE1360"; break;
|
---|
| 333 | case XTDE1370: result = "XTDE1370"; break;
|
---|
| 334 | case XTDE1380: result = "XTDE1380"; break;
|
---|
| 335 | case XTDE1390: result = "XTDE1390"; break;
|
---|
| 336 | case XTDE1400: result = "XTDE1400"; break;
|
---|
| 337 | case XTDE1420: result = "XTDE1420"; break;
|
---|
| 338 | case XTDE1425: result = "XTDE1425"; break;
|
---|
| 339 | case XTDE1428: result = "XTDE1428"; break;
|
---|
| 340 | case XTDE1440: result = "XTDE1440"; break;
|
---|
| 341 | case XTDE1450: result = "XTDE1450"; break;
|
---|
| 342 | case XTDE1460: result = "XTDE1460"; break;
|
---|
| 343 | case XTDE1480: result = "XTDE1480"; break;
|
---|
| 344 | case XTDE1490: result = "XTDE1490"; break;
|
---|
| 345 | case XTDE1665: result = "XTDE1665"; break;
|
---|
| 346 | case XTMM9000: result = "XTMM9000"; break;
|
---|
| 347 | case XTRE0270: result = "XTRE0270"; break;
|
---|
| 348 | case XTRE0540: result = "XTRE0540"; break;
|
---|
| 349 | case XTRE0795: result = "XTRE0795"; break;
|
---|
| 350 | case XTRE1160: result = "XTRE1160"; break;
|
---|
| 351 | case XTRE1495: result = "XTRE1495"; break;
|
---|
| 352 | case XTRE1500: result = "XTRE1500"; break;
|
---|
| 353 | case XTRE1620: result = "XTRE1620"; break;
|
---|
| 354 | case XTRE1630: result = "XTRE1630"; break;
|
---|
| 355 | case XTSE0010: result = "XTSE0010"; break;
|
---|
| 356 | case XTSE0020: result = "XTSE0020"; break;
|
---|
| 357 | case XTSE0080: result = "XTSE0080"; break;
|
---|
| 358 | case XTSE0090: result = "XTSE0090"; break;
|
---|
| 359 | case XTSE0110: result = "XTSE0110"; break;
|
---|
| 360 | case XTSE0120: result = "XTSE0120"; break;
|
---|
| 361 | case XTSE0125: result = "XTSE0125"; break;
|
---|
| 362 | case XTSE0130: result = "XTSE0130"; break;
|
---|
| 363 | case XTSE0150: result = "XTSE0150"; break;
|
---|
| 364 | case XTSE0165: result = "XTSE0165"; break;
|
---|
| 365 | case XTSE0170: result = "XTSE0170"; break;
|
---|
| 366 | case XTSE0180: result = "XTSE0180"; break;
|
---|
| 367 | case XTSE0190: result = "XTSE0190"; break;
|
---|
| 368 | case XTSE0200: result = "XTSE0200"; break;
|
---|
| 369 | case XTSE0210: result = "XTSE0210"; break;
|
---|
| 370 | case XTSE0215: result = "XTSE0215"; break;
|
---|
| 371 | case XTSE0220: result = "XTSE0220"; break;
|
---|
| 372 | case XTSE0260: result = "XTSE0260"; break;
|
---|
| 373 | case XTSE0265: result = "XTSE0265"; break;
|
---|
| 374 | case XTSE0280: result = "XTSE0280"; break;
|
---|
| 375 | case XTSE0340: result = "XTSE0340"; break;
|
---|
| 376 | case XTSE0350: result = "XTSE0350"; break;
|
---|
| 377 | case XTSE0370: result = "XTSE0370"; break;
|
---|
| 378 | case XTSE0500: result = "XTSE0500"; break;
|
---|
| 379 | case XTSE0530: result = "XTSE0530"; break;
|
---|
| 380 | case XTSE0550: result = "XTSE0550"; break;
|
---|
| 381 | case XTSE0580: result = "XTSE0580"; break;
|
---|
| 382 | case XTSE0620: result = "XTSE0620"; break;
|
---|
| 383 | case XTSE0630: result = "XTSE0630"; break;
|
---|
| 384 | case XTSE0650: result = "XTSE0650"; break;
|
---|
| 385 | case XTSE0660: result = "XTSE0660"; break;
|
---|
| 386 | case XTSE0670: result = "XTSE0670"; break;
|
---|
| 387 | case XTSE0680: result = "XTSE0680"; break;
|
---|
| 388 | case XTSE0690: result = "XTSE0690"; break;
|
---|
| 389 | case XTSE0710: result = "XTSE0710"; break;
|
---|
| 390 | case XTSE0720: result = "XTSE0720"; break;
|
---|
| 391 | case XTSE0740: result = "XTSE0740"; break;
|
---|
| 392 | case XTSE0760: result = "XTSE0760"; break;
|
---|
| 393 | case XTSE0770: result = "XTSE0770"; break;
|
---|
| 394 | case XTSE0805: result = "XTSE0805"; break;
|
---|
| 395 | case XTSE0808: result = "XTSE0808"; break;
|
---|
| 396 | case XTSE0809: result = "XTSE0809"; break;
|
---|
| 397 | case XTSE0810: result = "XTSE0810"; break;
|
---|
| 398 | case XTSE0812: result = "XTSE0812"; break;
|
---|
| 399 | case XTSE0840: result = "XTSE0840"; break;
|
---|
| 400 | case XTSE0870: result = "XTSE0870"; break;
|
---|
| 401 | case XTSE0880: result = "XTSE0880"; break;
|
---|
| 402 | case XTSE0910: result = "XTSE0910"; break;
|
---|
| 403 | case XTSE0940: result = "XTSE0940"; break;
|
---|
| 404 | case XTSE0975: result = "XTSE0975"; break;
|
---|
| 405 | case XTSE1015: result = "XTSE1015"; break;
|
---|
| 406 | case XTSE1017: result = "XTSE1017"; break;
|
---|
| 407 | case XTSE1040: result = "XTSE1040"; break;
|
---|
| 408 | case XTSE1060: result = "XTSE1060"; break;
|
---|
| 409 | case XTSE1070: result = "XTSE1070"; break;
|
---|
| 410 | case XTSE1080: result = "XTSE1080"; break;
|
---|
| 411 | case XTSE1090: result = "XTSE1090"; break;
|
---|
| 412 | case XTSE1130: result = "XTSE1130"; break;
|
---|
| 413 | case XTSE1205: result = "XTSE1205"; break;
|
---|
| 414 | case XTSE1210: result = "XTSE1210"; break;
|
---|
| 415 | case XTSE1220: result = "XTSE1220"; break;
|
---|
| 416 | case XTSE1290: result = "XTSE1290"; break;
|
---|
| 417 | case XTSE1295: result = "XTSE1295"; break;
|
---|
| 418 | case XTSE1300: result = "XTSE1300"; break;
|
---|
| 419 | case XTSE1430: result = "XTSE1430"; break;
|
---|
| 420 | case XTSE1505: result = "XTSE1505"; break;
|
---|
| 421 | case XTSE1520: result = "XTSE1520"; break;
|
---|
| 422 | case XTSE1530: result = "XTSE1530"; break;
|
---|
| 423 | case XTSE1560: result = "XTSE1560"; break;
|
---|
| 424 | case XTSE1570: result = "XTSE1570"; break;
|
---|
| 425 | case XTSE1580: result = "XTSE1580"; break;
|
---|
| 426 | case XTSE1590: result = "XTSE1590"; break;
|
---|
| 427 | case XTSE1600: result = "XTSE1600"; break;
|
---|
| 428 | case XTSE1650: result = "XTSE1650"; break;
|
---|
| 429 | case XTSE1660: result = "XTSE1660"; break;
|
---|
| 430 | case XTTE0505: result = "XTTE0505"; break;
|
---|
| 431 | case XTTE0510: result = "XTTE0510"; break;
|
---|
| 432 | case XTTE0520: result = "XTTE0520"; break;
|
---|
| 433 | case XTTE0570: result = "XTTE0570"; break;
|
---|
| 434 | case XTTE0590: result = "XTTE0590"; break;
|
---|
| 435 | case XTTE0600: result = "XTTE0600"; break;
|
---|
| 436 | case XTTE0780: result = "XTTE0780"; break;
|
---|
| 437 | case XTTE0790: result = "XTTE0790"; break;
|
---|
| 438 | case XTTE0950: result = "XTTE0950"; break;
|
---|
| 439 | case XTTE0990: result = "XTTE0990"; break;
|
---|
| 440 | case XTTE1000: result = "XTTE1000"; break;
|
---|
| 441 | case XTTE1020: result = "XTTE1020"; break;
|
---|
| 442 | case XTTE1100: result = "XTTE1100"; break;
|
---|
| 443 | case XTTE1120: result = "XTTE1120"; break;
|
---|
| 444 | case XTTE1510: result = "XTTE1510"; break;
|
---|
| 445 | case XTTE1512: result = "XTTE1512"; break;
|
---|
| 446 | case XTTE1515: result = "XTTE1515"; break;
|
---|
| 447 | case XTTE1540: result = "XTTE1540"; break;
|
---|
| 448 | case XTTE1545: result = "XTTE1545"; break;
|
---|
| 449 | case XTTE1550: result = "XTTE1550"; break;
|
---|
| 450 | case XTTE1555: result = "XTTE1555"; break;
|
---|
[561] | 451 | case XSDError: result = "XSDError"; break;
|
---|
[2] | 452 | }
|
---|
| 453 |
|
---|
| 454 | Q_ASSERT_X(result, Q_FUNC_INFO, "Unknown enum value.");
|
---|
| 455 | return QLatin1String(result);
|
---|
| 456 | }
|
---|
| 457 |
|
---|
| 458 | QUrl ReportContext::resolveURI(const QUrl &relative,
|
---|
| 459 | const QUrl &baseURI) const
|
---|
| 460 | {
|
---|
| 461 | Q_ASSERT_X(!baseURI.isRelative(), Q_FUNC_INFO,
|
---|
| 462 | "The base URI passed from the engine wasn't absolute.");
|
---|
| 463 |
|
---|
| 464 | const QAbstractUriResolver *const resolver(uriResolver());
|
---|
| 465 |
|
---|
| 466 | if(resolver)
|
---|
| 467 | {
|
---|
| 468 | const QUrl final(resolver->resolve(relative, baseURI));
|
---|
| 469 | Q_ASSERT_X(final.isValid() || final.isEmpty(), Q_FUNC_INFO,
|
---|
| 470 | "The QAbstractUriResolver must return a valid URI.");
|
---|
| 471 | Q_ASSERT_X(!final.isRelative(), Q_FUNC_INFO,
|
---|
| 472 | "The QAbstractUriResolver must return an absolute URI.");
|
---|
| 473 | return final;
|
---|
| 474 | }
|
---|
| 475 | else
|
---|
| 476 | return baseURI.resolved(relative);
|
---|
| 477 | }
|
---|
| 478 |
|
---|
| 479 | QT_END_NAMESPACE
|
---|