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

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

?? namespacestrategy.cpp

?? This software aims to create an applet and panel tools to manage a wireless interface card, such as
?? CPP
字號:
//
// NamespaceStrategy.cpp
//
// $Id: //poco/Main/XML/src/NamespaceStrategy.cpp#5 $
//
// Copyright (c) 2004, Guenter Obiltschnig/Applied Informatics.
// All rights reserved.
// 
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
// 
// 3. Redistributions in any form must be accompanied by information on
//    how to obtain complete source code for this software and any
//    accompanying software that uses this software.  The source code
//    must either be included in the distribution or be available for no
//    more than the cost of distribution plus a nominal fee, and must be
//    freely redistributable under reasonable conditions.  For an
//    executable file, complete source code means the source code for all
//    modules it contains.  It does not include source code for modules or
//    files that typically accompany the major components of the operating
//    system on which the executable file runs.
// 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//


#include "XML/NamespaceStrategy.h"
#include "SAX/AttributesImpl.h"
#include "SAX/ContentHandler.h"
#include "XML/XMLException.h"
#include "XML/Name.h"


XML_BEGIN


const XMLString NamespaceStrategy::NOTHING;
const XMLString NamespaceStrategy::CDATA = toXMLString("CDATA");
const XMLString NamespaceStrategy::COLON = toXMLString(":");


NamespaceStrategy::~NamespaceStrategy()
{
}


void NamespaceStrategy::splitName(const XMLChar* qname, XMLString& uri, XMLString& localName)
{
	for (const XMLChar* p = qname; *p; ++p)
	{
		if (*p == '\t')
		{
			uri.assign(qname, p - qname);
			localName.assign(p + 1);
			return;
		}
	}
	localName = qname;
}


NoNamespacesStrategy::NoNamespacesStrategy()
{
}


NoNamespacesStrategy::~NoNamespacesStrategy()
{
}


void NoNamespacesStrategy::startElement(const XMLChar* name, const XMLChar** atts, int specifiedCount, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && atts && pContentHandler);

	AttributesImpl attributes;
	for (int i = 0; *atts; ++i)
	{
		const XMLChar* attrName  = *atts++;
		const XMLChar* attrValue = *atts++;
		attributes.addAttribute(NOTHING, NOTHING, attrName, CDATA, attrValue, i < specifiedCount);
	}
	pContentHandler->startElement(NOTHING, NOTHING, name, attributes);
}


void NoNamespacesStrategy::endElement(const XMLChar* name, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && pContentHandler);

	pContentHandler->endElement(NOTHING, NOTHING, name);
}


void NoNamespacesStrategy::startPrefixMapping(const XMLChar* prefix, const XMLChar* uri, ContentHandler* pContentHandler)
{
}


void NoNamespacesStrategy::endPrefixMapping(const XMLChar* prefix, ContentHandler* pContentHandler)
{
}


NoNamespacePrefixesStrategy::NoNamespacePrefixesStrategy()
{
}


NoNamespacePrefixesStrategy::~NoNamespacePrefixesStrategy()
{
}


void NoNamespacePrefixesStrategy::startElement(const XMLChar* name, const XMLChar** atts, int specifiedCount, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && atts && pContentHandler);

	AttributesImpl attributes;
	for (int i = 0; *atts; ++i)
	{
		const XMLChar* attrName  = *atts++;
		const XMLChar* attrValue = *atts++;
		XMLString attrURI;
		XMLString attrLocal;
		splitName(attrName, attrURI, attrLocal);
		attributes.addAttribute(attrURI, attrLocal, NOTHING, CDATA, attrValue, i < specifiedCount);
	}
	XMLString uri;
	XMLString local;
	splitName(name, uri, local);
	pContentHandler->startElement(uri, local, NOTHING, attributes);
}


void NoNamespacePrefixesStrategy::endElement(const XMLChar* name, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && pContentHandler);

	XMLString uri;
	XMLString local;
	splitName(name, uri, local);
	pContentHandler->endElement(uri, local, NOTHING);
}


void NoNamespacePrefixesStrategy::startPrefixMapping(const XMLChar* prefix, const XMLChar* uri, ContentHandler* pContentHandler)
{
	poco_assert_dbg (pContentHandler);

	pContentHandler->startPrefixMapping((prefix ? XMLString(prefix) : NOTHING), (uri ? XMLString(uri) : NOTHING));
}


void NoNamespacePrefixesStrategy::endPrefixMapping(const XMLChar* prefix, ContentHandler* pContentHandler)
{
	poco_assert_dbg (pContentHandler);

	pContentHandler->endPrefixMapping(prefix ? XMLString(prefix) : NOTHING);
}


const XMLString NamespacePrefixesStrategy::XMLNS = toXMLString("xmlns");


NamespacePrefixesStrategy::NamespacePrefixesStrategy()
{
}


NamespacePrefixesStrategy::~NamespacePrefixesStrategy()
{
}


void NamespacePrefixesStrategy::startElement(const XMLChar* name, const XMLChar** atts, int specifiedCount, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && atts && pContentHandler);

	_namespaces.pushContext();
	for (const XMLChar** p = atts; *p;)
	{
		XMLString qname = *p++;
		XMLString value = *p++;
		XMLString prefix;
		XMLString localName;
		XMLString namespaceURI;
		Name::split(qname, prefix, localName);
		if (localName == XMLNS)
			declarePrefix(NOTHING, value, pContentHandler);
		else if (prefix == XMLNS)
			declarePrefix(localName, value, pContentHandler);
	}
	AttributesImpl attributes;
	int i = 0;
	for (const XMLChar** p = atts; *p; ++i)
	{
		XMLString qname = *p++;
		XMLString value = *p++;
		XMLString localName;
		XMLString namespaceURI;
		if (!_namespaces.processName(qname, namespaceURI, localName, true))
			throw XMLException("Undeclared namespace prefix", qname);
		attributes.addAttribute(namespaceURI, localName, qname, CDATA, value, i < specifiedCount);
	}

	XMLString qname = name;
	XMLString namespaceURI;
	XMLString localName;
	if (!_namespaces.processName(qname, namespaceURI, localName, false))
		throw XMLException("Undeclared namespace prefix", qname);
	pContentHandler->startElement(namespaceURI, localName, qname, attributes); 
}


void NamespacePrefixesStrategy::endElement(const XMLChar* name, ContentHandler* pContentHandler)
{
	poco_assert_dbg (name && pContentHandler);

	XMLString qname = name;
	XMLString namespaceURI;
	XMLString localName;
	if (!_namespaces.processName(qname, namespaceURI, localName, false))
		throw XMLException("Undeclared namespace prefix", qname);
	pContentHandler->endElement(namespaceURI, localName, qname); 
	
	std::set<XMLString> prefixes;
	_namespaces.getDeclaredPrefixes(prefixes);
	for (std::set<XMLString>::const_iterator it = prefixes.begin(); it != prefixes.end(); ++it)
		pContentHandler->endPrefixMapping(*it);
	
	_namespaces.popContext();
}


void NamespacePrefixesStrategy::startPrefixMapping(const XMLChar* prefix, const XMLChar* uri, ContentHandler* pContentHandler)
{
}


void NamespacePrefixesStrategy::endPrefixMapping(const XMLChar* prefix, ContentHandler* pContentHandler)
{
}


void NamespacePrefixesStrategy::declarePrefix(const XMLString& prefix, const XMLString& namespaceURI, ContentHandler* pContentHandler)
{
	_namespaces.declarePrefix(prefix, namespaceURI);
	pContentHandler->startPrefixMapping(prefix, namespaceURI);
}


