示例#1
0
void X3DXMLContentHandler::startElement(const char* qName, const char** atts)
{
	if (_skipCount != 0)
	{
		_skipCount++;
		return;
	}
	int id = X3DTypes::getElementID(qName);
	X3DXMLAttributes xmlAttributes(atts);
	int state = _switch.doStartElement(id, xmlAttributes);
	if (state == XIOT::SKIP_CHILDREN)
		_skipCount = 1;

}
示例#2
0
void X3DXMLContentHandler::startElement(const XMLCh* const, const XMLCh* const, const XMLCh* const qname, const Attributes &attrs)
{
	if (_skipCount != 0)
	{
		_skipCount++;
		return;
	}
	char* nodeName = XMLString::transcode(qname);
	int id = X3DTypes::getElementID(nodeName);
	X3DXMLAttributes xmlAttributes(&attrs);
	int state = _switch.doStartElement(id, xmlAttributes);
	if (state == XIOT::SKIP_CHILDREN)
		_skipCount = 1;
	XMLString::release(&nodeName);

}
示例#3
0
 void Parser::xmlElement(XmlContext* ctx)
 {
     xmlTagName(ctx);
     if (T0 != T_XmlRightAngle && T0 != T_XmlSlashRightAngle) {
         ctx->addText(" ");
         xmlAttributes(ctx);
     }
     if (T0 == T_XmlRightAngle) {
         xmlAssert(ctx, T0);
         xmlElementContent(ctx);
         xmlAssert(ctx, T_XmlLeftAngleSlash);
         xmlAtomSkipSpace();
         xmlTagName(ctx);
         xmlAssert(ctx, T_XmlRightAngle);
     }
     else
         xmlAssert(ctx, T_XmlSlashRightAngle);
 }