source: NonGTP/Xerces/xerces/include/xercesc/util/regx/ParserForXMLSchema.hpp @ 358

Revision 358, 4.3 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1/*
2 * Copyright 2001,2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/*
18 * $Id: ParserForXMLSchema.hpp,v 1.6 2004/09/08 13:56:47 peiyongz Exp $
19 */
20
21#if !defined(PARSERFORXMLSCHEMA_HPP)
22#define PARSERFORXMLSCHEMA_HPP
23
24// ---------------------------------------------------------------------------
25//  Includes
26// ---------------------------------------------------------------------------
27#include <xercesc/util/regx/RegxParser.hpp>
28
29XERCES_CPP_NAMESPACE_BEGIN
30
31// ---------------------------------------------------------------------------
32//  Forward Declaration
33// ---------------------------------------------------------------------------
34class Token;
35class RangeToken;
36
37class XMLUTIL_EXPORT ParserForXMLSchema : public RegxParser {
38public:
39    // -----------------------------------------------------------------------
40    //  Public Constructors and Destructor
41    // -----------------------------------------------------------------------
42    ParserForXMLSchema(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
43    ~ParserForXMLSchema();
44
45    // -----------------------------------------------------------------------
46    //  Getter methods
47    // -----------------------------------------------------------------------
48
49protected:
50    // -----------------------------------------------------------------------
51    //  Parsing/Processing methods
52    // -----------------------------------------------------------------------
53    XMLInt32    processCInCharacterClass(RangeToken* const tok,
54                                         const XMLInt32 ch);
55    Token*      processCaret();
56    Token*      processDollar();
57        Token*          processLook(const unsigned short tokType);
58    Token*      processBacksolidus_A();
59    Token*      processBacksolidus_Z();
60    Token*      processBacksolidus_z();
61    Token*      processBacksolidus_b();
62    Token*      processBacksolidus_B();
63    Token*      processBacksolidus_c();
64    Token*      processBacksolidus_C();
65    Token*      processBacksolidus_i();
66    Token*      processBacksolidus_I();
67    Token*      processBacksolidus_g();
68    Token*      processBacksolidus_X();
69    Token*      processBacksolidus_lt();
70    Token*      processBacksolidus_gt();
71    Token*      processStar(Token* const tok);
72    Token*      processPlus(Token* const tok);
73        Token*      processQuestion(Token* const tok);
74        Token*      processParen();
75        Token*      processParen2();
76        Token*      processCondition();
77        Token*      processModifiers();
78        Token*      processIndependent();
79        Token*      processBackReference();
80        RangeToken* parseCharacterClass(const bool useNRange);
81        RangeToken* parseSetOperations();
82
83    // -----------------------------------------------------------------------
84    //  Getter methods
85    // -----------------------------------------------------------------------
86        Token* getTokenForShorthand(const XMLInt32 ch);
87
88    // -----------------------------------------------------------------------
89    //  Helper methods
90    // -----------------------------------------------------------------------
91    bool checkQuestion(const int off);
92        XMLInt32 decodeEscaped();
93
94private:
95        // -----------------------------------------------------------------------
96    //  Unimplemented constructors and operators
97    // -----------------------------------------------------------------------
98    ParserForXMLSchema(const ParserForXMLSchema&);
99    ParserForXMLSchema& operator=(const ParserForXMLSchema&);
100
101    // -----------------------------------------------------------------------
102    //  Private data members
103        // -----------------------------------------------------------------------
104};
105
106XERCES_CPP_NAMESPACE_END
107
108#endif
109
110/**
111  * End of file ParserForXMLSchema.hpp
112  */
Note: See TracBrowser for help on using the repository browser.