summaryrefslogtreecommitdiff
path: root/asdcplib/src/KM_xml.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-01-05 15:32:10 +0000
committerCarl Hetherington <cth@carlh.net>2016-01-05 15:32:10 +0000
commit3ec4338ce90ea0549409312f24f8b28c07a5d2da (patch)
tree09aaaff66dd860abbeacc20793145e1a27f4defd /asdcplib/src/KM_xml.h
parent342aad2ddf893aaaafa9a2c9980579d2dc4ec125 (diff)
asdcplib 2.5.11
Diffstat (limited to 'asdcplib/src/KM_xml.h')
-rw-r--r--asdcplib/src/KM_xml.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/asdcplib/src/KM_xml.h b/asdcplib/src/KM_xml.h
index cf77366a..695b4863 100644
--- a/asdcplib/src/KM_xml.h
+++ b/asdcplib/src/KM_xml.h
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2005-2011, John Hurst
+Copyright (c) 2005-2015, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*! \file KM_xml.h
- \version $Id: KM_xml.h,v 1.8 2011/08/15 23:03:26 jhurst Exp $
+ \version $Id: KM_xml.h,v 1.11 2015/02/19 19:06:57 jhurst Exp $
\brief XML writer
*/
@@ -41,9 +41,6 @@ namespace Kumu
{
class XMLElement;
- // Return true if the given string contains an XML document (or the start of one).
- bool StringIsXML(const char* document, ui32_t len = 0);
-
//
struct NVPair
{
@@ -57,6 +54,15 @@ namespace Kumu
typedef std::list<XMLElement*> ElementList;
typedef ElementList::const_iterator Elem_i;
+ bool GetXMLDocType(const ByteString& buf, std::string& ns_prefix, std::string& type_name,
+ std::string& namespace_name, AttributeList& doc_attr_list);
+
+ bool GetXMLDocType(const std::string& buf, std::string& ns_prefix, std::string& type_name,
+ std::string& namespace_name, AttributeList& doc_attr_list);
+
+ bool GetXMLDocType(const byte_t* buf, ui32_t buf_len, std::string& ns_prefix, std::string& type_name,
+ std::string& namespace_name, AttributeList& doc_attr_list);
+
//
class XMLNamespace
{
@@ -100,6 +106,10 @@ namespace Kumu
bool ParseString(const ByteString& document);
bool ParseString(const std::string& document);
+ bool ParseFirstFromString(const char* document, ui32_t doc_len);
+ bool ParseFirstFromString(const ByteString& document);
+ bool ParseFirstFromString(const std::string& document);
+
// building
void SetName(const char* name);
void SetBody(const std::string& value);
@@ -112,8 +122,9 @@ namespace Kumu
XMLElement* AddChildWithContent(const char* name, const std::string& value);
XMLElement* AddChildWithPrefixedContent(const char* name, const char* prefix, const char* value);
void AddComment(const char* value);
- void Render(std::string&) const;
- void RenderElement(std::string& outbuf, ui32_t depth) const;
+ void Render(std::string& str) const { Render(str, true); }
+ void Render(std::string&, const bool& pretty) const;
+ void RenderElement(std::string& outbuf, const ui32_t& depth, const bool& pretty) const;
// querying
inline const std::string& GetBody() const { return m_Body; }