summaryrefslogtreecommitdiff
path: root/core/fxcrt/xml/cfx_xmldoc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt/xml/cfx_xmldoc.cpp')
-rw-r--r--core/fxcrt/xml/cfx_xmldoc.cpp111
1 files changed, 0 insertions, 111 deletions
diff --git a/core/fxcrt/xml/cfx_xmldoc.cpp b/core/fxcrt/xml/cfx_xmldoc.cpp
index 1c3785d313..236ab05c37 100644
--- a/core/fxcrt/xml/cfx_xmldoc.cpp
+++ b/core/fxcrt/xml/cfx_xmldoc.cpp
@@ -47,114 +47,3 @@ void CFX_XMLDoc::CloseXML() {
m_pXMLParser.reset();
}
-void CFX_XMLDoc::SaveXMLNode(
- const RetainPtr<CFX_SeekableStreamProxy>& pXMLStream,
- CFX_XMLNode* pINode) {
- CFX_XMLNode* pNode = (CFX_XMLNode*)pINode;
- switch (pNode->GetType()) {
- case FX_XMLNODE_Instruction: {
- CFX_XMLInstruction* pInstruction = (CFX_XMLInstruction*)pNode;
- if (pInstruction->GetName().CompareNoCase(L"xml") == 0) {
- WideString ws = L"<?xml version=\"1.0\" encoding=\"";
- uint16_t wCodePage = pXMLStream->GetCodePage();
- if (wCodePage == FX_CODEPAGE_UTF16LE) {
- ws += L"UTF-16";
- } else if (wCodePage == FX_CODEPAGE_UTF16BE) {
- ws += L"UTF-16be";
- } else {
- ws += L"UTF-8";
- }
- ws += L"\"?>";
- pXMLStream->WriteString(ws.AsStringView());
- } else {
- WideString ws =
- WideString::Format(L"<?%ls", pInstruction->GetName().c_str());
- pXMLStream->WriteString(ws.AsStringView());
-
- for (auto it : pInstruction->GetAttributes()) {
- WideString wsValue = it.second;
- wsValue.Replace(L"&", L"&amp;");
- wsValue.Replace(L"<", L"&lt;");
- wsValue.Replace(L">", L"&gt;");
- wsValue.Replace(L"\'", L"&apos;");
- wsValue.Replace(L"\"", L"&quot;");
-
- ws = L" ";
- ws += it.first;
- ws += L"=\"";
- ws += wsValue;
- ws += L"\"";
- pXMLStream->WriteString(ws.AsStringView());
- }
-
- for (auto target : pInstruction->GetTargetData()) {
- ws = L" \"";
- ws += target;
- ws += L"\"";
- pXMLStream->WriteString(ws.AsStringView());
- }
- ws = L"?>";
- pXMLStream->WriteString(ws.AsStringView());
- }
- break;
- }
- case FX_XMLNODE_Element: {
- WideString ws;
- ws = L"<";
- ws += static_cast<CFX_XMLElement*>(pNode)->GetName();
- pXMLStream->WriteString(ws.AsStringView());
-
- for (auto it : static_cast<CFX_XMLElement*>(pNode)->GetAttributes()) {
- WideString wsValue = it.second;
- wsValue.Replace(L"&", L"&amp;");
- wsValue.Replace(L"<", L"&lt;");
- wsValue.Replace(L">", L"&gt;");
- wsValue.Replace(L"\'", L"&apos;");
- wsValue.Replace(L"\"", L"&quot;");
-
- ws = L" ";
- ws += it.first;
- ws += L"=\"";
- ws += wsValue;
- ws += L"\"";
- pXMLStream->WriteString(ws.AsStringView());
- }
- if (pNode->m_pChild) {
- ws = L"\n>";
- pXMLStream->WriteString(ws.AsStringView());
- CFX_XMLNode* pChild = pNode->m_pChild;
- while (pChild) {
- SaveXMLNode(pXMLStream, static_cast<CFX_XMLNode*>(pChild));
- pChild = pChild->m_pNext;
- }
- ws = L"</";
- ws += static_cast<CFX_XMLElement*>(pNode)->GetName();
- ws += L"\n>";
- } else {
- ws = L"\n/>";
- }
- pXMLStream->WriteString(ws.AsStringView());
- break;
- }
- case FX_XMLNODE_Text: {
- WideString ws = static_cast<CFX_XMLText*>(pNode)->GetText();
- ws.Replace(L"&", L"&amp;");
- ws.Replace(L"<", L"&lt;");
- ws.Replace(L">", L"&gt;");
- ws.Replace(L"\'", L"&apos;");
- ws.Replace(L"\"", L"&quot;");
- pXMLStream->WriteString(ws.AsStringView());
- break;
- }
- case FX_XMLNODE_CharData: {
- WideString ws = L"<![CDATA[";
- ws += static_cast<CFX_XMLCharData*>(pNode)->GetText();
- ws += L"]]>";
- pXMLStream->WriteString(ws.AsStringView());
- break;
- }
- case FX_XMLNODE_Unknown:
- default:
- break;
- }
-}