XML_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲同性同志一二三专区| 精品国产伦一区二区三区免费| 国产在线一区二区综合免费视频| 午夜视频在线观看一区二区三区| 一区二区三区精品| 一区二区三区四区国产精品| 亚洲视频一区二区在线| 亚洲精品视频一区| 亚洲自拍欧美精品| 天堂va蜜桃一区二区三区漫画版| 亚洲第一精品在线| 美女爽到高潮91| 秋霞av亚洲一区二区三| 久久精品国内一区二区三区| 久久99国产精品尤物| 成人中文字幕电影| 色婷婷综合久久久中文一区二区| 欧美亚洲自拍偷拍| 日韩精品资源二区在线| 久久久久国产精品厨房| 亚洲天天做日日做天天谢日日欢 | 蜜臀精品一区二区三区在线观看| 免费看日韩精品| 国产成人av影院| 欧美日韩视频在线观看一区二区三区| 欧美精品xxxxbbbb| 久久久久国产精品人| 亚洲欧美激情在线| 美女一区二区三区在线观看| 成人av网址在线观看| 欧美日韩日本视频| 国产日韩成人精品| 亚洲国产精品嫩草影院| 久久99久久久久| 91一区在线观看| 日韩欧美亚洲一区二区| 精品国内二区三区| 亚洲高清免费观看| 成人毛片在线观看| 欧美电视剧免费观看| 依依成人综合视频| 成人免费毛片aaaaa**| 欧美另类videos死尸| 国产精品久久久久9999吃药| 天天做天天摸天天爽国产一区 | 亚洲欧洲成人精品av97| 婷婷一区二区三区| 91丨九色丨蝌蚪富婆spa| 日韩欧美不卡一区| 午夜国产精品一区| 99精品国产视频| 久久久不卡网国产精品一区| 婷婷久久综合九色综合伊人色| av电影一区二区| 国产亚洲1区2区3区| 日韩成人一级大片| 欧美日韩成人激情| 一区二区三区四区不卡在线| 东方aⅴ免费观看久久av| 精品国产亚洲在线| 看电视剧不卡顿的网站| 337p亚洲精品色噜噜噜| 午夜亚洲国产au精品一区二区| 91美女视频网站| 亚洲青青青在线视频| 成人国产免费视频| 中文字幕欧美激情| 国产99久久久久| 国产精品久久看| 成人手机电影网| 亚洲国产精品99久久久久久久久| 美女视频黄a大片欧美| 91精品久久久久久久91蜜桃| 亚洲成在人线在线播放| 欧美图区在线视频| 亚洲电影欧美电影有声小说| 欧美在线综合视频| 五月天婷婷综合| 91精品国产综合久久久久久久久久 | 国产高清无密码一区二区三区| 久久综合五月天婷婷伊人| 国产一区二区主播在线| 久久久一区二区| 成人av在线看| 一区二区三区**美女毛片| 91福利在线观看| 免费在线成人网| 久久久久久久久久久99999| 韩国女主播一区| 国产精品沙发午睡系列990531| 国产91精品入口| 一区二区高清免费观看影视大全 | 国产伦精品一区二区三区视频青涩| 日韩欧美一区二区久久婷婷| 国产精品一品二品| 亚洲精品国产精华液| 欧美日韩精品电影| 精品在线观看免费| 自拍偷拍国产精品| 欧美三级一区二区| 狠狠色综合播放一区二区| 国产精品视频一二| 欧美日韩视频第一区| 久久av资源站| |精品福利一区二区三区| 69堂亚洲精品首页| 成人精品gif动图一区| 一级日本不卡的影视| 欧美tickling挠脚心丨vk| www.日韩av| 久久9热精品视频| 亚洲最大色网站| 精品乱码亚洲一区二区不卡| 91免费视频网| 国内外成人在线| 亚洲成年人影院| 日韩一区二区中文字幕| 亚洲一区视频在线| 制服丝袜亚洲播放| 成人国产电影网| 日韩vs国产vs欧美| 一区二区三区小说| 国产精品视频看| 精品国产自在久精品国产| 色av一区二区| 成人免费看视频| 国产福利精品导航| 美女视频网站黄色亚洲| 亚洲成国产人片在线观看| 国产精品理论片| 久久婷婷国产综合精品青草| 欧美色图免费看| 91视频免费播放| 国产福利一区在线| 韩国一区二区视频| 久久国产欧美日韩精品| 亚洲第一在线综合网站| 自拍偷拍亚洲欧美日韩| 国产精品乱码一区二区三区软件| 久久综合给合久久狠狠狠97色69| 欧美巨大另类极品videosbest | 国产成人三级在线观看| 激情综合五月天| 蜜臀av性久久久久av蜜臀妖精| 亚洲亚洲精品在线观看| 亚洲亚洲精品在线观看| 夜夜精品视频一区二区| 亚洲欧美日本在线| 亚洲美女在线一区| 一区二区三区日韩欧美精品| 亚洲视频免费在线观看| 亚洲欧美二区三区| 亚洲三级久久久| 一区二区三区四区五区视频在线观看| 亚洲欧美日韩在线不卡| 亚洲精品你懂的| 午夜激情久久久| 日本va欧美va精品发布| 美国毛片一区二区三区| 狠狠色丁香婷婷综合| 成人综合日日夜夜| 91视频免费看| 制服丝袜av成人在线看| 欧美电视剧免费观看| 国产欧美精品一区二区三区四区 | 视频一区二区三区在线| 久久99九九99精品| 国产成人综合亚洲91猫咪| 国产宾馆实践打屁股91| 99精品久久99久久久久| 欧美精品乱码久久久久久| 欧美v国产在线一区二区三区| www激情久久| 日韩美女视频19| 亚洲成人免费看| 国产一区二区三区在线观看免费| 成人精品免费看| 欧美日韩亚洲综合| 国产欧美一区二区三区在线看蜜臀| 国产精品国产三级国产普通话三级| 亚洲精品你懂的| 久久66热re国产| 色婷婷久久久综合中文字幕| 91精品国产综合久久久久久| 日本一区二区三区四区| 亚洲成a人在线观看| 国产精品18久久久久久vr| 色又黄又爽网站www久久| 欧美一区二区三区在线视频| 国产调教视频一区| 亚洲国产精品麻豆| 成人性视频网站| 欧美一区二区三区四区视频| 国产精品黄色在线观看| 蜜桃视频在线观看一区| 色诱视频网站一区| 欧美激情艳妇裸体舞| 日韩va欧美va亚洲va久久| 91在线云播放| 久久久精品国产免大香伊|