Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:51

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 #if !defined(XERCESC_INCLUDE_GUARD_DOMPSVITYPEINFO_HPP)
0019 #define XERCESC_INCLUDE_GUARD_DOMPSVITYPEINFO_HPP
0020 
0021 //------------------------------------------------------------------------------------
0022 //  Includes
0023 //------------------------------------------------------------------------------------
0024 #include <xercesc/util/XMLString.hpp>
0025 
0026 
0027 XERCES_CPP_NAMESPACE_BEGIN
0028 
0029 /**
0030   * The <code>DOMPSVITypeInfo</code> interface represent the PSVI info used by 
0031   * <code>DOMElement</code> or <code>DOMAttr</code> nodes, specified in the 
0032   * schemas associated with the document. 
0033   */
0034 class CDOM_EXPORT DOMPSVITypeInfo
0035 {
0036 protected:
0037     // -----------------------------------------------------------------------
0038     //  Hidden constructors
0039     // -----------------------------------------------------------------------
0040     /** @name Hidden constructors */
0041     //@{
0042     DOMPSVITypeInfo() {};
0043     //@}
0044 
0045 private:
0046     // -----------------------------------------------------------------------
0047     // Unimplemented constructors and operators
0048     // -----------------------------------------------------------------------
0049     /** @name Unimplemented constructors and operators */
0050     //@{
0051     DOMPSVITypeInfo(const DOMPSVITypeInfo &);
0052     DOMPSVITypeInfo & operator = (const DOMPSVITypeInfo &);
0053     //@}
0054 
0055 public:
0056 
0057     enum PSVIProperty
0058     {
0059         PSVI_Validity
0060         , PSVI_Validation_Attempted
0061         , PSVI_Type_Definition_Type
0062         , PSVI_Type_Definition_Name
0063         , PSVI_Type_Definition_Namespace
0064         , PSVI_Type_Definition_Anonymous
0065         , PSVI_Nil
0066         , PSVI_Member_Type_Definition_Name
0067         , PSVI_Member_Type_Definition_Namespace
0068         , PSVI_Member_Type_Definition_Anonymous
0069         , PSVI_Schema_Default
0070         , PSVI_Schema_Normalized_Value
0071         , PSVI_Schema_Specified
0072     };
0073 
0074     // -----------------------------------------------------------------------
0075     //  All constructors are hidden, just the destructor is available
0076     // -----------------------------------------------------------------------
0077     /** @name Destructor */
0078     //@{
0079     /**
0080      * Destructor
0081      *
0082      */
0083     virtual ~DOMPSVITypeInfo() {};
0084     //@}
0085 
0086     //@{
0087     // -----------------------------------------------------------------------
0088     //  Getter methods
0089     // -----------------------------------------------------------------------
0090     /**
0091      * Returns the string value of the specified PSVI property associated to a 
0092      * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
0093      *
0094      *
0095      * @return the string value of the specified PSVI property associated to a 
0096      * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
0097      */
0098     virtual const XMLCh* getStringProperty(PSVIProperty prop) const = 0;
0099 
0100     /**
0101      * Returns the numeric value of the specified PSVI property associated to a 
0102      * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
0103      *
0104      *
0105      * @return the numeric value of the specified PSVI property associated to a 
0106      * <code>DOMElement</code> or <code>DOMAttr</code>, or null if not available.
0107      */
0108     virtual int getNumericProperty(PSVIProperty prop) const = 0;
0109     //@}
0110 };
0111 
0112 XERCES_CPP_NAMESPACE_END
0113 
0114 #endif
0115 
0116 /**
0117  * End of file DOMPSVITypeInfo.hpp
0118  */