source: NonGTP/Xerces/xerces/include/xercesc/internal/XObjectComparator.hpp @ 358

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

xerces added

Line 
1/*
2 * Copyright 2003,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 * $Log: XObjectComparator.hpp,v $
19 * Revision 1.3  2004/09/08 13:56:14  peiyongz
20 * Apache License Version 2.0
21 *
22 * Revision 1.2  2003/10/31 22:15:42  peiyongz
23 * dumpContent
24 *
25 * Revision 1.1  2003/10/29 16:14:15  peiyongz
26 * XObjectComparator/XTemplateComparator
27 *
28 * $Id: XObjectComparator.hpp,v 1.3 2004/09/08 13:56:14 peiyongz Exp $
29 *
30 */
31
32#if !defined(XOBJECT_COMPARATOR_HPP)
33#define XOBJECT_COMPARATOR_HPP
34
35#include <xercesc/framework/XMLNotationDecl.hpp>
36#include <xercesc/framework/XMLRefInfo.hpp>
37#include <xercesc/framework/XMLDTDDescription.hpp>
38#include <xercesc/framework/XMLSchemaDescription.hpp>
39
40#include <xercesc/internal/XMLGrammarPoolImpl.hpp>
41
42#include <xercesc/util/XMLNumber.hpp>
43#include <xercesc/util/KVStringPair.hpp>
44
45#include <xercesc/validators/common/ContentSpecNode.hpp>
46
47#include <xercesc/validators/DTD/DTDAttDef.hpp>
48#include <xercesc/validators/DTD/DTDAttDefList.hpp>
49#include <xercesc/validators/DTD/DTDElementDecl.hpp>
50#include <xercesc/validators/DTD/DTDEntityDecl.hpp>
51#include <xercesc/validators/DTD/DTDGrammar.hpp>
52
53#include <xercesc/validators/schema/SchemaAttDef.hpp>
54#include <xercesc/validators/schema/SchemaAttDefList.hpp>
55#include <xercesc/validators/schema/SchemaElementDecl.hpp>
56#include <xercesc/validators/schema/XercesGroupInfo.hpp>
57#include <xercesc/validators/schema/XercesAttGroupInfo.hpp>
58#include <xercesc/validators/schema/SchemaGrammar.hpp>
59
60#include <xercesc/validators/schema/identity/IC_Field.hpp>
61#include <xercesc/validators/schema/identity/IC_Selector.hpp>
62#include <xercesc/validators/schema/identity/IC_Key.hpp>
63#include <xercesc/validators/schema/identity/IC_KeyRef.hpp>
64#include <xercesc/validators/schema/identity/IC_Unique.hpp>
65#include <xercesc/validators/schema/identity/IdentityConstraint.hpp>
66#include <xercesc/validators/schema/identity/XercesXPath.hpp>
67
68XERCES_CPP_NAMESPACE_BEGIN
69
70class XMLUTIL_EXPORT XObjectComparator
71{
72public:
73
74/**********************************************************
75 *
76 * XMLGrammarPoolImpl
77 *
78 * Grammar
79 *
80 *   SchemaGrammar
81 *   DTDGrammar
82 *
83 ***********************************************************/   
84    static void dumpContent
85                (
86                    XMLGrammarPoolImpl* const
87                );
88
89    static bool isEquivalent
90                (
91                    XMLGrammarPoolImpl* const
92                  , XMLGrammarPoolImpl* const
93                );
94
95    static bool isEquivalent
96                (
97                    Grammar* const
98                  , Grammar* const
99                );
100
101    static bool isBaseEquivalent
102                (
103                    Grammar* const
104                  , Grammar* const
105                );
106
107    static bool isEquivalent
108                (
109                   SchemaGrammar* const
110                 , SchemaGrammar* const
111                );
112
113/**********************************************************
114 *
115 * XMLGrammarDescription
116 *
117 *   XMLSchemaDescription
118 *   XMLDTDDescription
119 *
120 ***********************************************************/   
121    static bool isEquivalent
122                (
123                    XMLSchemaDescription* const
124                  , XMLSchemaDescription* const
125                );
126
127    static bool isEquivalent
128                (
129                   XMLDTDDescription* const
130                 , XMLDTDDescription* const
131                );
132
133/**********************************************************
134 *
135 * XMLElementDecl
136 *   SchemaElementDecl
137 *   DTDElementDecl
138 *
139 ***********************************************************/   
140    static bool isBaseEquivalent
141                (
142                    XMLElementDecl* const
143                  , XMLElementDecl* const
144                );
145
146    static bool isEquivalent
147                (
148                   SchemaElementDecl* const
149                 , SchemaElementDecl* const
150                );
151
152    static bool isEquivalent
153                (
154                   DTDElementDecl* const
155                 , DTDElementDecl* const
156                );
157
158/**********************************************************
159 * XMLAttDef
160 *   SchemaAttDef
161 *   DTDAttDef
162 *
163***********************************************************/   
164    static bool isBaseEquivalent
165                (
166                   XMLAttDef* const
167                 , XMLAttDef* const
168                );
169
170    static bool isEquivalent
171                (
172                    SchemaAttDef* const
173                  , SchemaAttDef* const
174                );
175
176    static bool isEquivalent
177                (
178                    DTDAttDef* const
179                  , DTDAttDef* const
180                );
181
182/**********************************************************
183 * XMLAttDefList
184 *   SchemaAttDefList
185 *   DTDAttDefList
186 *
187***********************************************************/   
188    static bool isBaseEquivalent
189                (
190                   XMLAttDefList* const
191                 , XMLAttDefList* const
192                );
193   
194    static bool isEquivalent
195                (
196                    SchemaAttDefList* const
197                  , SchemaAttDefList* const
198                );
199
200    static bool isEquivalent
201                (
202                    DTDAttDefList* const
203                  , DTDAttDefList* const
204                );
205
206/**********************************************************
207 * XMLEntityDecl
208 *    DTDEntityDecl
209 *
210 ***********************************************************/   
211    static bool isBaseEquivalent
212                (
213                    XMLEntityDecl* const
214                  , XMLEntityDecl* const
215                );
216
217    static bool isEquivalent
218                (
219                    DTDEntityDecl* const
220                  , DTDEntityDecl* const
221                );
222
223/**********************************************************
224 * XMLNotationDecl
225 *
226 * DTDEntityDecl
227 *
228 * ComplexTypeInfo
229 * XercesGroupInfo
230 * XercesAttGroupInfo
231 ***********************************************************/   
232    static bool isEquivalent
233                (
234                    XMLNotationDecl* const
235                  , XMLNotationDecl* const
236                );
237   
238    static bool isEquivalent
239                (
240                    ComplexTypeInfo* const
241                  , ComplexTypeInfo* const
242                );
243
244    static bool isEquivalent
245                (
246                    XercesGroupInfo* const
247                  , XercesGroupInfo* const
248                );
249
250    static bool isEquivalent
251                (
252                    XercesAttGroupInfo* const
253                  , XercesAttGroupInfo* const
254                );
255
256/**********************************************************
257 *
258 * DatatypeValidator
259 *
260 *
261 * DatatypeValidatorFactory
262 *
263 ***********************************************************/   
264
265    static bool isEquivalent
266                (
267                   DatatypeValidator* const
268                 , DatatypeValidator* const
269                );
270
271    static bool isBaseEquivalent
272                (
273                   DatatypeValidator* const
274                 , DatatypeValidator* const
275                );
276
277    static bool isEquivalent
278                (
279                   DatatypeValidatorFactory* const
280                 , DatatypeValidatorFactory* const
281                );
282
283/**********************************************************
284 *
285 * ContentSpecNode
286 * QName
287 * KVStringPair
288 * XMLRefInfo
289 * XMLStringPool
290 *
291 ***********************************************************/   
292    static bool isEquivalent
293                (
294                   ContentSpecNode* const
295                 , ContentSpecNode* const
296                );
297
298    static bool isEquivalent
299                (
300                   QName* const
301                 , QName* const
302                );
303
304    static bool isEquivalent
305                (
306                   KVStringPair* const
307                 , KVStringPair* const
308                );
309
310    static bool isEquivalent
311                (
312                   XMLRefInfo* const
313                 , XMLRefInfo* const
314                );
315
316    static bool isEquivalent
317                (
318                   XMLStringPool* const
319                 , XMLStringPool* const
320                );
321
322/**********************************************************
323 *
324 * XercesNodeTest
325 * XercesStep
326 * XercesLocationPath
327 * XercesXPath
328 *
329***********************************************************/   
330    static bool isEquivalent
331                (
332                   XercesNodeTest* const
333                 , XercesNodeTest* const
334                );
335
336    static bool isEquivalent
337                (
338                   XercesStep* const
339                 , XercesStep* const
340                );
341
342    static bool isEquivalent
343                (
344                   XercesLocationPath* const
345                 , XercesLocationPath* const
346                );
347
348    static bool isEquivalent
349                (
350                   XercesXPath* const
351                 , XercesXPath* const
352                );
353
354/**********************************************************
355 *
356 * IC_Field
357 * IC_Selector
358 *
359 * IdentityConstraint
360 *   IC_Key
361 *   IC_KeyRef
362 *   IC_Unique
363 *
364 ***********************************************************/   
365    static bool isEquivalent
366                (
367                   IC_Field* const
368                 , IC_Field* const
369                );
370
371    static bool isEquivalent
372                (
373                   IC_Selector* const
374                 , IC_Selector* const
375                );
376
377    static bool isEquivalent
378                (
379                   IdentityConstraint* const
380                 , IdentityConstraint* const
381                );
382
383    static bool isBaseEquivalent
384                (
385                   IdentityConstraint* const
386                 , IdentityConstraint* const
387                );
388
389    static bool isEquivalent
390                (
391                   IC_Key* const
392                 , IC_Key* const
393                );
394
395    static bool isEquivalent
396                (
397                   IC_KeyRef* const
398                 , IC_KeyRef* const
399                );
400
401    static bool isEquivalent
402                (
403                   IC_Unique* const
404                 , IC_Unique* const
405                );
406
407/**********************************************************
408 * XMLNumber
409 *   XMLDouble
410 *   XMLFloat
411 *   XMLBigDecimal
412 *   XMLDateTime
413 *
414 ***********************************************************/   
415    static bool isEquivalent
416                (
417                   XMLNumber* const
418                 , XMLNumber* const
419                );
420
421private:
422    // -----------------------------------------------------------------------
423    //  Unimplemented constructors and operators
424    // -----------------------------------------------------------------------
425        ~XObjectComparator();
426    XObjectComparator();
427    XObjectComparator(const XObjectComparator&);
428        XObjectComparator& operator=(const XObjectComparator&);
429
430};
431
432XERCES_CPP_NAMESPACE_END
433
434#endif
Note: See TracBrowser for help on using the repository browser.