source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/util/regx/ParserForXMLSchema.hpp @ 2674

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