source: icXML/icXML-devel/src/xercesc/framework/XMLSchemaDescription.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: 4.8 KB
RevLine 
[2722]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: XMLSchemaDescription.hpp 527149 2007-04-10 14:56:39Z amassari $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTION_HPP)
23#define XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTION_HPP
24
25#include <xercesc/framework/XMLGrammarDescription.hpp>
26#include <xercesc/util/RefArrayVectorOf.hpp>
27
28XERCES_CPP_NAMESPACE_BEGIN
29
30typedef const XMLCh* const LocationHint;
31
32class XMLPARSER_EXPORT XMLSchemaDescription : public XMLGrammarDescription
33{
34public :
35    // -----------------------------------------------------------------------
36    /** @name Virtual destructor for derived classes */
37    // -----------------------------------------------------------------------
38    //@{
39    /**
40      * virtual destructor
41      *
42      */
43    virtual ~XMLSchemaDescription();
44    //@}
45
46    // -----------------------------------------------------------------------
47    /** @name Implementation of Grammar Description Interface */
48    // -----------------------------------------------------------------------
49    //@{     
50    /**
51      * getGrammarType
52      *
53      */
54    virtual Grammar::GrammarType   getGrammarType() const
55    {
56        return Grammar::SchemaGrammarType;
57    }
58    //@}
59
60    // -----------------------------------------------------------------------
61    /** @name The SchemaDescription Interface */
62    // -----------------------------------------------------------------------
63    //@{
64
65    enum ContextType
66         {
67            CONTEXT_INCLUDE,
68            CONTEXT_REDEFINE,
69            CONTEXT_IMPORT,
70            CONTEXT_PREPARSE,
71            CONTEXT_INSTANCE,
72            CONTEXT_ELEMENT,
73            CONTEXT_ATTRIBUTE,
74            CONTEXT_XSITYPE,
75            CONTEXT_UNKNOWN
76         };
77
78    /**
79      * getContextType
80      *
81      */       
82    virtual ContextType                getContextType() const = 0;
83
84    /**
85      * getTargetNamespace
86      *
87      */       
88    virtual const XMLCh*               getTargetNamespace() const = 0;
89
90    /**
91      * getLocationHints
92      *
93      */       
94    virtual const RefArrayVectorOf<XMLCh>*   getLocationHints() const = 0;
95
96    /**
97      * getTriggeringComponent
98      *
99      */       
100    virtual const QName*               getTriggeringComponent() const = 0;
101
102    /**
103      * getenclosingElementName
104      *
105      */       
106    virtual const QName*               getEnclosingElementName() const = 0;
107
108    /**
109      * getAttributes
110      *
111      */       
112    virtual const XMLAttDef*           getAttributes() const = 0;
113
114    /**
115      * setContextType
116      *
117      */       
118    virtual void                       setContextType(ContextType) = 0;
119
120    /**
121      * setTargetNamespace
122      *
123      */       
124    virtual void                       setTargetNamespace(const XMLCh* const) = 0;
125
126    /**
127      * setLocationHints
128      *
129      */       
130    virtual void                       setLocationHints(const XMLCh* const) = 0;
131
132    /**
133      * setTriggeringComponent
134      *
135      */       
136    virtual void                       setTriggeringComponent(QName* const) = 0;
137
138    /**
139      * getenclosingElementName
140      *
141      */       
142    virtual void                       setEnclosingElementName(QName* const) = 0;
143
144    /**
145      * setAttributes
146      *
147      */       
148    virtual void                       setAttributes(XMLAttDef* const) = 0;
149    //@}                 
150                 
151    /***
152     * Support for Serialization/De-serialization
153     ***/
154    DECL_XSERIALIZABLE(XMLSchemaDescription)
155
156protected :
157    // -----------------------------------------------------------------------
158    /**  Hidden Constructors */
159    // -----------------------------------------------------------------------
160    //@{
161    XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
162    //@}
163
164private :
165    // -----------------------------------------------------------------------
166    /** name  Unimplemented copy constructor and operator= */
167    // -----------------------------------------------------------------------
168    //@{
169    XMLSchemaDescription(const XMLSchemaDescription& );
170    XMLSchemaDescription& operator=(const XMLSchemaDescription& );
171    //@}
172
173};
174
175
176XERCES_CPP_NAMESPACE_END
177
178#endif
Note: See TracBrowser for help on using the repository browser.