Xerces-C++: PSVIElement.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # PSVIElement.hpp Go to the documentation of this file.
    00001 /*
    00002  * Copyright 2003,2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *      http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016
    00017 /*
    00018  * $Id: PSVIElement.hpp 191054 2005-06-17 02:56:35Z jberry $
    00019  */
    00020
    00021 #if !defined(PSVIELEMENT_HPP)
    00022 #define PSVIELEMENT_HPP
    00023
    00024 #include <xercesc/framework/psvi/PSVIItem.hpp>
    00025
    00026 XERCES_CPP_NAMESPACE_BEGIN
    00027
    00035 // forward declarations
    00036 class XSElementDeclaration;
    00037 class XSNotationDeclaration;
    00038 class XSModel;
    00039
    00040 class  PSVIElement : public PSVIItem
    00041 {
    00042 public:
    00043
    00044     //  Constructors and Destructor
    00045     // -----------------------------------------------------------------------
    00048
    00054     PSVIElement( MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
    00055
    00057
    00060     ~PSVIElement();
    00062
    00063     //---------------------
    00067
    00074     XSElementDeclaration *getElementDeclaration();
    00075
    00081     XSNotationDeclaration *getNotationDeclaration();
    00082
    00089     XSModel *getSchemaInformation();
    00090
    00096     XSTypeDefinition *getTypeDefinition();
    00097
    00107     XSSimpleTypeDefinition *getMemberTypeDefinition();
    00108
    00110
    00111     //----------------------------------
    00115     void reset
    00116     (
    00117         const VALIDITY_STATE            validityState
    00118         , const ASSESSMENT_TYPE         assessmentType
    00119         , const XMLCh* const            validationContext
    00120         , bool                          isSpecified
    00121         , XSElementDeclaration* const   elemDecl
    00122         , XSTypeDefinition* const       typeDef
    00123         , XSSimpleTypeDefinition* const memberType
    00124         , XSModel* const                schemaInfo
    00125         , const XMLCh* const            defaultValue
    00126         , const XMLCh* const            normalizedValue = 0
    00127         , XMLCh* const                  canonicalValue = 0
    00128         , XSNotationDeclaration* const  notationDecl = 0
    00129     );
    00130
    00132
    00133 private:
    00134
    00135     // -----------------------------------------------------------------------
    00136     //  Unimplemented constructors and operators
    00137     // -----------------------------------------------------------------------
    00138     PSVIElement(const PSVIElement&);
    00139     PSVIElement & operator=(const PSVIElement &);
    00140
    00141
    00142     // -----------------------------------------------------------------------
    00143     //  data members
    00144     // -----------------------------------------------------------------------
    00145     // fElementDecl
    00146     //  element declaration component that validated this element
    00147     // fNotationDecl
    00148     //  (optional) notation decl associated with this element
    00149     // fSchemaInfo
    00150     //  Schema Information Item with which this validation episode is associated
    00151     XSElementDeclaration *fElementDecl;
    00152     XSNotationDeclaration *fNotationDecl;
    00153     XSModel *fSchemaInfo;
    00154 };
    00155
    00156 inline XSElementDeclaration *PSVIElement::getElementDeclaration()
    00157 {
    00158     return fElementDecl;
    00159 }
    00160
    00161 inline XSNotationDeclaration* PSVIElement::getNotationDeclaration()
    00162 {
    00163     return fNotationDecl;
    00164 }
    00165
    00166 inline XSModel* PSVIElement::getSchemaInformation()
    00167 {
    00168     return fSchemaInfo;
    00169 }
    00170
    00171 XERCES_CPP_NAMESPACE_END
    00172
    00173 #endif

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.