void XercesParser::populateAttributesBlock(const XERCES_CPP_NAMESPACE::Attributes& src, XMLAttributes& dest) { XERCES_CPP_NAMESPACE_USE; String attributeName; String attributeValue; for (uint i = 0; i < src.getLength(); ++i) { // TODO dalfy: Optimize this using temporary value. attributeName = transcodeXmlCharToString(src.getLocalName(i), XMLString::stringLen(src.getLocalName(i))); attributeValue = transcodeXmlCharToString(src.getValue(i), XMLString::stringLen(src.getValue(i))); dest.add(attributeName, attributeValue); } }
CeGuiString XmlHelper::getAttributeValueAsString(const XERCES_CPP_NAMESPACE::Attributes& attributes, const char* const name) { XMLCh* attrName = XMLString::transcode(name); const XMLCh* valStr = attributes.getValue(attrName); XMLString::release(&attrName); if(valStr != NULL) { return transcodeToString(valStr); } return CeGuiString(); }