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

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

?? domparser.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/* * Copyright 1999-2002,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. *//***  This file contains code to build the DOM tree. It registers a document*  handler with the scanner. In these handler methods, appropriate DOM nodes*  are created and added to the DOM tree.** $Id: DOMParser.cpp,v 1.33 2004/09/08 13:55:42 peiyongz Exp $**/// ---------------------------------------------------------------------------//  Includes// ---------------------------------------------------------------------------#include <xercesc/internal/XMLScannerResolver.hpp>#include <xercesc/sax/EntityResolver.hpp>#include <xercesc/util/XMLUniDefs.hpp>#include <xercesc/sax/ErrorHandler.hpp>#include <xercesc/sax/SAXParseException.hpp>#include <xercesc/framework/XMLNotationDecl.hpp>#include <xercesc/util/IOException.hpp>#include <xercesc/framework/XMLValidator.hpp>#include <xercesc/validators/common/GrammarResolver.hpp>#include <xercesc/framework/XMLGrammarPool.hpp>#include <xercesc/framework/XMLSchemaDescription.hpp>#include <xercesc/util/Janitor.hpp>#include "DOMParser.hpp"#include "ElementImpl.hpp"#include "AttrImpl.hpp"#include "AttrNSImpl.hpp"#include "TextImpl.hpp"#include "DocumentImpl.hpp"#include "DocumentTypeImpl.hpp"#include "EntityImpl.hpp"#include "NotationImpl.hpp"#include "NamedNodeMapImpl.hpp"#include "NodeIDMap.hpp"#include <xercesc/validators/common/ContentSpecNode.hpp>#include <xercesc/validators/DTD/DTDAttDefList.hpp>#include <xercesc/util/OutOfMemoryException.hpp>#include <xercesc/util/XMLEntityResolver.hpp>XERCES_CPP_NAMESPACE_BEGIN// ---------------------------------------------------------------------------//  DOMParser: Constructors and Destructor// ---------------------------------------------------------------------------DOMParser::DOMParser( XMLValidator* const   valToAdopt                    , MemoryManager* const  manager                    , XMLGrammarPool* const gramPool) :    fToCreateXMLDeclTypeNode(false)    , fCreateEntityReferenceNodes(true)    , fIncludeIgnorableWhitespace(true)    , fParseInProgress(false)    , fWithinElement(false)    , fEntityResolver(0)    , fXMLEntityResolver(0)    , fErrorHandler(0)    , fPSVIHandler(0)    , fNodeStack(0)    , fScanner(0)    , fDocumentType(0)    , fGrammarResolver(0)    , fURIStringPool(0)    , fValidator(valToAdopt)    , fMemoryManager(manager)    , fGrammarPool(gramPool){    try    {        initialize();    }    catch(const OutOfMemoryException&)    {        throw;    }    catch(...)    {        cleanUp();        throw;    }}DOMParser::~DOMParser(){    cleanUp();}// ---------------------------------------------------------------------------//  DOMParser: Initialize/CleanUp methods// ---------------------------------------------------------------------------void DOMParser::initialize(){    // Create grammar resolver and URI string pool to pass to the scanner    fGrammarResolver = new (fMemoryManager) GrammarResolver(fGrammarPool, fMemoryManager);    fURIStringPool = fGrammarResolver->getStringPool();    //  Create a scanner and tell it what validator to use. Then set us    //  as the document event handler so we can fill the DOM document.    fScanner = XMLScannerResolver::getDefaultScanner(fValidator, fGrammarResolver, fMemoryManager);    fScanner->setDocHandler(this);    fScanner->setDocTypeHandler(this);    fScanner->setURIStringPool(fURIStringPool);    fNodeStack = new (fMemoryManager) ValueStackOf<DOM_Node>(64, fMemoryManager, true);    this->reset();}void DOMParser::cleanUp(){    delete fNodeStack;    delete fScanner;    delete fGrammarResolver;    // grammar pool must do this    //delete fURIStringPool;    if (fValidator)        delete fValidator;}void DOMParser::reset(){    //    //  Note: DOM Documents are reference counted. Doing this assignment    //  will cause the old one to go away unless application code is also    //  holding a reference to it.    //    fDocument = DOM_Document::createDocument(fMemoryManager);    resetDocType();    fCurrentParent   = 0;    fCurrentNode     = 0;    fParseInProgress = false;    fWithinElement   = false;    fNodeStack->removeAllElements();};// ---------------------------------------------------------------------------//  DOMParser: Getter methods// ---------------------------------------------------------------------------const XMLValidator& DOMParser::getValidator() const{    return *fScanner->getValidator();}bool DOMParser::getDoNamespaces() const{    return fScanner->getDoNamespaces();}bool DOMParser::getExitOnFirstFatalError() const{    return fScanner->getExitOnFirstFatal();}bool DOMParser::getValidationConstraintFatal() const{    return fScanner->getValidationConstraintFatal();}DOMParser::ValSchemes DOMParser::getValidationScheme() const{    const XMLScanner::ValSchemes scheme = fScanner->getValidationScheme();    if (scheme == XMLScanner::Val_Always)        return Val_Always;    else if (scheme == XMLScanner::Val_Never)        return Val_Never;    return Val_Auto;}bool DOMParser::getDoSchema() const{    return fScanner->getDoSchema();}bool DOMParser::getValidationSchemaFullChecking() const{    return fScanner->getValidationSchemaFullChecking();}bool DOMParser::getIdentityConstraintChecking() const{    return fScanner->getIdentityConstraintChecking();}int DOMParser::getErrorCount() const{    return fScanner->getErrorCount();}XMLCh* DOMParser::getExternalSchemaLocation() const{    return fScanner->getExternalSchemaLocation();}XMLCh* DOMParser::getExternalNoNamespaceSchemaLocation() const{    return fScanner->getExternalNoNamespaceSchemaLocation();}bool DOMParser::isCachingGrammarFromParse() const{    return fScanner->isCachingGrammarFromParse();}bool DOMParser::isUsingCachedGrammarInParse() const{    return fScanner->isUsingCachedGrammarInParse();}Grammar* DOMParser::getGrammar(const XMLCh* const nameSpaceKey){    return fGrammarResolver->getGrammar(nameSpaceKey);}Grammar* DOMParser::getRootGrammar(){    return fScanner->getRootGrammar();}const XMLCh* DOMParser::getURIText(unsigned int uriId) const{    return fScanner->getURIText(uriId);}bool DOMParser::getCalculateSrcOfs() const{    return fScanner->getCalculateSrcOfs();}bool DOMParser::getStandardUriConformant() const{    return fScanner->getStandardUriConformant();}unsigned int DOMParser::getSrcOffset() const{    return fScanner->getSrcOffset();}// ---------------------------------------------------------------------------//  DOMParser: Setter methods// ---------------------------------------------------------------------------void DOMParser::setDoNamespaces(const bool newState){    fScanner->setDoNamespaces(newState);}void DOMParser::setErrorHandler(ErrorHandler* const handler){    fErrorHandler = handler;    if (fErrorHandler) {        fScanner->setErrorReporter(this);        fScanner->setErrorHandler(fErrorHandler);    }    else {        fScanner->setErrorReporter(0);        fScanner->setErrorHandler(0);    }}void DOMParser::setPSVIHandler(PSVIHandler* const handler){    fPSVIHandler = handler;    if (fPSVIHandler) {        fScanner->setPSVIHandler(fPSVIHandler);            }    else {        fScanner->setPSVIHandler(0);           }}void DOMParser::setEntityResolver(EntityResolver* const handler){    fEntityResolver = handler;    if (fEntityResolver) {        fScanner->setEntityHandler(this);        fXMLEntityResolver = 0;    }    else {        fScanner->setEntityHandler(0);    }}void DOMParser::setXMLEntityResolver(XMLEntityResolver* const handler){    fXMLEntityResolver = handler;    if (fXMLEntityResolver) {        fEntityResolver = 0;        fScanner->setEntityHandler(this);    }    else {        fScanner->setEntityHandler(0);    }}void DOMParser::setExitOnFirstFatalError(const bool newState){    fScanner->setExitOnFirstFatal(newState);}void DOMParser::setValidationConstraintFatal(const bool newState){    fScanner->setValidationConstraintFatal(newState);}void DOMParser::setValidationScheme(const ValSchemes newScheme){    if (newScheme == Val_Never)        fScanner->setValidationScheme(XMLScanner::Val_Never);    else if (newScheme == Val_Always)        fScanner->setValidationScheme(XMLScanner::Val_Always);    else        fScanner->setValidationScheme(XMLScanner::Val_Auto);}void DOMParser::setDoSchema(const bool newState){    fScanner->setDoSchema(newState);}void DOMParser::setValidationSchemaFullChecking(const bool schemaFullChecking){    fScanner->setValidationSchemaFullChecking(schemaFullChecking);}void DOMParser::setIdentityConstraintChecking(const bool identityConstraintChecking){    fScanner->setIdentityConstraintChecking(identityConstraintChecking);}void DOMParser::setExternalSchemaLocation(const XMLCh* const schemaLocation){    fScanner->setExternalSchemaLocation(schemaLocation);}void DOMParser::setExternalNoNamespaceSchemaLocation(const XMLCh* const noNamespaceSchemaLocation){    fScanner->setExternalNoNamespaceSchemaLocation(noNamespaceSchemaLocation);}void DOMParser::setExternalSchemaLocation(const char* const schemaLocation){    fScanner->setExternalSchemaLocation(schemaLocation);}void DOMParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation){    fScanner->setExternalNoNamespaceSchemaLocation(noNamespaceSchemaLocation);}void DOMParser::cacheGrammarFromParse(const bool newState){    fScanner->cacheGrammarFromParse(newState);    if (newState)        fScanner->useCachedGrammarInParse(newState);}void DOMParser::useCachedGrammarInParse(const bool newState){    if (newState || !fScanner->isCachingGrammarFromParse())        fScanner->useCachedGrammarInParse(newState);}void DOMParser::setCalculateSrcOfs(const bool newState){    fScanner->setCalculateSrcOfs(newState);}void DOMParser::setStandardUriConformant(const bool newState){    fScanner->setStandardUriConformant(newState);}void DOMParser::useScanner(const XMLCh* const scannerName){    XMLScanner* tempScanner = XMLScannerResolver::resolveScanner    (        scannerName        , fValidator        , fGrammarResolver        , fMemoryManager    );    if (tempScanner) {        tempScanner->setParseSettings(fScanner);        tempScanner->setURIStringPool(fURIStringPool);        delete fScanner;        fScanner = tempScanner;    }}// ---------------------------------------------------------------------------//  DOMParser: Parsing methods// ---------------------------------------------------------------------------void DOMParser::parse(const InputSource& source){    // Avoid multiple entrance    if (fParseInProgress)        ThrowXMLwithMemMgr(IOException, XMLExcepts::Gen_ParseInProgress, fMemoryManager);    try    {        fParseInProgress = true;        fScanner->scanDocument(source);        fParseInProgress = false;    }    catch(const OutOfMemoryException&)    {        throw;    }    catch(...)    {        fParseInProgress = false;        throw;    }}void DOMParser::parse(const XMLCh* const systemId){    // Avoid multiple entrance    if (fParseInProgress)        ThrowXMLwithMemMgr(IOException, XMLExcepts::Gen_ParseInProgress, fMemoryManager);    try    {        fParseInProgress = true;        fScanner->scanDocument(systemId);        fParseInProgress = false;    }    catch(const OutOfMemoryException&)    {        throw;    }    catch(...)    {        fParseInProgress = false;        throw;    }}void DOMParser::parse(const char* const systemId){    // Avoid multiple entrance    if (fParseInProgress)        ThrowXMLwithMemMgr(IOException, XMLExcepts::Gen_ParseInProgress, fMemoryManager);    try    {        fParseInProgress = true;        fScanner->scanDocument(systemId);        fParseInProgress = false;    }    catch(const OutOfMemoryException&)    {        throw;    }    catch(...)    {        fParseInProgress = false;        throw;    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线观看一区二区| 色呦呦国产精品| 天天综合网天天综合色| 欧美午夜视频网站| 精品一区二区三区免费观看| 亚洲色图欧美偷拍| 国产色产综合产在线视频| 卡一卡二国产精品| 午夜精品视频在线观看| 欧美国产精品中文字幕| 91网站黄www| 国产乱码字幕精品高清av | 51精品秘密在线观看| 99久久婷婷国产综合精品 | 欧美亚洲精品一区| 福利电影一区二区| 不卡的看片网站| 一本高清dvd不卡在线观看 | 欧美大片在线观看一区| 在线播放中文一区| 欧美丰满一区二区免费视频| 91在线精品秘密一区二区| 99久久精品国产一区二区三区| 成人高清免费在线播放| 一本久道久久综合中文字幕| 美女网站色91| 成人av资源在线观看| 国产又粗又猛又爽又黄91精品| 精品无码三级在线观看视频| 成人免费观看av| 欧美在线小视频| 欧美电影免费观看高清完整版在线 | 韩国精品主播一区二区在线观看| 久久99精品国产麻豆婷婷洗澡| 成人精品视频一区二区三区| 欧美亚洲一区二区在线| 精品欧美乱码久久久久久 | 日韩一区精品字幕| 一区二区三区精品视频| 国精产品一区一区三区mba视频| 国产福利一区在线| 欧美吞精做爰啪啪高潮| 91麻豆精品国产| 春色校园综合激情亚洲| 欧美精品色一区二区三区| 亚洲裸体在线观看| 欧美性大战xxxxx久久久| 中文字幕电影一区| 欧美久久久久久久久久| 日韩伦理免费电影| 欧美成人女星排名| 91麻豆精品在线观看| 国产一区二区在线免费观看| 亚洲美女区一区| 中文欧美字幕免费| 在线成人免费观看| 91视频在线观看免费| 国产乱码精品一品二品| 五月天国产精品| 亚洲国产人成综合网站| 中文字幕一区二区三区四区不卡 | 欧美成人vps| 欧美久久婷婷综合色| 欧美午夜精品久久久久久孕妇 | 国产欧美一区二区三区鸳鸯浴| 欧美剧情片在线观看| 欧洲国内综合视频| 91电影在线观看| 欧美午夜精品一区二区蜜桃| 91小视频免费观看| 99re热这里只有精品免费视频| 国产伦精品一区二区三区免费| 精品一区二区免费在线观看| 日韩精品免费视频人成| 国内久久精品视频| av激情综合网| 欧美视频一区在线观看| 欧美少妇性性性| www久久久久| 亚洲国产综合色| 国产永久精品大片wwwapp| 国产成人av一区二区三区在线| 成人激情视频网站| 7777精品伊人久久久大香线蕉最新版| wwwwww.欧美系列| 亚洲无人区一区| 国产精品18久久久久久vr| 色天使色偷偷av一区二区| 精品国产不卡一区二区三区| 亚洲欧美另类小说| 激情av综合网| 欧美一区二区精品久久911| 一区二区在线观看免费| 国产一区二区精品在线观看| 在线观看欧美精品| 亚洲欧洲日产国码二区| 国产乱国产乱300精品| 91精品国产麻豆国产自产在线| 国产精品家庭影院| 国产99久久久久| 久久免费电影网| 国产一区二区三区电影在线观看| 欧美一区二区视频在线观看2022| 亚洲免费三区一区二区| 97成人超碰视| 亚洲国产视频在线| 欧美日韩精品欧美日韩精品| 国产精品福利一区| 欧美三级中文字幕在线观看| 一区二区国产视频| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品久久久久三级| 风间由美性色一区二区三区| 国产精品久久一卡二卡| 欧美日韩国产影片| 美脚の诱脚舐め脚责91| 国产亚洲综合av| 91视频91自| 国产精品小仙女| 亚洲人成精品久久久久| 欧美一区二区三区啪啪| 国产精品18久久久久久久久| 亚洲卡通动漫在线| 国产免费成人在线视频| 欧洲精品一区二区三区在线观看| 国产在线精品不卡| 亚洲午夜久久久久中文字幕久| 国产欧美精品一区二区色综合朱莉 | 精品区一区二区| 欧美视频中文一区二区三区在线观看| 免费成人你懂的| 日韩毛片一二三区| 国产精品每日更新在线播放网址| 欧美日韩精品福利| 欧美性猛交xxxxxx富婆| www.视频一区| 成人综合在线观看| 国产一区二区三区四区在线观看 | thepron国产精品| 日本麻豆一区二区三区视频| 亚洲.国产.中文慕字在线| 17c精品麻豆一区二区免费| 国产日韩影视精品| 欧美国产禁国产网站cc| 国产精品乱码人人做人人爱| 中文字幕中文在线不卡住| 中文字幕一区二区在线观看| 国产欧美日本一区视频| 一区免费观看视频| 亚洲乱码中文字幕| 婷婷中文字幕综合| 捆绑变态av一区二区三区| 狠狠色综合日日| 91麻豆蜜桃一区二区三区| 欧美色综合网站| 国产日韩欧美精品电影三级在线| 成人欧美一区二区三区1314| 亚洲高清不卡在线观看| 蜜臀av国产精品久久久久| 成人一级视频在线观看| 欧美亚一区二区| 国产区在线观看成人精品| 一区二区三区欧美日韩| 国产乱码精品一区二区三区忘忧草| 不卡av在线网| www久久精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 不卡av免费在线观看| 欧美伦理影视网| 亚洲精品国产一区二区精华液| 久久av中文字幕片| 91精品国产综合久久久久久久久久| 国产欧美日韩精品在线| 国内精品不卡在线| 精品欧美一区二区在线观看| 国产在线乱码一区二区三区| 国产精品久久久久久户外露出 | 亚洲乱码国产乱码精品精98午夜| 亚洲色图.com| 国产精品资源在线看| 免费成人小视频| 制服丝袜亚洲网站| 樱花草国产18久久久久| 91在线一区二区| 欧美激情在线一区二区| 久久丁香综合五月国产三级网站| 国产精品1区二区.| 在线一区二区观看| 亚洲影视资源网| 日韩欧美国产不卡| 日韩avvvv在线播放| 国产亚洲短视频| 91黄色免费看| 精品在线观看视频| 久久综合色8888| 色狠狠av一区二区三区| 免费成人结看片| 亚洲人成在线播放网站岛国| 91在线你懂得| 国产精品99久久久久久久女警 |