source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/validators/schema/XercesElementWildcard.hpp @ 2674

Revision 2674, 3.1 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: XercesElementWildcard.hpp 568078 2007-08-21 11:43:25Z amassari $
20 */
21
22
23#if !defined(XERCESELEMENTWILDCARD_HPP)
24#define XERCESELEMENTWILDCARD_HPP
25
26#include <xercesc/util/QName.hpp>
27#include <xercesc/validators/common/ContentSpecNode.hpp>
28#include <xercesc/validators/schema/SubstitutionGroupComparator.hpp>
29
30XERCES_CPP_NAMESPACE_BEGIN
31
32// ---------------------------------------------------------------------------
33//  Forward declarations
34// ---------------------------------------------------------------------------
35class SchemaGrammar;
36
37
38class VALIDATORS_EXPORT XercesElementWildcard
39{
40
41public :
42
43    // -----------------------------------------------------------------------
44    //  Class static methods
45    // -----------------------------------------------------------------------
46    /*
47     * check whether two elements are in conflict
48     */
49    static bool conflict(SchemaGrammar* const         pGrammar,
50                         ContentSpecNode::NodeTypes   type1,
51                         QName*                       q1,
52                         ContentSpecNode::NodeTypes   type2,
53                         QName*                       q2,
54                         SubstitutionGroupComparator* comparator);
55
56private:
57
58    // -----------------------------------------------------------------------
59    //  private helper methods
60    // -----------------------------------------------------------------------
61    static bool uriInWildcard(SchemaGrammar* const         pGrammar,
62                              QName*                       qname,
63                              unsigned int                 wildcard,
64                              ContentSpecNode::NodeTypes   wtype,
65                              SubstitutionGroupComparator* comparator);
66
67    static bool wildcardIntersect(ContentSpecNode::NodeTypes t1,
68                                  unsigned int               w1,
69                                  ContentSpecNode::NodeTypes t2,
70                                  unsigned int               w2);
71
72    // -----------------------------------------------------------------------
73    //  Unimplemented constructors and operators
74    // -----------------------------------------------------------------------
75    XercesElementWildcard();
76    ~XercesElementWildcard();
77};
78
79XERCES_CPP_NAMESPACE_END
80
81#endif // XERCESELEMENTWILDCARD_HPP
82
Note: See TracBrowser for help on using the repository browser.