⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xssimpletypedefinition.hpp

📁 经典开源游戏glest的源代码
💻 HPP
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: XSSimpleTypeDefinition.hpp 568078 2007-08-21 11:43:25Z amassari $ */#if !defined(XSSIMPLETYPEDEFINITION_HPP)#define XSSIMPLETYPEDEFINITION_HPP#include <xercesc/framework/psvi/XSTypeDefinition.hpp>XERCES_CPP_NAMESPACE_BEGIN/** * This class represents a simpleType definition * schema component. * This is *always* owned by the validator /parser object from which * it is obtained.   * */// forward declarationsclass XSAnnotation;class XSFacet;class XSMultiValueFacet;class DatatypeValidator;class XMLPARSER_EXPORT XSSimpleTypeDefinition : public XSTypeDefinition{public:    // Variety definitions    enum VARIETY {	    /**	     * The variety is absent for the anySimpleType definition.	     */	    VARIETY_ABSENT            = 0,	    /**	     * <code>Atomic</code> type.	     */	    VARIETY_ATOMIC            = 1,	    /**	     * <code>List</code> type.	     */	    VARIETY_LIST              = 2,	    /**	     * <code>Union</code> type.	     */	    VARIETY_UNION             = 3    };    // Facets    enum FACET {	    /**	     * No facets defined.	     */	    FACET_NONE                = 0,	    /**	     * 4.3.1 Length	     */	    FACET_LENGTH              = 1,	    /**	     * 4.3.2 minLength. 	     */	    FACET_MINLENGTH           = 2,	    /**	     * 4.3.3 maxLength.	     */	    FACET_MAXLENGTH           = 4,	    /**	     * 4.3.4 pattern.	     */	    FACET_PATTERN             = 8,	    /**	     * 4.3.5 whitespace.	     */	    FACET_WHITESPACE          = 16,	    /**	     * 4.3.7 maxInclusive.	     */	    FACET_MAXINCLUSIVE        = 32,	    /**	     * 4.3.9 maxExclusive.	     */	    FACET_MAXEXCLUSIVE        = 64,	    /**	     * 4.3.9 minExclusive.	     */	    FACET_MINEXCLUSIVE        = 128,	    /**	     * 4.3.10 minInclusive.	     */	    FACET_MININCLUSIVE        = 256,	    /**	     * 4.3.11 totalDigits .	     */	    FACET_TOTALDIGITS         = 512,	    /**	     * 4.3.12 fractionDigits.	     */	    FACET_FRACTIONDIGITS      = 1024,	    /**	     * 4.3.5 enumeration.	     */	    FACET_ENUMERATION         = 2048    };    // possible order relations    enum ORDERING {	    /**	     * A constant defined for the 'ordered' fundamental facet: Not ordered.	     */	    ORDERED_FALSE             = 0,	    /**	     * A constant defined for the 'ordered' fundamental facet: partially 	     * ordered.	     */	    ORDERED_PARTIAL           = 1,	    /**	     * A constant defined for the 'ordered' fundamental facet: total ordered.	     */        ORDERED_TOTAL             = 2    };	//  Constructors and Destructor    // -----------------------------------------------------------------------    /** @name Constructors */    //@{    /**      * The default constructor       *      * @param  datatypeValidator      * @param  stVariety      * @param  xsBaseType      * @param  primitiveOrItemType      * @param  memberTypes      * @param  headAnnot      * @param  xsModel      * @param  manager     The configurable memory manager      */    XSSimpleTypeDefinition    (        DatatypeValidator* const            datatypeValidator        , VARIETY                           stVariety        , XSTypeDefinition* const           xsBaseType        , XSSimpleTypeDefinition* const     primitiveOrItemType        , XSSimpleTypeDefinitionList* const memberTypes        , XSAnnotation*                     headAnnot        , XSModel* const                    xsModel        , MemoryManager* const              manager = XMLPlatformUtils::fgMemoryManager    );    //@};    /** @name Destructor */    //@{    ~XSSimpleTypeDefinition();    //@}    //---------------------    /** @name XSSimpleTypeDefinition methods */    //@{    /**     * [variety]: one of {atomic, list, union} or absent      */    VARIETY getVariety() const;    /**     * If variety is <code>atomic</code> the primitive type definition (a      * built-in primitive datatype definition or the simple ur-type      * definition) is available, otherwise <code>null</code>.      */    XSSimpleTypeDefinition *getPrimitiveType();    /**     * If variety is <code>list</code> the item type definition (an atomic or      * union simple type definition) is available, otherwise      * <code>null</code>.      */    XSSimpleTypeDefinition *getItemType();    /**     * If variety is <code>union</code> the list of member type definitions (a      * non-empty sequence of simple type definitions) is available,      * otherwise <code>null</code>.      */    XSSimpleTypeDefinitionList *getMemberTypes() const;    /**     * [facets]: get all facets defined on this type. The value is a bit      * combination of FACET_XXX constants of all defined facets.      */    int getDefinedFacets() const;    /**     * Convenience method. [Facets]: check whether a facet is defined on this      * type.     * @param facetName  The name of the facet.      * @return  True if the facet is defined, false otherwise.     */    bool isDefinedFacet(FACET facetName);    /**     * [facets]: get all facets defined and fixed on this type.     */    int getFixedFacets() const;    /**     * Convenience method. [Facets]: check whether a facet is defined and      * fixed on this type.      * @param facetName  The name of the facet.      * @return  True if the facet is fixed, false otherwise.     */    bool isFixedFacet(FACET facetName);    /**     * Convenience method. Returns a value of a single constraining facet for      * this simple type definition. This method must not be used to retrieve      * values for <code>enumeration</code> and <code>pattern</code> facets.      * @param facetName The name of the facet, i.e.      *   <code>FACET_LENGTH, FACET_TOTALDIGITS </code> (see      *   <code>XSConstants</code>).To retrieve value for pattern or      *   enumeration, see <code>enumeration</code> and <code>pattern</code>.     * @return A value of the facet specified in <code>facetName</code> for      *   this simple type definition or <code>null</code>.      */    const XMLCh *getLexicalFacetValue(FACET facetName);    /**     * Returns a list of enumeration values.      */    StringList *getLexicalEnumeration();    /**     * Returns a list of pattern values.      */    StringList *getLexicalPattern();    /**     *  Fundamental Facet: ordered      */    ORDERING getOrdered() const;    /**     * Fundamental Facet: cardinality.      */    bool getFinite() const;    /**     * Fundamental Facet: bounded.      */    bool getBounded() const;    /**     * Fundamental Facet: numeric.      */    bool getNumeric() const;    /**     * Optional. A set of [annotation]s.      */    XSAnnotationList *getAnnotations();    /**      * @return list of constraining facets.     * This method must not be used to retrieve      * values for <code>enumeration</code> and <code>pattern</code> facets.     */    XSFacetList *getFacets();        /**      * @return list of enumeration and pattern facets.     */    XSMultiValueFacetList *getMultiValueFacets();        /**     * The name of type <code>NCName</code> of this declaration as defined in      * XML Namespaces.     */    const XMLCh* getName();    /**     *  The [target namespace] of this object, or <code>null</code> if it is      * unspecified.      */    const XMLCh* getNamespace();    /**     * A namespace schema information item corresponding to the target      * namespace of the component, if it's globally declared; or null      * otherwise.     */    XSNamespaceItem *getNamespaceItem();    /**     *  A boolean that specifies if the type definition is      * anonymous. Convenience attribute.      */    bool getAnonymous() const;    /**     * {base type definition}: either a simple type definition or a complex      * type definition.      */    XSTypeDefinition *getBaseType();    /**     * Convenience method: check if this type is derived from the given      * <code>ancestorType</code>.      * @param ancestorType  An ancestor type definition.      * @return  Return true if this type is derived from      *   <code>ancestorType</code>.     */    bool derivedFromType(const XSTypeDefinition* const ancestorType);    /**     *      */    inline DatatypeValidator* getDatatypeValidator() const;    //@}    //----------------------------------    /** methods needed by implementation */    //@{    //@}private:    // -----------------------------------------------------------------------    //  Unimplemented constructors and operators    // -----------------------------------------------------------------------    XSSimpleTypeDefinition(const XSSimpleTypeDefinition&);    XSSimpleTypeDefinition & operator=(const XSSimpleTypeDefinition &);    /**      * Helper method for construct      */    void setFacetInfo    (        int                            definedFacets        , int                          fixedFacets        , XSFacetList* const           xsFacetList        , XSMultiValueFacetList* const xsMultiValueFacetList        , StringList* const            patternList    );    void setPrimitiveType(XSSimpleTypeDefinition*  const toSet);    friend class XSObjectFactory;protected:    // -----------------------------------------------------------------------    //  data members    // -----------------------------------------------------------------------    int                         fDefinedFacets;    int                         fFixedFacets;    VARIETY                     fVariety;    DatatypeValidator*          fDatatypeValidator;    XSFacetList*                fXSFacetList;    XSMultiValueFacetList*      fXSMultiValueFacetList;    StringList*                 fPatternList;    XSSimpleTypeDefinition*     fPrimitiveOrItemType;    XSSimpleTypeDefinitionList* fMemberTypes;    XSAnnotationList*           fXSAnnotationList;};inline XSSimpleTypeDefinition::VARIETY XSSimpleTypeDefinition::getVariety() const{    return fVariety;}inline XSSimpleTypeDefinition* XSSimpleTypeDefinition::getPrimitiveType(){    if (fVariety == VARIETY_ATOMIC)        return fPrimitiveOrItemType;    return 0;}inline XSSimpleTypeDefinition* XSSimpleTypeDefinition::getItemType(){    if (fVariety == VARIETY_LIST)        return fPrimitiveOrItemType;    return 0;}inline XSSimpleTypeDefinitionList* XSSimpleTypeDefinition::getMemberTypes() const{    return fMemberTypes;}inline int XSSimpleTypeDefinition::getDefinedFacets() const{    return fDefinedFacets;}inline int XSSimpleTypeDefinition::getFixedFacets() const{    return fFixedFacets;}inline StringList* XSSimpleTypeDefinition::getLexicalPattern(){    return fPatternList;}inline XSFacetList* XSSimpleTypeDefinition::getFacets(){    return fXSFacetList;}inline XSMultiValueFacetList* XSSimpleTypeDefinition::getMultiValueFacets(){    return fXSMultiValueFacetList;}inline XSAnnotationList *XSSimpleTypeDefinition::getAnnotations(){    return fXSAnnotationList;}inline voidXSSimpleTypeDefinition::setPrimitiveType(XSSimpleTypeDefinition* const toSet){    fPrimitiveOrItemType = toSet;}inline DatatypeValidator* XSSimpleTypeDefinition::getDatatypeValidator() const{    return fDatatypeValidator;}XERCES_CPP_NAMESPACE_END#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -