source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/dom/DOMPSVITypeInfo.hpp @ 2674

Revision 2674, 4.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#if !defined(DOMPSVITYPEINFO_HPP)
19#define DOMPSVITYPEINFO_HPP
20
21//------------------------------------------------------------------------------------
22//  Includes
23//------------------------------------------------------------------------------------
24#include <xercesc/util/XMLString.hpp>
25
26
27XERCES_CPP_NAMESPACE_BEGIN
28
29/**
30  * The <code>DOMPSVITypeInfo</code> interface represent the PSVI info used by
31  * <code>DOMElement</code> or <code>DOMAttr</code> nodes, specified in the
32  * schemas associated with the document.
33  */
34class CDOM_EXPORT DOMPSVITypeInfo
35{
36protected:
37    // -----------------------------------------------------------------------
38    //  Hidden constructors
39    // -----------------------------------------------------------------------
40    /** @name Hidden constructors */
41    //@{
42    DOMPSVITypeInfo() {};
43    //@}
44
45private:
46    // -----------------------------------------------------------------------
47    // Unimplemented constructors and operators
48    // -----------------------------------------------------------------------
49    /** @name Unimplemented constructors and operators */
50    //@{
51    DOMPSVITypeInfo(const DOMPSVITypeInfo &);
52    DOMPSVITypeInfo & operator = (const DOMPSVITypeInfo &);
53    //@}
54
55public:
56
57    enum PSVIProperty
58    {
59        PSVI_Validity
60        , PSVI_Validitation_Attempted
61        , PSVI_Type_Definition_Type
62        , PSVI_Type_Definition_Name
63        , PSVI_Type_Definition_Namespace
64        , PSVI_Type_Definition_Anonymous
65        , PSVI_Nil
66        , PSVI_Member_Type_Definition_Name
67        , PSVI_Member_Type_Definition_Namespace
68        , PSVI_Member_Type_Definition_Anonymous
69        , PSVI_Schema_Default
70        , PSVI_Schema_Normalized_Value
71        , PSVI_Schema_Specified
72    };
73
74    // -----------------------------------------------------------------------
75    //  All constructors are hidden, just the destructor is available
76    // -----------------------------------------------------------------------
77    /** @name Destructor */
78    //@{
79    /**
80     * Destructor
81     *
82     */
83    virtual ~DOMPSVITypeInfo() {};
84    //@}
85
86    //@{
87    // -----------------------------------------------------------------------
88    //  Getter methods
89    // -----------------------------------------------------------------------
90    /**
91     * Returns the string value of the specified PSVI property associated to a
92     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
93     *
94     * <p><b>"Experimental - subject to change"</b></p>
95     *
96     * @return the string value of the specified PSVI property associated to a
97     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
98     */
99    virtual const XMLCh* getStringProperty(PSVIProperty prop) const = 0;
100
101    /**
102     * Returns the numeric value of the specified PSVI property associated to a
103     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
104     *
105     * <p><b>"Experimental - subject to change"</b></p>
106     *
107     * @return the numeric value of the specified PSVI property associated to a
108     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
109     */
110    virtual int getNumericProperty(PSVIProperty prop) const = 0;
111    //@}
112};
113
114XERCES_CPP_NAMESPACE_END
115
116#endif
117
118/**
119 * End of file DOMPSVITypeInfo.hpp
120 */
Note: See TracBrowser for help on using the repository browser.