http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Charter
Release Info

Installation
Download
Build Instructions

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

API Docs for SAX and DOM
 

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.