aboutsummaryrefslogblamecommitdiffstats
path: root/html.c
blob: 5682856a1fc4af8b570810f7d52ca55ca30bc75d (plain) (tree)

































                                                                                              

                                                                                                        
                            



                                                                                                                    



























                                                                                    

                                        


                                              

                                                                                                                                                                                                                      






                                          

















































































































                                                                                      

                    














                                                                                       














































                                                                              
                                                                                   
                                                   






                                                                              

                                                                           

                                                                              











                                                                              
#include "html.h"

/* Define HTML Tag Infomation Table */

#define ATTR_CORE	ATTR_ID
#define MAXA_CORE	1
unsigned char ALST_A[] =
{ATTR_NAME,ATTR_HREF,ATTR_TARGET,ATTR_HSEQ,ATTR_REFERER,ATTR_FRAMENAME,ATTR_CORE};
#define MAXA_A		MAXA_CORE + 6
unsigned char ALST_P[] = {ATTR_ALIGN,ATTR_CORE};
#define MAXA_P		MAXA_CORE + 1
unsigned char ALST_UL[] = {ATTR_START,ATTR_TYPE,ATTR_CORE};
#define MAXA_UL		MAXA_CORE + 2
unsigned char ALST_LI[] = {ATTR_TYPE,ATTR_VALUE,ATTR_CORE};
#define MAXA_LI		MAXA_CORE + 2
unsigned char ALST_HR[] = {ATTR_WIDTH,ATTR_ALIGN,ATTR_CORE};
#define MAXA_HR		MAXA_CORE + 2
unsigned char ALST_DL[] = {ATTR_COMPACT,ATTR_CORE};
#define MAXA_DL		MAXA_CORE + 1
unsigned char ALST_PRE[] = {ATTR_FOR_TABLE,ATTR_CORE};
#define MAXA_PRE	MAXA_CORE + 1
unsigned char ALST_IMG[] =
{ATTR_SRC,ATTR_ALT,ATTR_WIDTH,ATTR_HEIGHT,ATTR_USEMAP,ATTR_CORE};
#define MAXA_IMG	MAXA_CORE + 5
unsigned char ALST_TABLE[] =
{ATTR_BORDER,ATTR_WIDTH,ATTR_HBORDER,ATTR_CELLSPACING,ATTR_CELLPADDING,ATTR_VSPACE,ATTR_CORE};
#define MAXA_TABLE	MAXA_CORE + 6
unsigned char ALST_META[] = {ATTR_HTTP_EQUIV,ATTR_CONTENT,ATTR_CORE};
#define MAXA_META	MAXA_CORE + 2
unsigned char ALST_FRAME[] = {ATTR_SRC,ATTR_NAME,ATTR_CORE};
#define MAXA_FRAME	MAXA_CORE + 2
unsigned char ALST_FRAMESET[] = {ATTR_COLS,ATTR_ROWS,ATTR_CORE};
#define MAXA_FRAMESET	MAXA_CORE + 2
unsigned char ALST_FORM[] =
{ATTR_METHOD,ATTR_ACTION,ATTR_CHARSET,ATTR_ACCEPT_CHARSET,ATTR_ENCTYPE,ATTR_TARGET,ATTR_NAME,ATTR_CORE};
#define MAXA_FORM       MAXA_CORE + 7
unsigned char ALST_INPUT[] =
{ATTR_TYPE,ATTR_VALUE,ATTR_NAME,ATTR_CHECKED,ATTR_ACCEPT,ATTR_SIZE,ATTR_MAXLENGTH,ATTR_ALT,ATTR_READONLY,ATTR_CORE};
#define MAXA_INPUT      MAXA_CORE + 9
unsigned char ALST_TEXTAREA[] = {ATTR_COLS,ATTR_ROWS,ATTR_NAME,ATTR_READONLY,ATTR_CORE};
#define MAXA_TEXTAREA   MAXA_CORE + 4
unsigned char ALST_SELECT[] = {ATTR_NAME,ATTR_MULTIPLE,ATTR_CORE};
#define MAXA_SELECT	MAXA_CORE + 2
unsigned char ALST_OPTION[] = {ATTR_VALUE,ATTR_LABEL,ATTR_SELECTED,ATTR_CORE};
#define MAXA_OPTION	MAXA_CORE + 3
unsigned char ALST_ISINDEX[] = {ATTR_ACTION,ATTR_PROMPT,ATTR_CORE};
#define MAXA_ISINDEX	MAXA_CORE + 2
unsigned char ALST_MAP[] = {ATTR_NAME,ATTR_CORE};
#define MAXA_MAP	MAXA_CORE + 1
unsigned char ALST_AREA[] = {ATTR_HREF,ATTR_ALT,ATTR_CORE};
#define MAXA_AREA	MAXA_CORE + 2
unsigned char ALST_BASE[] = {ATTR_HREF,ATTR_TARGET,ATTR_CORE};
#define MAXA_BASE	MAXA_CORE + 2
unsigned char ALST_BODY[] = {ATTR_BACKGROUND,ATTR_CORE};
#define MAXA_BODY	MAXA_CORE + 1
unsigned char ALST_TR[] = {ATTR_ALIGN,ATTR_VALIGN,ATTR_CORE};
#define MAXA_TR		MAXA_CORE + 2
unsigned char ALST_TD[] =
{ATTR_COLSPAN,ATTR_ROWSPAN,ATTR_ALIGN,ATTR_VALIGN,ATTR_WIDTH,ATTR_NOWRAP,ATTR_CORE};
#define MAXA_TD		MAXA_CORE + 6
unsigned char ALST_BGSOUND[] = {ATTR_SRC,ATTR_CORE};
#define MAX_BGSOUND	MAXA_CORE + 1
unsigned char ALST_APPLET[] = {ATTR_ARCHIVE,ATTR_CORE};
#define MAX_APPLET	MAXA_CORE + 1
unsigned char ALST_EMBED[] = {ATTR_SRC,ATTR_CORE};
#define MAX_EMBED	MAXA_CORE + 1

