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