summaryrefslogtreecommitdiff
path: root/src/KM_xml.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2013-12-05 01:35:52 +0000
committerjhurst <>2013-12-05 01:35:52 +0000
commitece36546e5233fac27fed566802a9fec2bc3ef8c (patch)
treea3dfdb42c517beb0bbb5c214df1ff1b22cd5ebce /src/KM_xml.cpp
parent4dcacd557953d6976a6fd0fd389e3aeb95b38c7f (diff)
allow suppression of xml formatting spaces
Diffstat (limited to 'src/KM_xml.cpp')
-rw-r--r--src/KM_xml.cpp28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/KM_xml.cpp b/src/KM_xml.cpp
index 8f41f9c..121f0a6 100644
--- a/src/KM_xml.cpp
+++ b/src/KM_xml.cpp
@@ -186,10 +186,10 @@ Kumu::XMLElement::AddComment(const char* value)
//
void
-Kumu::XMLElement::Render(std::string& outbuf) const
+Kumu::XMLElement::Render(std::string& outbuf, const bool& pretty) const
{
outbuf = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
- RenderElement(outbuf, 0);
+ RenderElement(outbuf, 0, pretty);
}
//
@@ -202,15 +202,18 @@ add_spacer(std::string& outbuf, i32_t depth)
//
void
-Kumu::XMLElement::RenderElement(std::string& outbuf, ui32_t depth) const
+Kumu::XMLElement::RenderElement(std::string& outbuf, const ui32_t& depth, const bool& pretty) const
{
- add_spacer(outbuf, depth);
+ if ( pretty )
+ {
+ add_spacer(outbuf, depth);
+ }
outbuf += "<";
outbuf += m_Name;
// render attributes
- for ( Attr_i i = m_AttrList.begin(); i != m_AttrList.end(); i++ )
+ for ( Attr_i i = m_AttrList.begin(); i != m_AttrList.end(); ++i )
{
outbuf += " ";
outbuf += (*i).name;
@@ -228,12 +231,19 @@ Kumu::XMLElement::RenderElement(std::string& outbuf, ui32_t depth) const
// render body
if ( m_Body.length() > 0 )
- outbuf += m_Body;
+ {
+ outbuf += m_Body;
+ }
- for ( Elem_i i = m_ChildList.begin(); i != m_ChildList.end(); i++ )
- (*i)->RenderElement(outbuf, depth + 1);
+ for ( Elem_i i = m_ChildList.begin(); i != m_ChildList.end(); ++i )
+ {
+ (*i)->RenderElement(outbuf, depth + 1, pretty);
+ }
- add_spacer(outbuf, depth);
+ if ( pretty )
+ {
+ add_spacer(outbuf, depth);
+ }
}
else if ( m_Body.length() > 0 )
{