source: icXML/icXML-devel/src/xercesc/util/regx/ParserForXMLSchema.hpp @ 2722

Last change on this file since 2722 was 2722, checked in by cameron, 6 years ago

Original Xerces files with import mods for icxercesc

File size: 3.3 KB
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 678879 2008-07-22 20:05:05Z amassari $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_PARSERFORXMLSCHEMA_HPP)
23#define XERCESC_INCLUDE_GUARD_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    Token*      processCaret();
55    Token*      processDollar();
56    Token*      processStar(Token* const tok);
57    Token*      processPlus(Token* const tok);
58    Token*      processQuestion(Token* const tok);
59    Token*      processParen();
60    Token*      processBackReference();
61
62    // -----------------------------------------------------------------------
63    //  Helper methods
64    // -----------------------------------------------------------------------
65    bool checkQuestion(const XMLSize_t off);
66    XMLInt32 decodeEscaped();
67
68private:
69    // -----------------------------------------------------------------------
70    //  Unimplemented constructors and operators
71    // -----------------------------------------------------------------------
72    ParserForXMLSchema(const ParserForXMLSchema&);
73    ParserForXMLSchema& operator=(const ParserForXMLSchema&);
74
75    // -----------------------------------------------------------------------
76    //  Private data members
77    // -----------------------------------------------------------------------
78};
79
80XERCES_CPP_NAMESPACE_END
81
82#endif
83
84/**
85  * End of file ParserForXMLSchema.hpp
86  */
Note: See TracBrowser for help on using the repository browser.