source: icXML/icXML-devel/src/xercesc/dom/DOMPSVITypeInfo.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.0 KB
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(XERCESC_INCLUDE_GUARD_DOMPSVITYPEINFO_HPP)
19#define XERCESC_INCLUDE_GUARD_DOMPSVITYPEINFO_HPP
20
21//------------------------------------------------------------------------------------
22//  Includes
23//------------------------------------------------------------------------------------
24#include <icxercesc/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_Validation_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     *
95     * @return the string value of the specified PSVI property associated to a
96     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
97     */
98    virtual const XMLCh* getStringProperty(PSVIProperty prop) const = 0;
99
100    /**
101     * Returns the numeric value of the specified PSVI property associated to a
102     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
103     *
104     *
105     * @return the numeric value of the specified PSVI property associated to a
106     * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
107     */
108    virtual int getNumericProperty(PSVIProperty prop) const = 0;
109    //@}
110};
111
112XERCES_CPP_NAMESPACE_END
113
114#endif
115
116/**
117 * End of file DOMPSVITypeInfo.hpp
118 */
Note: See TracBrowser for help on using the repository browser.