diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-01-05 15:32:10 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-01-05 15:32:10 +0000 |
| commit | 3ec4338ce90ea0549409312f24f8b28c07a5d2da (patch) | |
| tree | 09aaaff66dd860abbeacc20793145e1a27f4defd /asdcplib/src/KM_xml.h | |
| parent | 342aad2ddf893aaaafa9a2c9980579d2dc4ec125 (diff) | |
asdcplib 2.5.11
Diffstat (limited to 'asdcplib/src/KM_xml.h')
| -rw-r--r-- | asdcplib/src/KM_xml.h | 25 |
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; } |
