Populate the map of tag names to tag forms and the map of tag types to tag forms (see hzHtagform definition). This facilitates HTML tag lookup for such purposes as the import and processing of HTML documents. Arguments: None

Return TypeFunction nameArguments
hzEcodeInitHtml(void)

Declared in file: hzDocument.h
Defined in file : hzDocHtml.cpp

Function Logic:

0:START 1:unknown 2:Return E_SETONCE 3:t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t items items t t t t items items t t t t items items t t t t items items t t t t items items t t t t items items s_htagPop 4:Return E_OK

Function body:

hzEcode InitHtml (void)
{
   //  Category: Data Initialization
   //  
   //  Populate the map of tag names to tag forms and the map of tag types to tag forms (see hzHtagform definition). This facilitates HTML tag lookup for such
   //  purposes as the import and processing of HTML documents.
   //  
   //  Arguments: None
   //  
   //  Returns: E_SETONCE If the HTML maps are already populated
   //     E_OK  If the operation was successful
   _hzfunc(__func__) ;
   if (s_htagPop)
       return E_SETONCE ;
   hzHtagform  t ;     //  Full tag info for insertion
   //  Default (invalid)
   t.klas=HTCLASS_NUL; t.rule=HTRULE_NULL; t.type=HTAG_NULL;           t.name=(char*)0;        s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Page structure tags
   t.klas=HTCLASS_HDR; t.rule=HTRULE_SINGLE; t.type=HTAG_DOCTYPE;      t.name="!DOCTYPE";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_HTML;         t.name="html";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_HEAD;         t.name="head";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_TITLE;        t.name="title";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_META;         t.name="meta";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_BODY;         t.name="body";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_BASE;         t.name="base";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_BASEFONT;     t.name="basefont";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_STYLE;        t.name="style";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Programing tags
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_SCRIPT;       t.name="script";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_NOFRAMES;     t.name="noframes";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_NOSCRIPT;     t.name="noscript";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_HDR; t.rule=HTRULE_PAIRED; t.type=HTAG_APPLET;       t.name="applet";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Frames   
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_FRAME;        t.name="frame";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_FRAMESET;     t.name="frameset";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_IFRAME;       t.name="iframe";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_SINGLE; t.type=HTAG_PARAM;        t.name="param";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  System tags
   t.klas=HTCLASS_SYS; t.rule=HTRULE_PAIRED; t.type=HTAG_EMBED;        t.name="embed";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_SYS; t.rule=HTRULE_PAIRED; t.type=HTAG_NOEMBED;      t.name="noembed";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Font control or text tags - no content
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_BOLD;         t.name="b";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_ULINE;        t.name="u";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HATG_ITALIC;       t.name="i";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_EM;           t.name="em";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_STRONG;       t.name="strong";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_CENTER;       t.name="center";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_FONT;         t.name="font";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_BIG;          t.name="big";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_SMALL;        t.name="small";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_SINGLE; t.type=HATG_BR;           t.name="br";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_SINGLE; t.type=HTAG_HR;           t.name="hr";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Text description tags
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_HEADER;       t.name="header";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_FOOTER;       t.name="footer";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_SECTION;      t.name="section";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_ARTICLE;      t.name="article";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_ASIDE;        t.name="aside";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DETAILS;      t.name="details";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_SUMMARY;      t.name="summary";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DIALOG;       t.name="dialog";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Text grouping tags
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_STRIKE;       t.name="strike";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_S;            t.name="s";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_DEL;          t.name="del";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_INS;          t.name="ins";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_KBD;          t.name="kbd";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_TXT; t.rule=HTRULE_PAIRED; t.type=HTAG_SPAN;         t.name="span";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Text control tags
   t.klas=HTCLASS_DAT; t.rule=HTRULE_OPTION; t.type=HTAG_PARAG;        t.name="p";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_QUOTATION;    t.name="q";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H1;           t.name="h1";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H2;           t.name="h2";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H3;           t.name="h3";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H4;           t.name="h4";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H5;           t.name="h5";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_H6;           t.name="h6";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HATG_TT;           t.name="tt";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_CODE;         t.name="code";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_SAMP;         t.name="samp";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_CITE;         t.name="cite";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_CAPTION;      t.name="caption";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_VAR;          t.name="var";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_PRE;          t.name="pre";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_BQ;           t.name="bq";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_BLOCKQUOTE;   t.name="blockquote";        s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAB_BDO;          t.name="bdo";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_SUBSCRIPT;    t.name="sub";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_SUPERSCRIPT;  t.name="sup";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Data/layout tags
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TABLE;        t.name="table";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_OPTION; t.type=HTAG_TCOL;         t.name="col";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_OPTION; t.type=HTAG_TCOLGRP;      t.name="colgroup";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TH;           t.name="th";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TR;           t.name="tr";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TBL_CEL;      t.name="td";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DIV;          t.name="div";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TBODY;        t.name="tbody";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_THEAD;        t.name="thead";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TFOOT;        t.name="tfoot";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_FIELDSET;     t.name="fieldset";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_LEGEND;       t.name="legend";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_MENU;         t.name="menu";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DT;           t.name="dt";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DD;           t.name="dd";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DFN;          t.name="dfn";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DIR;          t.name="dir";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_DLIST;        t.name="dl";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_OLIST;        t.name="ol";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_ULIST;        t.name="ul";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_ITEM;         t.name="li";                s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_HGROUP;       t.name="hgroup";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_DAT; t.rule=HTRULE_PAIRED; t.type=HTAG_TIME;         t.name="time";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Link tags
   t.klas=HTCLASS_LNK; t.rule=HTRULE_PAIRED; t.type=HTAG_ANCHOR;       t.name="a";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_LNK; t.rule=HTRULE_PAIRED; t.type=HTAG_NAV;          t.name="nav";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_LNK; t.rule=HTRULE_PAIRED; t.type=HTAG_LINK;         t.name="link";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Input/form tags
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_FORM;         t.name="form";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_SINGLE; t.type=HTAG_INPUT;        t.name="input";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_TEXTAREA;     t.name="textarea";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_SELECT;       t.name="select";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_OPTGROUP;     t.name="optgroup";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_OPTION;       t.name="option";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_BUTTON;       t.name="button";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INP; t.rule=HTRULE_PAIRED; t.type=HTAG_LABEL;        t.name="label";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Information tags
   t.klas=HTCLASS_INF; t.rule=HTRULE_PAIRED; t.type=HTAG_ABBR;         t.name="abbr";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INF; t.rule=HTRULE_PAIRED; t.type=HTAG_ACRONYM;      t.name="acronym";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_INF; t.rule=HTRULE_PAIRED; t.type=HTAG_ADDRESS;      t.name="address";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Image tags
   t.klas=HTCLASS_IMG; t.rule=HTRULE_SINGLE; t.type=HTAG_IMG;          t.name="img";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_MAP;          t.name="map";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_AREA;         t.name="area";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_OBJECT;       t.name="object";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_MARQUEE;      t.name="marquee";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_CANVAS;       t.name="canvas";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_FIGURE;       t.name="figure";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_FIGCAPTION;   t.name="figcaption" ;       s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Image SVG tags
   t.klas=HTCLASS_IMG;
   t.rule=HTRULE_PAIRED;
    t.type=HTAG_SVG;                   t.name="svg";                   s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_ANIMATE;           t.name="animate";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_ANIMATEMOTION;     t.name="animateMotion";         s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_ANIMATEXFORM;      t.name="animateTransform";      s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_CIRCLE;            t.name="circle";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_CLIPPATH;          t.name="clipPath";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DEFS;              t.name="defs";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DESC;              t.name="desc";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DISCARD;           t.name="discard";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_ELLIPSE;           t.name="ellipse";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_BLEND;             t.name="feBlend";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_COLORMATRIX;       t.name="feColorMatrix";         s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_COMPONENTXFER;     t.name="feComponentTransfer";   s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_COMPOSITE;         t.name="feComposite";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_CONVOLVEMATRIX;    t.name="feConvolveMatrix";      s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DIFFUSELIGHTING;   t.name="feDiffuseLighting";     s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DISPLACEMENTMAP;   t.name="feDisplacementMap";     s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DISTANTLIGHT;      t.name="feDistantLight";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DROPSHADOW;        t.name="feDropShadow";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FLOOD;             t.name="feFlood";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FUNC_A;            t.name="feFuncA";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FUNC_B;            t.name="feFuncB";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FUNC_G;            t.name="feFuncG";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FUNC_R;            t.name="feFuncR";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_DEGAUSS;           t.name="feGaussianBlur";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_IMAGE;             t.name="feImage";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MERGE;             t.name="feMerge";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MERGENODE;         t.name="feMergeNode";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MORPHOLOGY;        t.name="feMorphology";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_OFFSET;            t.name="feOffset";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_POINTLIGHT;        t.name="fePointLight";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_SPECLIGHT;         t.name="feSpecularLighting";        s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_SPOTLIGHT;         t.name="feSpotLight";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_TITLE;             t.name="feTile";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_TURBULENCE;        t.name="feTurbulence";          s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FILTER;            t.name="filter";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_FOREIGNOBJECT;     t.name="foreignObject";         s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_GENERIC;           t.name="g";                     s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_HATCH;             t.name="hatch";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_HATCHPATH;         t.name="hatchpath";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_LINE;              t.name="line";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_lINEARGRADIENT;    t.name="linearGradient";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MARKER;            t.name="marker";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MASK;              t.name="mask";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_METADATA;          t.name="metadata";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_MPATH;             t.name="mpath";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_PATH;              t.name="path";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_PATTERN;           t.name="pattern";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_POLYGON;           t.name="polygon";               s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_POLYLINE;          t.name="polyline";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_RADIALGRADIENT;    t.name="radialGradient";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_RECT;              t.name="rect";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_SET;               t.name="set";                   s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_STOP;              t.name="stop";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_SWITCH;            t.name="switch";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_SYMBOL;            t.name="symbol";                    s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_TEXT;              t.name="text";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_TEXTPATH;          t.name="textPath";              s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_TSPAN;             t.name="tspan";                 s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_USE;               t.name="use";                   s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
    t.type=HTAG_SVG_VIEW;              t.name="view";                  s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Audio/Video Tags
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_AUDIO;        t.name="audio";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_SOURCE;       t.name="source";            s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_TRACK;        t.name="track";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   t.klas=HTCLASS_IMG; t.rule=HTRULE_PAIRED; t.type=HTAG_VIDEO;        t.name="video";             s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   //  Third party tags
   t.klas=HTCLASS_3RD; t.rule=HTRULE_SINGLE; t.type=HTAG_FBLIKE;       t.name="fb:like";           s_htagTyp.Insert(t.type,t); s_htagNam.Insert(t.name,t);
   s_htagPop = s_htagNam.Count() ;
   return E_OK ;
}