unsigned char ALST_TABLE_ALT[] = {ATTR_TID};
#define MAXA_TABLE_ALT	1
unsigned char ALST_RULE[] = {ATTR_TYPE};
#define MAXA_RULE       1
unsigned char ALST_TITLE_ALT[] = {ATTR_TITLE};
#define MAXA_TITLE_ALT	1
unsigned char ALST_INPUT_ALT[] =
{ATTR_HSEQ,ATTR_FID,ATTR_NO_EFFECT,ATTR_TYPE,ATTR_NAME,ATTR_VALUE,ATTR_CHECKED,ATTR_ACCEPT,ATTR_SIZE,ATTR_MAXLENGTH,ATTR_READONLY,ATTR_TEXTAREANUMBER,ATTR_SELECTNUMBER,ATTR_ROWS,ATTR_TOP_MARGIN,ATTR_BOTTOM_MARGIN};
#define MAXA_INPUT_ALT  16
unsigned char ALST_IMG_ALT[] = {ATTR_SRC};
#define MAXA_IMG_ALT	1
unsigned char ALST_NOP[] = {ATTR_CORE};
#define MAXA_NOP	MAXA_CORE

TagInfo TagMAP[MAX_HTMLTAG] =
{
    {NULL,          NULL,          0,             0},        /*   0 HTML_UNKNOWN    */
    {"a",           ALST_A,        MAXA_A,        0},        /*   1 HTML_A          */
    {"/a",          NULL,          0,             TFLG_END}, /*   2 HTML_N_A        */
    {"h",           ALST_P,        MAXA_P,        0},        /*   3 HTML_H          */
    {"/h",          NULL,          0,             TFLG_END}, /*   4 HTML_N_H        */
    {"p",           ALST_P,        MAXA_P,        0},        /*   5 HTML_P          */
    {"br",          NULL,          0,             0},        /*   6 HTML_BR         */
    {"b",           NULL,          0,             0},        /*   7 HTML_B          */
    {"/b",          NULL,          0,             TFLG_END}, /*   8 HTML_N_B        */
    {"ul",          ALST_UL,       MAXA_UL,       0},        /*   9 HTML_UL         */
    {"/ul",         NULL,          0,             TFLG_END}, /*  10 HTML_N_UL       */
    {"li",          ALST_LI,       MAXA_LI,       0},        /*  11 HTML_LI         */
    {"ol",          ALST_UL,       MAXA_UL,       0},        /*  12 HTML_OL         */
    {"/ol",         NULL,          0,             TFLG_END}, /*  13 HTML_N_OL       */
    {"title",       NULL,          0,             0},        /*  14 HTML_TITLE      */
    {"/title",      NULL,          0,             TFLG_END}, /*  15 HTML_N_TITLE    */
    {"hr",          ALST_HR,       MAXA_HR,       0},        /*  16 HTML_HR         */
    {"dl",          ALST_DL,       MAXA_DL,       0},        /*  17 HTML_DL         */
    {"/dl",         NULL,          0,             TFLG_END}, /*  18 HTML_N_DL       */
    {"dt",          NULL,          0,             0},        /*  19 HTML_DT         */
    {"dd",          NULL,          0,             0},        /*  20 HTML_DD         */
    {"pre",         ALST_PRE,      MAXA_PRE,      0},        /*  21 HTML_PRE        */
    {"/pre",        NULL,          0,             TFLG_END}, /*  22 HTML_N_PRE      */
    {"blockquote",  NULL,          0,             0},        /*  23 HTML_BLQ        */
    {"/blockquote", NULL,          0,             TFLG_END}, /*  24 HTML_N_BLQ      */
    {"img",         ALST_IMG,      MAXA_IMG,      0},        /*  25 HTML_IMG        */
    {"listing",     NULL,          0,             0},        /*  26 HTML_LISTING    */
    {"/listing",    NULL,          0,             TFLG_END}, /*  27 HTML_N_LISTING  */
    {"xmp",         NULL,          0,             0},        /*  28 HTML_XMP        */
    {"/xmp",        NULL,          0,             TFLG_END}, /*  29 HTML_N_XMP      */
    {"plaintext",   NULL,          0,             0},        /*  30 HTML_PLAINTEXT  */
    {"table",       ALST_TABLE,    MAXA_TABLE,    0},        /*  31 HTML_TABLE      */
    {"/table",      NULL,          0,             TFLG_END}, /*  32 HTML_N_TABLE    */
    {"meta",        ALST_META,     MAXA_META,     0},        /*  33 HTML_META       */
    {"/p",          NULL,          0,             TFLG_END}, /*  34 HTML_N_P        */
    {"frame",       ALST_FRAME,    MAXA_FRAME,    0},        /*  35 HTML_FRAME      */
    {"frameset",    ALST_FRAMESET, MAXA_FRAMESET, 0},        /*  36 HTML_FRAMESET   */
    {"/frameset",   NULL,          0,             TFLG_END}, /*  37 HTML_N_FRAMESET */
    {"center",      NULL,          0,             0},        /*  38 HTML_CENTER     */
    {"/center",     NULL,          0,             TFLG_END}, /*  39 HTML_N_CENTER   */
    {"font",        NULL,          0,             0},        /*  40 HTML_FONT       */
    {"/font",       NULL,          0,             TFLG_END}, /*  41 HTML_N_FONT     */
    {"form",        ALST_FORM,     MAXA_FORM,     0},        /*  42 HTML_FORM       */
    {"/form",       NULL,          0,             TFLG_END}, /*  43 HTML_N_FORM     */
    {"input",       ALST_INPUT,    MAXA_INPUT,    0},        /*  44 HTML_INPUT      */
    {"textarea",    ALST_TEXTAREA, MAXA_TEXTAREA, 0},        /*  45 HTML_TEXTAREA   */
    {"/textarea",   NULL,          0,             TFLG_END}, /*  46 HTML_N_TEXTAREA */
    {"select",      ALST_SELECT,   MAXA_SELECT,   0},        /*  47 HTML_SELECT     */
    {"/select",     NULL,          0,             TFLG_END}, /*  48 HTML_N_SELECT   */
    {"option",      ALST_OPTION,   MAXA_OPTION,   0},        /*  49 HTML_OPTION     */
    {"nobr",        NULL,          0,             0},        /*  50 HTML_NOBR       */
    {"/nobr",       NULL,          0,             TFLG_END}, /*  51 HTML_N_NOBR     */
    {"div",         ALST_P,        MAXA_P,        0},        /*  52 HTML_DIV        */
    {"/div",        NULL,          0,             TFLG_END}, /*  53 HTML_N_DIV      */
    {"isindex",     ALST_ISINDEX,  MAXA_ISINDEX,  0},        /*  54 HTML_ISINDEX    */
    {"map",         ALST_MAP,      MAXA_MAP,      0},        /*  55 HTML_MAP        */
    {"/map",        NULL,          0,             TFLG_END}, /*  56 HTML_N_MAP      */
    {"area",        ALST_AREA,     MAXA_AREA,     0},        /*  57 HTML_AREA       */
    {"script",      NULL,          0,             0},        /*  58 HTML_SCRIPT     */
    {"/script",     NULL,          0,             TFLG_END}, /*  59 HTML_N_SCRIPT   */
    {"base",        ALST_BASE,     MAXA_BASE,     0},        /*  60 HTML_BASE       */
    {"del",         NULL,          0,             0},        /*  61 HTML_DEL        */
    {"/del",        NULL,          0,             TFLG_END}, /*  62 HTML_N_DEL      */
    {"ins",         NULL,          0,             0},        /*  63 HTML_INS        */
    {"/ins",        NULL,          0,             TFLG_END}, /*  64 HTML_N_INS      */
    {"u",           NULL,          0,             0},        /*  65 HTML_U          */
    {"/u",          NULL,          0,             TFLG_END}, /*  66 HTML_N_U        */
    {"style",       NULL,          0,             0},        /*  67 HTML_STYLE      */
    {"/style",      NULL,          0,             TFLG_END}, /*  68 HTML_N_STYLE    */
    {"wbr",         NULL,          0,             0},        /*  69 HTML_WBR        */
    {"em",          NULL,          0,             0},        /*  70 HTML_EM         */
    {"/em",         NULL,          0,             TFLG_END}, /*  71 HTML_N_EM       */
    {"body",        ALST_BODY,     MAXA_BODY,     0},        /*  72 HTML_BODY       */
    {"/body",       NULL,          0,             TFLG_END}, /*  73 HTML_N_BODY     */
    {"tr",          ALST_TR,       MAXA_TR,       0},        /*  74 HTML_TR         */
    {"/tr",         NULL,          0,             TFLG_END}, /*  75 HTML_N_TR       */
    {"td",          ALST_TD,       MAXA_TD,       0},        /*  76 HTML_TD         */
    {"/td",         NULL,          0,             TFLG_END}, /*  77 HTML_N_TD       */
    {"caption",     NULL,          0,             0},        /*  78 HTML_CAPTION    */
    {"/caption",    NULL,          0,             TFLG_END}, /*  79 HTML_N_CAPTION  */
    {"th",          ALST_TD,       MAXA_TD,       0},        /*  80 HTML_TH         */
    {"/th",         NULL,          0,             TFLG_END}, /*  81 HTML_N_TH       */
    {"thead",       NULL,          0,             0},        /*  82 HTML_THEAD      */
    {"/thead",      NULL,          0,             TFLG_END}, /*  83 HTML_N_THEAD    */
    {"tbody",       NULL,          0,             0},        /*  84 HTML_TBODY      */
    {"/tbody",      NULL,          0,             TFLG_END}, /*  85 HTML_N_TBODY    */
    {"tfoot",       NULL,          0,             0},        /*  86 HTML_TFOOT      */
    {"/tfoot",      NULL,          0,             TFLG_END}, /*  87 HTML_N_TFOOT    */
    {"colgroup",    NULL,          0,             0},        /*  88 HTML_COLGROUP   */
    {"/colgroup",   NULL,          0,             TFLG_END}, /*  89 HTML_N_COLGROUP */
    {"col",         NULL,          0,             0},        /*  90 HTML_COL        */
    {"bgsound",     ALST_BGSOUND,  MAX_BGSOUND,   0},        /*  91 HTML_BGSOUND    */
    {"applet",      ALST_APPLET,   MAX_APPLET,    0},        /*  92 HTML_APPLET     */
    {"embed",       ALST_EMBED,    MAX_EMBED,     0},        /*  93 HTML_EMBED      */
    {"/option",     NULL,          0,             TFLG_END}, /*  94 HTML_N_OPTION   */
    {"head",        NULL,          0,             0},        /*  95 HTML_HEAD       */
    {"/head",       NULL,          0,             TFLG_END}, /*  96 HTML_N_HEAD     */
    {"doctype",     NULL,          0,             0},        /*  97 HTML_DOCTYPE    */
                    				       	  
    {NULL,          NULL,          0,             0},        /*  98 Undefined       */
    {NULL,          NULL,          0,             0},        /*  99 Undefined       */
    {NULL,          NULL,          0,             0},        /* 100 Undefined       */
    {NULL,          NULL,          0,             0},        /* 101 Undefined       */
    {NULL,          NULL,          0,             0},        /* 102 Undefined       */
    {NULL,          NULL,          0,             0},        /* 103 Undefined       */
    {NULL,          NULL,          0,             0},        /* 104 Undefined       */
    {NULL,          NULL,          0,             0},        /* 105 Undefined       */
    {NULL,          NULL,          0,             0},        /* 106 Undefined       */
    {NULL,          NULL,          0,             0},        /* 107 Undefined       */
    {NULL,          NULL,          0,             0},        /* 108 Undefined       */
    {NULL,          NULL,          0,             0},        /* 109 Undefined       */
    {NULL,          NULL,          0,             0},        /* 110 Undefined       */
    {NULL,          NULL,          0,             0},        /* 111 Undefined       */
    {NULL,          NULL,          0,             0},        /* 112 Undefined       */

    /* pseudo tag */
    {"table_alt",   ALST_TABLE_ALT,MAXA_TABLE_ALT,TFLG_INT}, /* 113 HTML_TABLE_ALT   */
    {"rule",        ALST_RULE,     MAXA_RULE,     TFLG_INT}, /* 114 HTML_RULE        */
    {"/rule",       NULL,          0,    TFLG_INT|TFLG_END}, /* 115 HTML_N_RULE      */
    {"pre_int",     NULL,          0,             TFLG_INT}, /* 116 HTML_PRE_INT     */
    {"/pre_int",    NULL,          0,    TFLG_INT|TFLG_END}, /* 117 HTML_N_PRE_INT   */
    {"title_alt",   ALST_TITLE_ALT,MAXA_TITLE_ALT,TFLG_INT}, /* 118 HTML_TITLE_ALT   */
    {"form_int",    ALST_FORM,     MAXA_FORM,     TFLG_INT}, /* 119 HTML_FORM_INT    */
    {"/form_int",   NULL,          0,    TFLG_INT|TFLG_END}, /* 120 HTML_N_FORM_INT  */
    {"dl_compat",   NULL,          0,             TFLG_INT}, /* 121 HTML_DL_COMPACT  */
    {"input_alt",   ALST_INPUT_ALT,MAXA_INPUT_ALT,TFLG_INT}, /* 122 HTML_INPUT_ALT   */
    {"/input_alt",  NULL,          0,    TFLG_INT|TFLG_END}, /* 123 HTML_N_INPUT_ALT */
    {"img_alt",     ALST_IMG_ALT,  MAXA_IMG_ALT,  TFLG_INT}, /* 124 HTML_IMG_ALT     */
    {"/img_alt",    NULL,          0,    TFLG_INT|TFLG_END}, /* 125 HTML_N_IMG_ALT   */
    {"eol",         NULL,          0,             TFLG_INT}, /* 126 HTML_EOL         */
    {" ",           ALST_NOP,      MAXA_NOP,      TFLG_INT}, /* 127 HTML_NOP         */
};
    
TagAttrInfo AttrMAP[MAX_TAGATTR] =
{
    {NULL            ,	VTYPE_NONE,    0},        /*  0 ATTR_UNKNOWN        */
    {"accept"        ,	VTYPE_NONE,    0},        /*  1 ATTR_ACCEPT         */
    {"accept-charset",	VTYPE_STR,     0},        /*  2 ATTR_ACCEPT_CHARSET */
    {"action"        ,	VTYPE_ACTION,  0},        /*  3 ATTR_ACTION         */
    {"align"         ,	VTYPE_ALIGN,   0},        /*  4 ATTR_ALIGN          */
    {"alt"           ,	VTYPE_STR,     0},        /*  5 ATTR_ALT            */
    {"archive"       ,	VTYPE_STR,     0},        /*  6 ATTR_ARCHIVE        */
    {"background"    ,	VTYPE_STR,     0},        /*  7 ATTR_BACKGROUND     */
    {"border"        ,	VTYPE_NUMBER,  0},        /*  8 ATTR_BORDER         */
    {"cellpadding"   ,	VTYPE_NUMBER,  0},        /*  9 ATTR_CELLPADDING    */
    {"cellspacing"   ,	VTYPE_NUMBER,  0},        /* 10 ATTR_CELLSPACING    */
    {"charset"       ,	VTYPE_STR,     0},        /* 11 ATTR_CHARSET        */
    {"checked"       ,	VTYPE_NONE,    0},        /* 12 ATTR_CHECKED        */
    {"cols"          ,	VTYPE_MLENGTH, 0},        /* 13 ATTR_COLS           */
    {"colspan"       ,	VTYPE_NUMBER,  0},        /* 14 ATTR_COLSPAN        */
    {"content"       ,	VTYPE_STR,     0},        /* 15 ATTR_CONTENT        */
    {"enctype"       ,	VTYPE_ENCTYPE, 0},        /* 16 ATTR_ENCTYPE        */
    {"height"        ,	VTYPE_LENGTH,  0},        /* 17 ATTR_HEIGHT         */
    {"href"          ,	VTYPE_STR,     0},        /* 18 ATTR_HREF           */
    {"http-equiv"    ,	VTYPE_STR,     0},        /* 19 ATTR_HTTP_EQUIV     */
    {"id"            ,	VTYPE_STR,     0},        /* 20 ATTR_ID             */
    {"link"          ,	VTYPE_STR,     0},        /* 21 ATTR_LINK           */
    {"maxlength"     ,	VTYPE_NUMBER,  0},        /* 22 ATTR_MAXLENGTH      */
    {"method"        ,	VTYPE_METHOD,  0},        /* 23 ATTR_METHOD         */
    {"multiple"      ,	VTYPE_NONE,    0},        /* 24 ATTR_MULTIPLE       */
    {"name"          ,	VTYPE_STR,     0},        /* 25 ATTR_NAME           */
    {"nowrap"        ,	VTYPE_NONE,    0},        /* 26 ATTR_NOWRAP         */
    {"prompt"        ,	VTYPE_STR,     0},        /* 27 ATTR_PROMPT         */
    {"rows"          ,	VTYPE_MLENGTH, 0},        /* 28 ATTR_ROWS           */
    {"rowspan"       ,	VTYPE_NUMBER,  0},        /* 29 ATTR_ROWSPAN        */
    {"size"          ,	VTYPE_NUMBER,  0},        /* 30 ATTR_SIZE           */
    {"src"           ,	VTYPE_STR,     0},        /* 31 ATTR_SRC            */
    {"target"        ,	VTYPE_STR,     0},        /* 32 ATTR_TARGET         */
    {"type"          ,	VTYPE_TYPE,    0},        /* 33 ATTR_TYPE           */
    {"usemap"        ,	VTYPE_STR,     0},        /* 34 ATTR_USEMAP         */
    {"valign"        ,	VTYPE_VALIGN,  0},        /* 35 ATTR_VALIGN         */
    {"value"         ,	VTYPE_STR,     0},        /* 36 ATTR_VALUE          */
    {"vspace"        ,	VTYPE_NUMBER,  0},        /* 37 ATTR_VSPACE         */
    {"width"         ,	VTYPE_LENGTH,  0},        /* 38 ATTR_WIDTH          */
    {"compact"       ,	VTYPE_NONE,    0},        /* 39 ATTR_COMPACT        */
    {"start"         ,	VTYPE_NUMBER,  0},        /* 40 ATTR_START          */
    {"selected"      ,	VTYPE_NONE,    0},        /* 41 ATTR_SELECTED       */
    {"label"         ,	VTYPE_STR,     0},        /* 42 ATTR_LABEL          */
    {"readonly"      ,       VTYPE_NONE,    0},        /* 43 ATTR_READONLY       */
                                       		   
    {NULL            ,	VTYPE_NONE,    0},        /* 44 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 45 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 46 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 47 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 48 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 49 Undefined           */
    {NULL            ,	VTYPE_NONE,    0},        /* 50 Undefined           */
                                                           		   
    /* Internal attribute */                               		   
    {"top_margin"    ,	VTYPE_NUMBER,  AFLG_INT}, /* 51 ATTR_TOP_MARGIN,    */
    {"bottom_margin" ,	VTYPE_NUMBER,  AFLG_INT}, /* 52 ATTR_BOTTOM_MARGIN, */
    {"tid"           ,	VTYPE_NUMBER,  AFLG_INT}, /* 53 ATTR_TID            */
    {"fid"           ,	VTYPE_NUMBER,  AFLG_INT}, /* 54 ATTR_FID            */
    {"for_table"     ,	VTYPE_NONE,    AFLG_INT}, /* 55 ATTR_FOR_TABLE      */
    {"framename"     ,	VTYPE_STR,     AFLG_INT}, /* 56 ATTR_FRAMENAME      */
    {"hborder"       ,	VTYPE_NONE,    0},        /* 57 ATTR_HBORDER        */
    {"hseq"          ,	VTYPE_NUMBER,  AFLG_INT}, /* 58 ATTR_HSEQ           */
    {"no_effect"     ,	VTYPE_NONE,    AFLG_INT}, /* 59 ATTR_NO_EFFECT      */
    {"referer"       ,	VTYPE_STR,     AFLG_INT}, /* 60 ATTR_REFERER        */
    {"selectnumber"  ,	VTYPE_NUMBER,  AFLG_INT}, /* 61 ATTR_SELECTNUMBER   */
    {"textareanumber",	VTYPE_NUMBER,  AFLG_INT}, /* 62 ATTR_TEXTAREANUMBER */
    {"title"         ,	VTYPE_STR,     AFLG_INT}, /* 63 ATTR_TITLE          */
};