Commit 84eeabe1 authored by jan.koester's avatar jan.koester
Browse files

added validate method

parent d7dd1a66
Loading
Loading
Loading
Loading
+20 −0
Changes for src/html.cpp: 20 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -127,6 +127,11 @@ libhtmlpp::HtmlString &libhtmlpp::HtmlString::operator=(const char *src){
    return *this;
}

libhtmlpp::HtmlString & libhtmlpp::HtmlString::operator=(std::string src){
    _Data=src;
    return *this;
}

const char libhtmlpp::HtmlString::operator[](size_t pos) const{
    if(_Data.length()<pos){
        HTMLException exp;
@@ -198,6 +203,21 @@ libhtmlpp::HtmlElement* libhtmlpp::HtmlString::parse() {
    return _RootNode;
}

bool libhtmlpp::HtmlString::validate(std::string &err)
{
    try{
        HtmlElement *el=parse();
        if(el){
            delete el;
            return true;
        }
    }catch(HTMLException &e){
        err=e.what();
    }
    return false;
}


libhtmlpp::DocElements *libhtmlpp::HtmlString::_buildtreenode(DocElements* prev,libhtmlpp::DocElements* next,libhtmlpp::DocElements* start,libhtmlpp::DocElements* end){
    auto checkterminator = [end](DocElements *termel){
        int i=0;
+2 −0
Changes for src/html.h: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ namespace libhtmlpp {
        HtmlString& operator+=(const char* src);
        HtmlString& operator+=(HtmlString& hstring);
        HtmlString& operator=(const char* src);
        HtmlString& operator=(std::string src);
        const char  operator[](size_t pos) const;

        HtmlString& operator<<(const char* src);
@@ -173,6 +174,7 @@ namespace libhtmlpp {
        void               clear();
        const char *       c_str();
        HtmlElement*       parse();
        bool               validate(std::string &err);
    private:
        void              _InitString();
        void              _parseTree();