1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtXmlPatterns module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or (at your option) the GNU General 28 ** Public license version 3 or any later version approved by the KDE Free 29 ** Qt Foundation. The licenses are as published by the Free Software 30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 ** included in the packaging of this file. Please review the following 32 ** information to ensure the GNU General Public License requirements will 33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 ** https://www.gnu.org/licenses/gpl-3.0.html. 35 ** 36 ** $QT_END_LICENSE$ 37 ** 38 ****************************************************************************/ 39 40 // 41 // W A R N I N G 42 // ------------- 43 // 44 // This file is not part of the Qt API. It exists purely as an 45 // implementation detail. This header file may change from version to 46 // version without notice, or even be removed. 47 // 48 // We mean it. 49 // 50 51 /* NOTE: This file is AUTO GENERATED by qautomaton2cpp.xsl. */ 52 53 #ifndef QPatternist_XsdSchemaToken_h 54 #define QPatternist_XsdSchemaToken_h 55 56 #include <QtCore/QString> 57 58 QT_BEGIN_NAMESPACE 59 60 class XsdSchemaToken 61 { 62 public: 63 enum NodeName 64 65 { 66 NoKeyword, 67 Abstract, 68 All, 69 Alternative, 70 Annotation, 71 Any, 72 AnyAttribute, 73 Appinfo, 74 AppliesToEmpty, 75 Assert, 76 Assertion, 77 Attribute, 78 AttributeFormDefault, 79 AttributeGroup, 80 Base, 81 Block, 82 BlockDefault, 83 Choice, 84 Collapse, 85 ComplexContent, 86 ComplexType, 87 Default, 88 DefaultAttributes, 89 DefaultAttributesApply, 90 DefaultOpenContent, 91 Documentation, 92 Element, 93 ElementFormDefault, 94 Enumeration, 95 Extension, 96 Field, 97 Final, 98 FinalDefault, 99 Fixed, 100 Form, 101 FractionDigits, 102 Group, 103 Id, 104 Import, 105 Include, 106 ItemType, 107 Key, 108 Keyref, 109 Length, 110 List, 111 MaxExclusive, 112 MaxInclusive, 113 MaxLength, 114 MaxOccurs, 115 MemberTypes, 116 MinExclusive, 117 MinInclusive, 118 MinLength, 119 MinOccurs, 120 Mixed, 121 Mode, 122 Name, 123 Namespace, 124 Nillable, 125 NotNamespace, 126 NotQName, 127 Notation, 128 OpenContent, 129 Override, 130 Pattern, 131 Preserve, 132 ProcessContents, 133 Public, 134 Redefine, 135 Ref, 136 Refer, 137 Replace, 138 Restriction, 139 Schema, 140 SchemaLocation, 141 Selector, 142 Sequence, 143 SimpleContent, 144 SimpleType, 145 Source, 146 SubstitutionGroup, 147 System, 148 TargetNamespace, 149 Test, 150 TotalDigits, 151 Type, 152 Union, 153 Unique, 154 Use, 155 Value, 156 Version, 157 WhiteSpace, 158 XML_NS_SCHEMA_URI, 159 XPathDefaultNamespace, 160 XmlLanguage, 161 Xpath 162 }; 163 164 static inline NodeName toToken(const QString &value); 165 static inline NodeName toToken(const QStringRef &value); 166 static NodeName toToken(const QChar *data, int length); 167 static QString toString(NodeName token); 168 169 170 private: 171 static inline NodeName classifier2(const QChar *data); 172 static inline NodeName classifier3(const QChar *data); 173 static inline NodeName classifier4(const QChar *data); 174 static inline NodeName classifier5(const QChar *data); 175 static inline NodeName classifier6(const QChar *data); 176 static inline NodeName classifier7(const QChar *data); 177 static inline NodeName classifier8(const QChar *data); 178 static inline NodeName classifier9(const QChar *data); 179 static inline NodeName classifier10(const QChar *data); 180 static inline NodeName classifier11(const QChar *data); 181 static inline NodeName classifier12(const QChar *data); 182 static inline NodeName classifier13(const QChar *data); 183 static inline NodeName classifier14(const QChar *data); 184 static inline NodeName classifier15(const QChar *data); 185 static inline NodeName classifier17(const QChar *data); 186 static inline NodeName classifier18(const QChar *data); 187 static inline NodeName classifier20(const QChar *data); 188 static inline NodeName classifier21(const QChar *data); 189 static inline NodeName classifier22(const QChar *data); 190 static inline NodeName classifier32(const QChar *data); 191 192 }; 193 toToken(const QString & value)194 inline XsdSchemaToken::NodeName XsdSchemaToken::toToken(const QString &value) 195 { 196 return toToken(value.constData(), value.length()); 197 } 198 toToken(const QStringRef & value)199 inline XsdSchemaToken::NodeName XsdSchemaToken::toToken(const QStringRef &value) 200 { 201 return toToken(value.constData(), value.length()); 202 } 203 204 205 QT_END_NAMESPACE 206 207 #endif 208