Xerces-C++
3.1.3
Main Page
Related Pages
Classes
Files
File List
File Members
src
xercesc
framework
psvi
XSParticle.hpp
Go to the documentation of this file.
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: XSParticle.hpp 883665 2009-11-24 11:41:38Z borisk $
20
*/
21
22
#if !defined(XERCESC_INCLUDE_GUARD_XSPARTICLE_HPP)
23
#define XERCESC_INCLUDE_GUARD_XSPARTICLE_HPP
24
25
#include <
xercesc/framework/psvi/XSObject.hpp
>
26
27
XERCES_CPP_NAMESPACE_BEGIN
28
36
// forward declarations
37
class
XSElementDeclaration
;
38
class
XSModelGroup
;
39
class
XSWildcard
;
40
41
class
XMLPARSER_EXPORT
XSParticle
:
public
XSObject
42
{
43
public
:
44
45
// possible terms of this particle
46
enum
TERM_TYPE
{
47
/*
48
* an empty particle
49
*/
50
TERM_EMPTY = 0,
51
/*
52
* the particle has element content
53
*/
54
TERM_ELEMENT =
XSConstants::ELEMENT_DECLARATION
,
55
/*
56
* the particle's content is a model group
57
*/
58
TERM_MODELGROUP =
XSConstants::MODEL_GROUP_DEFINITION
,
59
/*
60
* the particle's content is a wildcard
61
*/
62
TERM_WILDCARD =
XSConstants::WILDCARD
63
};
64
65
// Constructors and Destructor
66
// -----------------------------------------------------------------------
69
81
XSParticle
82
(
83
TERM_TYPE termType
84
,
XSModel
*
const
xsModel
85
,
XSObject
*
const
particleTerm
86
,
XMLSize_t
minOccurs
87
,
XMLSize_t
maxOccurs
88
,
bool
unbounded
89
,
MemoryManager
*
const
manager
90
);
91
93
96
~
XSParticle
();
98
99
//---------------------
102
106
XMLSize_t
getMinOccurs()
const
;
107
112
XMLSize_t
getMaxOccurs()
const
;
113
117
bool
getMaxOccursUnbounded()
const
;
118
123
TERM_TYPE getTermType()
const
;
124
131
XSElementDeclaration
*getElementTerm();
132
139
XSModelGroup
*getModelGroupTerm();
140
147
XSWildcard
*getWildcardTerm();
148
150
151
//----------------------------------
154
156
private
:
157
158
// -----------------------------------------------------------------------
159
// Unimplemented constructors and operators
160
// -----------------------------------------------------------------------
161
XSParticle
(
const
XSParticle
&);
162
XSParticle
& operator=(
const
XSParticle
&);
163
164
protected
:
165
166
// -----------------------------------------------------------------------
167
// data members
168
// -----------------------------------------------------------------------
169
TERM_TYPE
fTermType
;
170
XMLSize_t
fMinOccurs
;
171
XMLSize_t
fMaxOccurs
;
172
bool
fUnbounded
;
173
XSObject
*
fTerm
;
174
};
175
176
inline
XMLSize_t
XSParticle::getMinOccurs
()
const
177
{
178
return
fMinOccurs
;
179
}
180
181
inline
XMLSize_t
XSParticle::getMaxOccurs
()
const
182
{
183
return
fMaxOccurs
;
184
}
185
186
inline
bool
XSParticle::getMaxOccursUnbounded
()
const
187
{
188
return
fUnbounded
;
189
}
190
191
inline
XSParticle::TERM_TYPE
XSParticle::getTermType
()
const
192
{
193
return
fTermType
;
194
}
195
196
XERCES_CPP_NAMESPACE_END
197
198
#endif
Generated on Mon Feb 1 2016 13:04:19 for Xerces-C++ by
1.8.1.2