MUSX Document Model
Loading...
Searching...
No Matches
musx::xml Namespace Reference

Provides interfaces and optional implementations for traversing XML. More...

Namespaces

namespace  pugi
 Provides an implementation of musx::xml::IXmlAttribute, musx::xml::IXmlElement, and musx::xml::IXmlDocument using the PugiXML library.
 
namespace  rapidxml
 Provides an implementation of musx::xml::IXmlAttribute, musx::xml::IXmlElement, and musx::xml::IXmlDocument using the rapidxml library.
 
namespace  tinyxml2
 Provides an implementation of musx::xml::IXmlAttribute, musx::xml::IXmlElement, and musx::xml::IXmlDocument using the tinyxml2 library.
 

Classes

class  IXmlAttribute
 Interface for an XML attribute. More...
 
class  IXmlDocument
 Interface for an XML document. More...
 
class  IXmlElement
 Interface for an XML element. More...
 
class  load_error
 Exception for load xml error. More...
 

Typedefs

using XmlElementPtr = std::shared_ptr< IXmlElement >
 shared pointer to IXmlElement
 
template<typename T >
using XmlElementPopulator = std::function< void(const XmlElementPtr &, const std::shared_ptr< T > &)>
 function type for populating a field from an IXmlElement
 
template<typename T >
using XmlElementDescriptor = std::tuple< const std::string_view, XmlElementPopulator< T > >
 associates an xml node name with and XmlElementPopulator
 
template<typename T >
using XmlElementArray = std::vector< XmlElementDescriptor< T > >
 an array type for XmlElementDescriptor instances.
 

Detailed Description

Provides interfaces and optional implementations for traversing XML.