Add missing tag, resolve_tag now returns the proper closing tag as well,
for convenience.
This commit is contained in:
parent
247b2cbf37
commit
6d7cb9af86
|
@ -115,6 +115,7 @@ namespace docpp {
|
|||
ELEMENT_H5,
|
||||
ELEMENT_H6,
|
||||
ELEMENT_HGROUP,
|
||||
ELEMENT_HR,
|
||||
ELEMENT_HTML,
|
||||
ELEMENT_IFRAME,
|
||||
ELEMENT_IMAGE,
|
||||
|
@ -477,7 +478,7 @@ namespace docpp {
|
|||
* @param properties The properties of the element
|
||||
* @param data The data of the element
|
||||
*/
|
||||
Element(const Tag tag, const Properties& properties = {}, const std::string& data = {}, const Type = TYPE_NON_SELF_CLOSING);
|
||||
Element(const Tag tag, const Properties& properties = {}, const std::string& data = {});
|
||||
/**
|
||||
* @brief Construct a new Element object
|
||||
*/
|
||||
|
@ -825,10 +826,11 @@ namespace docpp {
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Resolve a tag.
|
||||
* @brief Resolve a tag to a string and type.
|
||||
* @param tag The tag to resolve
|
||||
* @return std::pair<std::string, Type> The resolved tag
|
||||
*/
|
||||
template <typename T> T resolve_tag(const Tag tag);
|
||||
std::pair<std::string, Type> resolve_tag(const Tag tag);
|
||||
} // namespace HTML
|
||||
|
||||
/**
|
||||
|
|
300
src/docpp.cpp
300
src/docpp.cpp
|
@ -180,8 +180,12 @@ docpp::HTML::Element::Element(const std::string& tag, const Properties& properti
|
|||
this->set(tag, properties, data, type);
|
||||
}
|
||||
|
||||
docpp::HTML::Element::Element(const Tag tag, const Properties& properties, const std::string& data, const Type type) {
|
||||
this->set(resolve_tag<std::string>(tag), properties, data, type);
|
||||
docpp::HTML::Element::Element(const Tag tag, const Properties& properties, const std::string& data) {
|
||||
std::pair<std::string, Type> map = resolve_tag(tag);
|
||||
|
||||
this->tag = map.first;
|
||||
this->type = map.second;
|
||||
this->properties = properties;
|
||||
}
|
||||
|
||||
docpp::HTML::Element docpp::HTML::Element::operator=(const docpp::HTML::Element& element) {
|
||||
|
@ -301,150 +305,152 @@ void docpp::HTML::Section::set(const std::string& tag, const Properties& propert
|
|||
this->properties = properties;
|
||||
}
|
||||
|
||||
template <typename T> T docpp::HTML::resolve_tag(const Tag tag) {
|
||||
static const std::unordered_map<const Tag, const std::string> tag_map{
|
||||
{ELEMENT_EMPTY, ""},
|
||||
{ELEMENT_ABBREVIATION, "abbr"},
|
||||
{ELEMENT_ABBR, "abbr"},
|
||||
{ELEMENT_ACRONYM, "acronym"},
|
||||
{ELEMENT_ADDRESS, "address"},
|
||||
{ELEMENT_APPLET, "applet"},
|
||||
{ELEMENT_ANCHOR, "a"},
|
||||
{ELEMENT_A, "a"},
|
||||
{ELEMENT_ARTICLE, "article"},
|
||||
{ELEMENT_AREA, "area"},
|
||||
{ELEMENT_ASIDE, "aside"},
|
||||
{ELEMENT_AUDIO, "audio"},
|
||||
{ELEMENT_BASE, "base"},
|
||||
{ELEMENT_BASEFONT, "basefont"},
|
||||
{ELEMENT_BDI, "bdi"},
|
||||
{ELEMENT_BDO, "bdo"},
|
||||
{ELEMENT_BGSOUND, "bgsound"},
|
||||
{ELEMENT_BIG, "big"},
|
||||
{ELEMENT_BLOCKQUOTE, "blockquote"},
|
||||
{ELEMENT_BODY, "body"},
|
||||
{ELEMENT_B, "b"},
|
||||
{ELEMENT_BOLD, "b"},
|
||||
{ELEMENT_BR, "br"},
|
||||
{ELEMENT_BREAK, "br"},
|
||||
{ELEMENT_BUTTON, "button"},
|
||||
{ELEMENT_CAPTION, "caption"},
|
||||
{ELEMENT_CANVAS, "canvas"},
|
||||
{ELEMENT_CENTER, "center"},
|
||||
{ELEMENT_CITE, "cite"},
|
||||
{ELEMENT_CODE, "code"},
|
||||
{ELEMENT_COLGROUP, "colgroup"},
|
||||
{ELEMENT_COLUMN, "col"},
|
||||
{ELEMENT_COL, "col"},
|
||||
{ELEMENT_DATA, "data"},
|
||||
{ELEMENT_DATALIST, "datalist"},
|
||||
{ELEMENT_DD, "dd"},
|
||||
{ELEMENT_DFN, "dfn"},
|
||||
{ELEMENT_DEFINE, "dfn"},
|
||||
{ELEMENT_DELETE, "del"},
|
||||
{ELEMENT_DEL, "del"},
|
||||
{ELEMENT_DETAILS, "details"},
|
||||
{ELEMENT_DIALOG, "dialog"},
|
||||
{ELEMENT_DIR, "dir"},
|
||||
{ELEMENT_DIV, "div"},
|
||||
{ELEMENT_DL, "dl"},
|
||||
{ELEMENT_DT, "dt"},
|
||||
{ELEMENT_EMBED, "embed"},
|
||||
{ELEMENT_FIELDSET, "fieldset"},
|
||||
{ELEMENT_FIGCAPTION, "figcaption"},
|
||||
{ELEMENT_FIGURE, "figure"},
|
||||
{ELEMENT_FONT, "font"},
|
||||
{ELEMENT_FOOTER, "footer"},
|
||||
{ELEMENT_FORM, "form"},
|
||||
{ELEMENT_FRAME, "frame"},
|
||||
{ELEMENT_FRAMESET, "frameset"},
|
||||
{ELEMENT_HEAD, "head"},
|
||||
{ELEMENT_HEADER, "header"},
|
||||
{ELEMENT_H1, "h1"},
|
||||
{ELEMENT_H2, "h2"},
|
||||
{ELEMENT_H3, "h3"},
|
||||
{ELEMENT_H4, "h4"},
|
||||
{ELEMENT_H5, "h5"},
|
||||
{ELEMENT_H6, "h6"},
|
||||
{ELEMENT_HGROUP, "hgroup"},
|
||||
{ELEMENT_HTML, "html"},
|
||||
{ELEMENT_IFRAME, "iframe"},
|
||||
{ELEMENT_IMAGE, "img"},
|
||||
{ELEMENT_IMG, "img"},
|
||||
{ELEMENT_INPUT, "input"},
|
||||
{ELEMENT_INS, "ins"},
|
||||
{ELEMENT_ISINDEX, "isindex"},
|
||||
{ELEMENT_ITALIC, "i"},
|
||||
{ELEMENT_I, "i"},
|
||||
{ELEMENT_KBD, "kbd"},
|
||||
{ELEMENT_KEYGEN, "keygen"},
|
||||
{ELEMENT_LABEL, "label"},
|
||||
{ELEMENT_LEGEND, "legend"},
|
||||
{ELEMENT_LIST, "li"},
|
||||
{ELEMENT_LI, "li"},
|
||||
{ELEMENT_LINK, "link"},
|
||||
{ELEMENT_MAIN, "main"},
|
||||
{ELEMENT_MARK, "mark"},
|
||||
{ELEMENT_MARQUEE, "marquee"},
|
||||
{ELEMENT_MENUITEM, "menuitem"},
|
||||
{ELEMENT_META, "meta"},
|
||||
{ELEMENT_METER, "meter"},
|
||||
{ELEMENT_NAV, "nav"},
|
||||
{ELEMENT_NOBREAK, "nobr"},
|
||||
{ELEMENT_NOBR, "nobr"},
|
||||
{ELEMENT_NOEMBED, "noembed"},
|
||||
{ELEMENT_NOSCRIPT, "noscript"},
|
||||
{ELEMENT_OBJECT, "object"},
|
||||
{ELEMENT_OPTGROUP, "optgroup"},
|
||||
{ELEMENT_OPTION, "option"},
|
||||
{ELEMENT_OUTPUT, "output"},
|
||||
{ELEMENT_PARAGRAPH, "p"},
|
||||
{ELEMENT_P, "p"},
|
||||
{ELEMENT_PARAM, "param"},
|
||||
{ELEMENT_PHRASE, "phrase"},
|
||||
{ELEMENT_PRE, "pre"},
|
||||
{ELEMENT_PROGRESS, "progress"},
|
||||
{ELEMENT_QUOTE, "q"},
|
||||
{ELEMENT_Q, "q"},
|
||||
{ELEMENT_RP, "rp"},
|
||||
{ELEMENT_RT, "rt"},
|
||||
{ELEMENT_RUBY, "ruby"},
|
||||
{ELEMENT_OUTDATED, "s"},
|
||||
{ELEMENT_S, "s"},
|
||||
{ELEMENT_SAMPLE, "samp"},
|
||||
{ELEMENT_SAMP, "samp"},
|
||||
{ELEMENT_SCRIPT, "script"},
|
||||
{ELEMENT_SECTION, "section"},
|
||||
{ELEMENT_SMALL, "small"},
|
||||
{ELEMENT_SOURCE, "source"},
|
||||
{ELEMENT_SPACER, "spacer"},
|
||||
{ELEMENT_SPAN, "span"},
|
||||
{ELEMENT_STRIKE, "strike"},
|
||||
{ELEMENT_STRONG, "strong"},
|
||||
{ELEMENT_STYLE, "style"},
|
||||
{ELEMENT_SUB, "sub"},
|
||||
{ELEMENT_SUBSCRIPT, "sub"},
|
||||
{ELEMENT_SUP, "sup"},
|
||||
{ELEMENT_SUPERSCRIPT, "sup"},
|
||||
{ELEMENT_SUMMARY, "summary"},
|
||||
{ELEMENT_SVG, "svg"},
|
||||
{ELEMENT_TABLE, "table"},
|
||||
{ELEMENT_TBODY, "tbody"},
|
||||
{ELEMENT_TD, "td"},
|
||||
{ELEMENT_TEMPLATE, "template"},
|
||||
{ELEMENT_TFOOT, "tfoot"},
|
||||
{ELEMENT_TH, "th"},
|
||||
{ELEMENT_THEAD, "thead"},
|
||||
{ELEMENT_TIME, "time"},
|
||||
{ELEMENT_TITLE, "title"},
|
||||
{ELEMENT_TRACK, "track"},
|
||||
{ELEMENT_TT, "tt"},
|
||||
{ELEMENT_UNDERLINE, "u"},
|
||||
{ELEMENT_U, "u"},
|
||||
{ELEMENT_VAR, "var"},
|
||||
{ELEMENT_VIDEO, "video"},
|
||||
{ELEMENT_WBR, "wbr"},
|
||||
{ELEMENT_XMP, "xmp"},
|
||||
std::pair<std::string, docpp::HTML::Type> docpp::HTML::resolve_tag(const Tag tag) {
|
||||
|
||||
std::unordered_map<Tag, std::pair<std::string, docpp::HTML::Type>> tag_map{
|
||||
{ELEMENT_EMPTY, {"", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ABBREVIATION, {"abbr", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ABBR, {"abbr", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ACRONYM, {"acronym", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ADDRESS, {"address", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_APPLET, {"applet", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ANCHOR, {"a", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_A, {"a", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ARTICLE, {"article", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_AREA, {"area", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_ASIDE, {"aside", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_AUDIO, {"audio", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BASE, {"base", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_BASEFONT, {"basefont", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_BDI, {"bdi", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BDO, {"bdo", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BGSOUND, {"bgsound", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BIG, {"big", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BLOCKQUOTE, {"blockquote", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BODY, {"body", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_B, {"b", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BOLD, {"b", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_BR, {"br", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_BREAK, {"br", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_BUTTON, {"button", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_CAPTION, {"caption", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_CANVAS, {"canvas", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_CENTER, {"center", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_CITE, {"cite", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_CODE, {"code", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_COLGROUP, {"colgroup", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_COLUMN, {"col", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_COL, {"col", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_DATA, {"data", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DATALIST, {"datalist", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DD, {"dd", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DFN, {"dfn", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DEFINE, {"dfn", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DELETE, {"del", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DEL, {"del", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DETAILS, {"details", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DIALOG, {"dialog", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DIR, {"dir", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DIV, {"div", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DL, {"dl", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_DT, {"dt", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_EMBED, {"embed", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_FIELDSET, {"fieldset", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FIGCAPTION, {"figcaption", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FIGURE, {"figure", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FONT, {"font", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FOOTER, {"footer", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FORM, {"form", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_FRAME, {"frame", docpp::HTML::TYPE_SELF_CLOSING}},
|
||||
{ELEMENT_FRAMESET, {"frameset", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_HEAD, {"head", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_HEADER, {"header", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H1, {"h1", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H2, {"h2", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H3, {"h3", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H4, {"h4", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H5, {"h5", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_H6, {"h6", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_HR, {"hr", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_HGROUP, {"hgroup", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_HTML, {"html", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_IFRAME, {"iframe", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_IMAGE, {"img", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_IMG, {"img", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_INPUT, {"input", docpp::HTML::TYPE_SELF_CLOSING}},
|
||||
{ELEMENT_INS, {"ins", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_ISINDEX, {"isindex", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_ITALIC, {"i", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_I, {"i", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_KBD, {"kbd", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_KEYGEN, {"keygen", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_LABEL, {"label", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_LEGEND, {"legend", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_LIST, {"li", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_LI, {"li", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_LINK, {"link", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_MAIN, {"main", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_MARK, {"mark", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_MARQUEE, {"marquee", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_MENUITEM, {"menuitem", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_META, {"meta", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_METER, {"meter", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_NAV, {"nav", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_NOBREAK, {"nobr", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_NOBR, {"nobr", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_NOEMBED, {"noembed", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_NOSCRIPT, {"noscript", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_OBJECT, {"object", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_OPTGROUP, {"optgroup", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_OPTION, {"option", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_OUTPUT, {"output", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_PARAGRAPH, {"p", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_P, {"p", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_PARAM, {"param", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_PHRASE, {"phrase", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_PRE, {"pre", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_PROGRESS, {"progress", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_QUOTE, {"q", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_Q, {"q", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_RP, {"rp", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_RT, {"rt", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_RUBY, {"ruby", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_OUTDATED, {"s", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_S, {"s", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SAMPLE, {"samp", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SAMP, {"samp", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SCRIPT, {"script", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SECTION, {"section", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SMALL, {"small", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SOURCE, {"source", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SPACER, {"spacer", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SPAN, {"span", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_STRIKE, {"strike", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_STRONG, {"strong", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_STYLE, {"style", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_SUB, {"sub", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SUBSCRIPT, {"sub", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SUP, {"sup", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SUPERSCRIPT, {"sup", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SUMMARY, {"summary", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_SVG, {"svg", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_TABLE, {"table", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TBODY, {"tbody", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TD, {"td", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TEMPLATE, {"template", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TFOOT, {"tfoot", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TH, {"th", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_THEAD, {"thead", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TIME, {"time", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TITLE, {"title", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_TRACK, {"track", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_TT, {"tt", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_UNDERLINE, {"u", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_U, {"u", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_VAR, {"var", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_VIDEO, {"video", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
{ELEMENT_WBR, {"wbr", docpp::HTML::TYPE_NON_CLOSED}},
|
||||
{ELEMENT_XMP, {"xmp", docpp::HTML::TYPE_NON_SELF_CLOSING}},
|
||||
};
|
||||
|
||||
if (tag_map.find(tag) != tag_map.end()) {
|
||||
|
@ -457,7 +463,7 @@ template <typename T> T docpp::HTML::resolve_tag(const Tag tag) {
|
|||
}
|
||||
|
||||
void docpp::HTML::Section::set(const Tag tag, const Properties& properties) {
|
||||
this->tag = resolve_tag<std::string>(tag);
|
||||
this->tag = resolve_tag(tag).first;
|
||||
this->properties = properties;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue