You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
759 B

#ifndef OTMLDOCUMENT_H
#define OTMLDOCUMENT_H
#include "otmlnode.h"
class OTMLDocument : public OTMLNode
{
public:
virtual ~OTMLDocument() { }
/// Create a new OTML document for filling it with nodes
static OTMLDocumentPtr create();
/// Parse OTML from a file
static OTMLDocumentPtr parse(const std::string& fileName);
/// Parse OTML from input stream
/// @param source is the file name that will be used to show errors messages
static OTMLDocumentPtr parse(std::istream& in, const std::string& source);
/// Emits this document and all it's children to a std::string
std::string emit();
/// Save this document to a file
bool save(const std::string& fileName);
private:
OTMLDocument() { }
};
#endif