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

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XSMultiValueFacet.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  * $Log: XSMultiValueFacet.hpp,v $
00019  * Revision 1.7  2004/09/08 13:56:09  peiyongz
00020  * Apache License Version 2.0
00021  *
00022  * Revision 1.6  2003/12/01 23:23:26  neilg
00023  * fix for bug 25118; thanks to Jeroen Witmond
00024  *
00025  * Revision 1.5  2003/11/21 17:34:04  knoaman
00026  * PSVI update
00027  *
00028  * Revision 1.4  2003/11/14 22:47:53  neilg
00029  * fix bogus log message from previous commit...
00030  *
00031  * Revision 1.3  2003/11/14 22:33:30  neilg
00032  * Second phase of schema component model implementation.  
00033  * Implement XSModel, XSNamespaceItem, and the plumbing necessary
00034  * to connect them to the other components.
00035  * Thanks to David Cargill.
00036  *
00037  * Revision 1.2  2003/11/06 15:30:04  neilg
00038  * first part of PSVI/schema component model implementation, thanks to David Cargill.  This covers setting the PSVIHandler on parser objects, as well as implementing XSNotation, XSSimpleTypeDefinition, XSIDCDefinition, and most of XSWildcard, XSComplexTypeDefinition, XSElementDeclaration, XSAttributeDeclaration and XSAttributeUse.
00039  *
00040  * Revision 1.1  2003/09/16 14:33:36  neilg
00041  * PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
00042  *
00043  */
00044 
00045 #if !defined(XSMULTIVALUEFACET_HPP)
00046 #define XSMULTIVALUEFACET_HPP
00047 
00048 #include <xercesc/framework/psvi/XSObject.hpp>
00049 #include <xercesc/framework/psvi/XSSimpleTypeDefinition.hpp>
00050 
00051 XERCES_CPP_NAMESPACE_BEGIN
00052 
00060 // forward declarations
00061 class XSAnnotation;
00062 
00063 class  XSMultiValueFacet : public XSObject
00064 {
00065 public:
00066 
00067     //  Constructors and Destructor
00068     // -----------------------------------------------------------------------
00071 
00082     XSMultiValueFacet
00083     (
00084         XSSimpleTypeDefinition::FACET facetKind
00085         , StringList*                 lexicalValues
00086         , bool                        isFixed
00087         , XSAnnotation* const         headAnnot
00088         , XSModel* const              xsModel
00089         , MemoryManager* const        manager = XMLPlatformUtils::fgMemoryManager
00090     );
00091 
00093 
00096     ~XSMultiValueFacet();
00098 
00099     //---------------------
00103 
00107     XSSimpleTypeDefinition::FACET getFacetKind() const;
00108 
00112     StringList *getLexicalFacetValues();   
00113 
00117     bool isFixed() const;
00118 
00122     XSAnnotationList *getAnnotations();
00123 
00125 
00126     //----------------------------------
00130 
00132 private:
00133 
00134     // -----------------------------------------------------------------------
00135     //  Unimplemented constructors and operators
00136     // -----------------------------------------------------------------------
00137     XSMultiValueFacet(const XSMultiValueFacet&);
00138     XSMultiValueFacet & operator=(const XSMultiValueFacet &);
00139 
00140 protected:
00141 
00142     // -----------------------------------------------------------------------
00143     //  data members
00144     // -----------------------------------------------------------------------
00145     XSSimpleTypeDefinition::FACET fFacetKind;
00146     bool                          fIsFixed;
00147     StringList*                   fLexicalValues;  // not owned by this class
00148     XSAnnotationList*             fXSAnnotationList;
00149 };
00150 
00151 
00152 inline XSSimpleTypeDefinition::FACET XSMultiValueFacet::getFacetKind() const
00153 {
00154     return fFacetKind;
00155 }
00156 
00157 inline bool XSMultiValueFacet::isFixed() const
00158 {
00159     return fIsFixed;
00160 }
00161 
00162 inline StringList *XSMultiValueFacet::getLexicalFacetValues()
00163 {
00164     return fLexicalValues; 
00165 }
00166 
00167 inline XSAnnotationList *XSMultiValueFacet::getAnnotations()
00168 {
00169     return fXSAnnotationList;
00170 }
00171 
00172 
00173 XERCES_CPP_NAMESPACE_END
00174 
00175 #endif


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