void BulletMLParserYggdrasil::start_element(yggdrasil::ygg_node element) { BulletMLNode* xmlNode = addContent(trimString(element.get_name())); if (xmlNode->getName() != BulletMLNode::bulletml) { MyAttributes mattr; for (ygg_iterator ite = element["@*"].begin(); ite.is_not_end(); ++ite) { mattr.push_back(trimString(ite->get_name())); mattr.push_back(trimString(ite->get_value())); } if (!mattr.empty()) addAttribute(mattr, xmlNode); if (curNode_ != 0) curNode_->addChild(xmlNode); } curNode_ = xmlNode; }
void BulletMLParserTinyXML::translateNode(TiXmlNode* node) { TiXmlElement* elem = node->ToElement(); assert(elem != 0); BulletMLNode* xmlNode = addContent(elem->Value()); if (xmlNode->getName() == BulletMLNode::bulletml) { TiXmlAttribute* attr; for (attr = elem->FirstAttribute(); attr; attr = attr->Next()) { if (attr->Value() == "horizontal") setHorizontal(); } } else { MyAttributes mattr; TiXmlAttribute* attr; for (attr = elem->FirstAttribute(); attr; attr = attr->Next()) { mattr.push_back(attr->Name()); mattr.push_back(attr->Value()); } addAttribute(mattr, xmlNode); if (curNode_ != 0) curNode_->addChild(xmlNode); } curNode_ = xmlNode; }