亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xmlgrammarpool.hpp

?? IBM的解析xml的工具Xerces的源代碼
?? HPP
字號:
/* * Copyright 1999-2004 The Apache Software Foundation. *  * Licensed 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. *//* * $Log: XMLGrammarPool.hpp,v $ * Revision 1.14  2004/09/29 19:27:07  cargilld * Fix for Jira-1217: fixing problems with getXSModel. * * Revision 1.13  2004/09/08 13:55:59  peiyongz * Apache License Version 2.0 * * Revision 1.12  2004/04/07 14:09:22  peiyongz * systemId (to replace rootElemName) as DTDGrammar Key * * Revision 1.11  2003/11/25 15:10:44  jberry * Eliminate some compiler warnings concerning comments inside of comments * * Revision 1.10  2003/11/21 22:34:45  neilg * More schema component model implementation, thanks to David Cargill. * In particular, this cleans up and completes the XSModel, XSNamespaceItem, * XSAttributeDeclaration and XSAttributeGroup implementations. * * Revision 1.9  2003/11/06 21:53:52  neilg * update grammar pool interface so that cacheGrammar(Grammar) can tell the caller whether the grammar was accepted.  Also fix some documentation errors. * * Revision 1.8  2003/11/06 15:30:06  neilg * 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. * * Revision 1.7  2003/11/05 18:19:09  peiyongz * Documentation update * * Revision 1.6  2003/10/29 16:16:48  peiyongz * GrammarPool' serialization/deserialization support * * Revision 1.5  2003/10/10 18:36:03  neilg * update XMLGrammarPool interface to make expected behaviour of locked pools better specified, and to add the capability to generate XSModels * * Revision 1.4  2003/09/16 18:30:54  neilg * make Grammar pool be responsible for creating and owning URI string pools.  This is one more step towards having grammars be independent of the parsers involved in their creation * * Revision 1.3  2003/09/02 08:59:02  gareth * Added API to get enumerator of grammars. * * Revision 1.2  2003/07/31 17:02:42  peiyongz * Grammar embed GrammarDescription * * Revision 1.1  2003/06/20 18:37:39  peiyongz * Stateless Grammar Pool :: Part I * * $Id: XMLGrammarPool.hpp,v 1.14 2004/09/29 19:27:07 cargilld Exp $ * */#if !defined(XMLGRAMMARPOOL_HPP)#define XMLGRAMMARPOOL_HPP#include <xercesc/util/PlatformUtils.hpp>#include <xercesc/util/RefHashTableOf.hpp>#include <xercesc/util/XMemory.hpp>#include <xercesc/framework/psvi/XSModel.hpp>XERCES_CPP_NAMESPACE_BEGINclass Grammar;class XMLGrammarDescription;class DTDGrammar;class SchemaGrammar;class XMLDTDDescription;class XMLSchemaDescription;class XMLStringPool;class BinInputStream;class BinOutputStream;class XMLPARSER_EXPORT XMLGrammarPool : public XMemory{public :    // -----------------------------------------------------------------------    /** @name Virtual destructor for derived classes */    // -----------------------------------------------------------------------    //@{    /**      * virtual destructor      *      */    virtual ~XMLGrammarPool(){};    //@}    // -----------------------------------------------------------------------    /** @name The Grammar Pool Interface */    // -----------------------------------------------------------------------    //@{    /**      * cacheGrammar      *      * Provide the grammar pool with an opportunity      * to cache the given grammar.  If the pool does not choose to do so,      * it should return false; otherwise, it should return true, so that      * the caller knows whether the grammar has been adopted.      *      * @param gramToCache: the Grammar to be cached in the grammar pool      * @return true if the grammar pool has elected to cache the grammar (in which case      * it is assumed to have adopted it); false if it does not cache it	  *      */    virtual bool           cacheGrammar(Grammar* const               gramToCache) = 0;        /**      * retrieveGrammar      *      * @param gramDesc: the Grammar Description used to search for grammar	  *                  cached in the grammar pool	  *      */    virtual Grammar*       retrieveGrammar(XMLGrammarDescription* const gramDesc) = 0;                /**      * orphanGrammar      *      * grammar removed from the grammar pool and owned by the caller      *      * @param nameSpaceKey: Key used to search for grammar in the grammar pool      * @return the grammar that was removed from the pool (0 if none)      */    virtual Grammar*       orphanGrammar(const XMLCh* const nameSpaceKey) = 0;      /**     * Get an enumeration of the cached Grammars in the Grammar pool     *     * @return enumeration of the cached Grammars in Grammar pool     */    virtual RefHashTableOfEnumerator<Grammar> getGrammarEnumerator() const = 0;    /**      * clear      *      * all grammars are removed from the grammar pool and deleted.      * @return true if the grammar pool was cleared. false if it did not.      */    virtual bool           clear() = 0;            /**      * lockPool      *	  * When this method is called by the application, the       * grammar pool should stop adding new grammars to the cache.      * This should result in the grammar pool being sharable      * among parsers operating in different threads.      *      */    virtual void           lockPool() = 0;        /**      * unlockPool      *	  * After this method has been called, the grammar pool implementation      * should return to its default behaviour when cacheGrammars(...) is called.      * One effect, depending on the underlying implementation, is that the grammar pool      * may no longer be thread-safe (even on read operations).      *      * For PSVI support any previous XSModel that was produced will be deleted.      */    virtual void           unlockPool() = 0;    //@}    // -----------------------------------------------------------------------    /** @name  Factory interface */    // -----------------------------------------------------------------------    //@{    /**      * createDTDGrammar      *      */    virtual DTDGrammar*            createDTDGrammar() = 0;    /**      * createSchemaGrammar      *      */    virtual SchemaGrammar*         createSchemaGrammar() = 0;                        /**      * createDTDDescription      *      */	    virtual XMLDTDDescription*     createDTDDescription(const XMLCh* const systemId) = 0;    /**      * createSchemaDescription      *      */		    virtual XMLSchemaDescription*  createSchemaDescription(const XMLCh* const targetNamespace) = 0;    //@}    // -----------------------------------------------------------------------    /** @name  schema component model support */    // -----------------------------------------------------------------------                                                            //@{    /***      * Return an XSModel derived from the components of all SchemaGrammars      * in the grammar pool.  If the pool is locked, this should      * be a thread-safe operation.  It should return null if and only if      * the pool is empty.      *      * Calling getXSModel() on an unlocked grammar pool may result in the      * creation of a new XSModel with the old XSModel being deleted.  The      * function will return a different address for the XSModel if it has      * changed.      *       * @deprecated (shouldn't use address to determine if XSModel changed)      */    virtual XSModel *getXSModel() = 0;    /***      * Return an XSModel derived from the components of all SchemaGrammars      * in the grammar pool.  If the pool is locked, this should      * be a thread-safe operation.      *      * NOTE: The function should NEVER return NULL.  If there are no grammars in      *       the pool it should return an XSModel containing the Schema for Schema.            *      * Calling getXSModel() on an unlocked grammar pool may result in the      * creation of a new XSModel with the old XSModel being deleted.      * The bool parameter will indicate if the XSModel was changed.      *           * For source code compatibility, default implementation is to say      * XSModelWasChanged.      */    virtual XSModel *getXSModel(bool& XSModelWasChanged)    {        XSModelWasChanged = true;        return getXSModel();    }	    // @}    // -----------------------------------------------------------------------    /** @name  Getter */    // -----------------------------------------------------------------------                                                            //@{    /**      * getMemoryManager      *      */    	inline MemoryManager* const    getMemoryManager()    {        return fMemMgr;    }    /**      * Return an XMLStringPool for use by validation routines.        * Implementations should not create a string pool on each call to this      * method, but should maintain one string pool for all grammars      * for which this pool is responsible.      */    virtual XMLStringPool *getURIStringPool() = 0;    //@}    // -----------------------------------------------------------------------    /** serialization and deserialization support */    // -----------------------------------------------------------------------                                                            /***      *      * 1. Context: Serialize/Deserialize All Grammars In One Session      *      *    Since it is common that a declaration in one grammar may reference       *    to definitions in other grammars, it is required to serialize those       *    related (or interdependent) grammars in to one persistent data store       *    in one serialization session (storing), and deserialize them from the      *    persistent data store in one deserialization session (loading) back      *    to the grammar pool.          *      * 2. Multiple serializations      *      *    It is acceptable that client application requests more than one       *    grammar serialization on a particular grammar pool, to track the       *    different grammars cached, or for whatever reasons that client       *    application is interested in.       *      * 3. Multiple deserializations      *       *    Request for grammar deserialization either after the grammar pool has       *    its own cached grammars, or request for more than one grammar       *    deserialization, may cause undesired and unpredictable consequence      *    and therefore client application shall be aware that individual       *    implementationis may NOT support this.      *      *    However it is strongly recommended that the client application requests       *    no more than one grammar deserialization even a particular implementation      *    may allow multiple deserializations.      *      * 4. Locking      *      *    Both serialization and deserialization requires to lock the grammar pool      *    before operation and unlock after operation. In the case the grammar pool      *    is locked by a third party, the request for serialization/deserialization      *    will NOT be entertained.      *      * 5. Versioning      *      *    The Persistent data store has a version tag to be verified during       *    deserialization, thus a grammar pool may decide if it supports      *    a binary data created by a different release of Xerces.      *       * 6. Clean up      *      *    The client application shall be aware that in the event of an exception      *    thrown due to a corrupted data store during deserialization, implementation      *    may not be able to clean up all resources allocated, and therefore it is       *    client application's responsibility to clean up those unreleased resources.      *      *      */    virtual void     serializeGrammars(BinOutputStream* const)  = 0;     virtual void     deserializeGrammars(BinInputStream* const) = 0;       	   protected :    // -----------------------------------------------------------------------    /**  Hidden Constructors */    // -----------------------------------------------------------------------    //@{    XMLGrammarPool(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager)    :fMemMgr(memMgr)    {    };    //@}private :    // -----------------------------------------------------------------------    /** name  Unimplemented copy constructor and operator= */    // -----------------------------------------------------------------------    //@{    XMLGrammarPool(const XMLGrammarPool& );    XMLGrammarPool& operator=(const XMLGrammarPool& );    //@}    // -----------------------------------------------------------------------    //    // fMemMgr: plugged-in (or defaulted-in) memory manager    //          not owned     //          no reset after initialization    //    // -----------------------------------------------------------------------        MemoryManager* const  fMemMgr;};XERCES_CPP_NAMESPACE_END#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲高清一区二区| 成人免费高清在线| 国产精品天干天干在线综合| 国产精品久久久久久亚洲毛片 | 国产网红主播福利一区二区| 国产亚洲自拍一区| 天天影视色香欲综合网老头| 久久精品99久久久| www.亚洲精品| 欧美日本乱大交xxxxx| 欧美不卡一区二区三区四区| 国产精品灌醉下药二区| 一区二区三区视频在线观看| 日本免费新一区视频| 风间由美中文字幕在线看视频国产欧美| 成人精品视频一区| 成人免费视频免费观看| 欧美在线啊v一区| 欧美不卡一区二区三区| 国产精品美日韩| 亚洲黄色av一区| 精久久久久久久久久久| 在线看国产一区| 精品sm在线观看| 亚洲一区二区三区影院| voyeur盗摄精品| 欧美电视剧在线看免费| 日韩理论在线观看| 日韩国产欧美三级| 91久久一区二区| 国产午夜亚洲精品不卡| 天堂va蜜桃一区二区三区 | 粉嫩蜜臀av国产精品网站| 欧美视频一区二区三区在线观看| 国产亚洲欧美中文| 日日嗨av一区二区三区四区| 不卡的av电影在线观看| 日韩欧美在线123| 中文字幕在线播放不卡一区| 久久精品国产澳门| 99精品国产视频| 日韩一区二区免费在线观看| 一区二区三区在线观看视频| 国产a精品视频| 欧美性猛片aaaaaaa做受| 成人免费一区二区三区视频| 国产精品自在在线| 欧美成人三级电影在线| 亚洲精品高清在线| 99精品在线免费| 日本一区二区视频在线| 国产精品一区二区果冻传媒| 日韩精品一区在线观看| 日本亚洲最大的色成网站www| 欧美午夜一区二区三区| 国产欧美一区二区精品秋霞影院| 蜜臀久久99精品久久久久久9| 91精品蜜臀在线一区尤物| 国产精品麻豆网站| 色偷偷88欧美精品久久久| 中文av字幕一区| 狠狠色丁香九九婷婷综合五月| 欧美区在线观看| 一区二区三区不卡在线观看| 色综合天天狠狠| 亚洲欧美色图小说| 欧美日韩精品是欧美日韩精品| 午夜不卡av免费| 亚洲精品成人在线| 欧美aⅴ一区二区三区视频| 欧美在线不卡一区| 日本亚洲欧美天堂免费| 欧美videos中文字幕| 成人一区在线观看| 亚洲精品伦理在线| 欧美日韩成人在线一区| 日韩激情一二三区| 日韩免费一区二区三区在线播放| 亚洲妇女屁股眼交7| 欧美久久高跟鞋激| 久久99国产精品尤物| 国产精品女主播在线观看| 色偷偷一区二区三区| 青娱乐精品视频| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲精品久久久久久国产精华液| 色猫猫国产区一区二在线视频| 一卡二卡欧美日韩| 精品国产乱码久久久久久1区2区| 成人午夜在线播放| 亚洲成人综合视频| 国产欧美在线观看一区| 在线观看国产精品网站| 日本午夜一区二区| 精品久久久久久久久久久院品网 | 美女视频第一区二区三区免费观看网站| 日韩免费看网站| 成人精品gif动图一区| 亚洲一区二区三区美女| 久久久久久久久久久久久女国产乱| 99久久99久久免费精品蜜臀| 美女视频一区在线观看| 亚洲精品中文在线| 久久久五月婷婷| 欧美高清你懂得| av日韩在线网站| 久久成人久久爱| 国产精品视频麻豆| 色婷婷亚洲综合| 国内国产精品久久| 亚洲第一主播视频| 国产精品国产三级国产aⅴ无密码| 9191久久久久久久久久久| 色综合久久中文综合久久牛| 黄页视频在线91| 视频一区二区中文字幕| 亚洲天天做日日做天天谢日日欢| 精品日韩成人av| 欧美群妇大交群中文字幕| 色婷婷综合中文久久一本| 成人在线视频首页| 宅男在线国产精品| 色综合久久88色综合天天6| 国产福利一区二区三区视频在线 | 成人毛片视频在线观看| 久久成人久久鬼色| 日本成人在线电影网| 午夜精品久久久久久久99水蜜桃| 久久中文娱乐网| 在线电影一区二区三区| 在线一区二区观看| 91欧美激情一区二区三区成人| 成人免费视频视频| 丁香亚洲综合激情啪啪综合| 国产一区二区三区四| 蜜臀久久99精品久久久久久9| 视频在线观看91| 日韩精品久久理论片| 午夜成人免费视频| 日本aⅴ亚洲精品中文乱码| 日日夜夜精品视频免费| 午夜av区久久| 有坂深雪av一区二区精品| 精品久久国产字幕高潮| 久久综合色8888| 国产亚洲一二三区| 国产精品人人做人人爽人人添| 久久精品男人天堂av| 欧美国产精品专区| 亚洲欧洲av另类| 亚洲黄色尤物视频| 亚洲成av人**亚洲成av**| 亚洲精品ww久久久久久p站| 亚洲综合偷拍欧美一区色| 依依成人综合视频| 午夜精品免费在线| 九一九一国产精品| 国产不卡视频在线观看| av一区二区三区黑人| 91久久精品一区二区三区| 欧美久久久久久蜜桃| 日韩一级精品视频在线观看| 久久久蜜桃精品| 亚洲色图视频免费播放| 亚洲一线二线三线视频| 亚洲一线二线三线久久久| 国产综合久久久久久久久久久久| 成人开心网精品视频| 欧美在线视频不卡| 一区二区三区在线观看视频| 日本在线不卡一区| 丁香天五香天堂综合| 欧美性生活久久| 337p日本欧洲亚洲大胆色噜噜| 中文天堂在线一区| 日韩精彩视频在线观看| 久久99国产精品久久| 色综合久久久久网| 26uuu久久综合| 亚洲精品免费视频| 国产麻豆午夜三级精品| 色综合欧美在线| 26uuu久久天堂性欧美| 一区二区三区在线视频播放| 韩国av一区二区| 欧美伊人精品成人久久综合97 | 欧美性videosxxxxx| 欧美日韩日日摸| 日本一区免费视频| 天堂久久一区二区三区| 成人美女视频在线观看| 日韩一区二区中文字幕| 亚洲久本草在线中文字幕| 国产麻豆一精品一av一免费| 欧美日韩免费观看一区二区三区 | 欧美综合天天夜夜久久| 久久亚洲免费视频| 日韩精品视频网站| 色妞www精品视频| 国产精品久久777777|