/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-09-27 * Changed: 2024-09-13 * * */ #ifndef LS_STD_XML_DECLARATION_HPP #define LS_STD_XML_DECLARATION_HPP #include "XmlAttribute.hpp" #include #include /* * @doc: class(name: 'XmlDeclaration', package: 'io') * @doc: io.XmlDeclaration.description('This class represents an XML declaration and can be serialized to an XML tag.') * */ namespace ls::std::io { class LS_STD_DYNAMIC_GOAL XmlDeclaration : public ls::std::core::Class { public: explicit XmlDeclaration(const ::std::string &_version); ~XmlDeclaration() noexcept override; [[nodiscard]] ::std::string getEncoding() const; [[nodiscard]] ::std::string getStandalone() const; [[nodiscard]] ::std::string getVersion() const; void setEncoding(const ::std::string &_encoding); void setStandalone(const ::std::string &_standalone); void setVersion(const ::std::string &_version); [[nodiscard]] ::std::string toXml() const; private: ls::std::io::XmlAttribute encoding{"encoding"}; ls::std::io::XmlAttribute standalone{"standalone"}; ls::std::io::XmlAttribute version{"version"}; [[nodiscard]] static ::std::string _toXmlAttribute(const ls::std::io::XmlAttribute &_attribute); }; } #endif