void XMLWriter::addNamespaceAttributes(AttributeMap& attributeMap) { NamespaceSupport::PrefixSet prefixes; _namespaces.getDeclaredPrefixes(prefixes); for (NamespaceSupport::PrefixSet::const_iterator it = prefixes.begin(); it != prefixes.end(); ++it) { XMLString prefix = *it; XMLString uri = _namespaces.getURI(prefix); XMLString qname = NamespaceSupport::XMLNS_NAMESPACE_PREFIX; if (!prefix.empty()) { qname.append(toXMLString(MARKUP_COLON)); qname.append(prefix); } attributeMap[qname] = uri; } }
XMLString Element::innerText() const { XMLString result; Node* pChild = firstChild(); while (pChild) { result.append(pChild->innerText()); pChild = pChild->nextSibling(); } return result; }
void XMLWriter::addAttributes(AttributeMap& attributeMap, const Attributes& attributes, const XMLString& elementNamespaceURI) { for (int i = 0; i < attributes.getLength(); i++) { XMLString namespaceURI = attributes.getURI(i); XMLString localName = attributes.getLocalName(i); XMLString qname = attributes.getQName(i); if (!localName.empty()) { XMLString prefix; if (namespaceURI != elementNamespaceURI) prefix = _namespaces.getPrefix(namespaceURI); if (!prefix.empty()) { qname = prefix; qname.append(toXMLString(MARKUP_COLON)); } else qname.clear(); qname.append(localName); } attributeMap[qname] = attributes.getValue(i); } }