Main Page   Modules   Compound List   File List   Compound Members   File Members   Related Pages  

wbxml_tables.c

Go to the documentation of this file.
00001 /*
00002  * WBXML Lib, the WBXML Library.
00003  * Copyright (C) 2002-2003  Aymerick Jéhanne
00004  * 
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License (version 2.1) as published by the Free Software Foundation.
00008  * 
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  *
00018  * LGPL v2.1: http://www.gnu.org/licenses/lgpl.txt
00019  *
00020  * Author Contact: libwbxml@jehanne.org
00021  * WBXML Lib home: http://libwbxml.jehanne.org
00022  */
00023  
00034 #include <string.h> /* For strcmp() */
00035 
00036 #include "wbxml.h"
00037 
00043 #undef WBXML_TABLES_SEPARATE_WML_VERSIONS
00044 
00045 
00046 /**************************************
00047  * Languages Public IDs
00048  */
00049 
00050 /* WAP */
00051 #if defined( WBXML_SUPPORT_WML )
00052 WBXMLPublicIDEntry sv_wml10_public_id           = { WBXML_PUBLIC_ID_WML10,              XML_PUBLIC_ID_WML10,            "wml",                  "http://www.wapforum.org/DTD/wml.xml"               };
00053 WBXMLPublicIDEntry sv_wml11_public_id           = { WBXML_PUBLIC_ID_WML11,              XML_PUBLIC_ID_WML11,            "wml",                  "http://www.wapforum.org/DTD/wml_1_1.dtd"           };
00054 WBXMLPublicIDEntry sv_wml12_public_id           = { WBXML_PUBLIC_ID_WML12,              XML_PUBLIC_ID_WML12,            "wml",                  "http://www.wapforum.org/DTD/wml12.dtd"             };
00055 WBXMLPublicIDEntry sv_wml13_public_id           = { WBXML_PUBLIC_ID_WML13,              XML_PUBLIC_ID_WML13,            "wml",                  "http://www.wapforum.org/DTD/wml13.dtd"             };
00056 #endif /* WBXML_SUPPORT_WML */
00057 
00058 #if defined( WBXML_SUPPORT_WTA )
00059 WBXMLPublicIDEntry sv_wta10_public_id           = { WBXML_PUBLIC_ID_WTA10,              XML_PUBLIC_ID_WTA10,            "wtai",                 "wtai.dtd"                                          };
00060 WBXMLPublicIDEntry sv_wtawml12_public_id        = { WBXML_PUBLIC_ID_WTAWML12,           XML_PUBLIC_ID_WTAWML12,         "wta-wml",              "http://www.wapforum.org/DTD/wta-wml12.dtd"         };
00061 WBXMLPublicIDEntry sv_channel11_public_id       = { WBXML_PUBLIC_ID_CHANNEL11,          XML_PUBLIC_ID_CHANNEL11,        "channel",              ""                                                  };
00062 WBXMLPublicIDEntry sv_channel12_public_id       = { WBXML_PUBLIC_ID_CHANNEL12,          XML_PUBLIC_ID_CHANNEL12,        "channel",              "http://www.wapforum.org/DTD/channel12.dtd"         };
00063 #endif /* WBXML_SUPPORT_WTA */
00064 
00065 #if defined( WBXML_SUPPORT_SI )
00066 WBXMLPublicIDEntry sv_si10_public_id            = { WBXML_PUBLIC_ID_SI10,               XML_PUBLIC_ID_SI10,             "si",                   "http://www.wapforum.org/DTD/si.dtd"                };
00067 #endif /* WBXML_SUPPORT_SI */
00068 
00069 #if defined( WBXML_SUPPORT_SL )
00070 WBXMLPublicIDEntry sv_sl10_public_id            = { WBXML_PUBLIC_ID_SL10,               XML_PUBLIC_ID_SL10,             "sl",                   "http://www.wapforum.org/DTD/sl.dtd"                };
00071 #endif /* WBXML_SUPPORT_SL */
00072 
00073 #if defined( WBXML_SUPPORT_CO )
00074 WBXMLPublicIDEntry sv_co10_public_id            = { WBXML_PUBLIC_ID_CO10,               XML_PUBLIC_ID_CO10,             "co",                   "http://www.wapforum.org/DTD/co_1.0.dtd"            };
00075 #endif /* WBXML_SUPPORT_CO */
00076 
00077 #if defined( WBXML_SUPPORT_PROV )
00078 WBXMLPublicIDEntry sv_prov10_public_id          = { WBXML_PUBLIC_ID_PROV10,             XML_PUBLIC_ID_PROV10,           "wap-provisioningdoc",  "http://www.wapforum.org/DTD/prov.dtd"              };
00079 #endif /* WBXML_SUPPORT_PROV */
00080 
00081 #if defined( WBXML_SUPPORT_EMN )
00082 WBXMLPublicIDEntry sv_emn10_public_id           = { WBXML_PUBLIC_ID_EMN10,              XML_PUBLIC_ID_EMN10,            "emn",                  "http://www.wapforum.org/DTD/emn.dtd"               }; 
00083 #endif /* WBXML_SUPPORT_EMN */
00084 
00085 #if defined( WBXML_SUPPORT_DRMREL )
00086 WBXMLPublicIDEntry sv_drmrel10_public_id        = { WBXML_PUBLIC_ID_DRMREL10,           XML_PUBLIC_ID_DRMREL10,         "o-ex:rights",          "http://www.openmobilealliance.org/DTD/drmrel10.dtd"};
00087 #endif /* WBXML_SUPPORT_DRMREL */
00088 
00089 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
00090 /* Ericsson / Nokia OTA Settings v7.0 */
00091 WBXMLPublicIDEntry sv_ota_settings_public_id    = { WBXML_PUBLIC_ID_OTA_SETTINGS,       XML_PUBLIC_ID_OTA_SETTINGS,     "CHARACTERISTIC-LIST",  "characteristic-list.dtd"  };
00092 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
00093 
00094 #if defined( WBXML_SUPPORT_SYNCML )
00095 /* SyncML 1.0 */
00096 WBXMLPublicIDEntry sv_syncml_syncml10_public_id = { WBXML_PUBLIC_ID_SYNCML_SYNCML10,    XML_PUBLIC_ID_SYNCML_SYNCML10,  "SyncML",                   "http://www.syncml.org/docs/syncml_represent_v10_20001207.dtd"  };  
00097 WBXMLPublicIDEntry sv_syncml_devinf10_public_id = { WBXML_PUBLIC_ID_SYNCML_DEVINF10,    XML_PUBLIC_ID_SYNCML_DEVINF10,  "DevInf",               "http://www.syncml.org/docs/syncml_devinf_v10_20001207.dtd"     };
00098 WBXMLPublicIDEntry sv_syncml_metinf10_public_id = { WBXML_PUBLIC_ID_SYNCML_METINF10,    XML_PUBLIC_ID_SYNCML_METINF10,  "MetInf",               "http://www.syncml.org/docs/syncml_metinf_v10_20001207.dtd"     };
00099 
00100 /* SyncML 1.1 */
00101 WBXMLPublicIDEntry sv_syncml_syncml11_public_id = { WBXML_PUBLIC_ID_SYNCML_SYNCML11,    XML_PUBLIC_ID_SYNCML_SYNCML11,  "SyncML",               "http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd"  };
00102 WBXMLPublicIDEntry sv_syncml_devinf11_public_id = { WBXML_PUBLIC_ID_SYNCML_DEVINF11,    XML_PUBLIC_ID_SYNCML_DEVINF11,  "DevInf",               "http://www.syncml.org/docs/devinf_v11_20020215.dtd"            };
00103 WBXMLPublicIDEntry sv_syncml_metinf11_public_id = { WBXML_PUBLIC_ID_SYNCML_METINF11,    XML_PUBLIC_ID_SYNCML_METINF11,  "MetInf",               "http://www.syncml.org/docs/syncml_metinf_v11_20020215.dtd"     };
00104 #endif /* WBXML_SUPPORT_SYNCML */
00105 
00106 #if defined( WBXML_SUPPORT_WV )
00107 /* OMA Wireless Village CSP 1.1 / 1.2 */
00108 WBXMLPublicIDEntry sv_wv_csp11_public_id        = { WBXML_PUBLIC_ID_WV_CSP11,           XML_PUBLIC_ID_WV_CSP11,         "WV-CSP-Message",       "http://www.openmobilealliance.org/DTD/WV-CSP.XML"  };
00109 WBXMLPublicIDEntry sv_wv_csp12_public_id        = { WBXML_PUBLIC_ID_WV_CSP12,           XML_PUBLIC_ID_WV_CSP12,         "WV-CSP-Message",       "http://www.openmobilealliance.org/DTD/WV-CSP.DTD"  };
00110 #endif /* WBXML_SUPPORT_WV */
00111 
00112 
00113 /**************************************
00114  * Languages Tables
00115  */
00116 
00117 #if defined( WBXML_SUPPORT_WML )
00118 
00119 #ifdef WBXML_TABLES_SEPARATE_WML_VERSIONS
00120 
00121 /********************************************
00122  *    WML 1.0 (WAP 1.0: "WML-30-Apr-98.pdf")
00123  */
00124 
00125 const WBXMLTagEntry sv_wml10_tag_table[] = {
00126     { "a",         0x00, 0x22 },
00127     { "access",    0x00, 0x23 },
00128     { "b",         0x00, 0x24 },
00129     { "big",       0x00, 0x25 },
00130     { "br",        0x00, 0x26 },
00131     { "card",      0x00, 0x27 },
00132     { "do",        0x00, 0x28 },
00133     { "em",        0x00, 0x29 },
00134     { "fieldset",  0x00, 0x2a },
00135     { "go",        0x00, 0x2b },
00136     { "head",      0x00, 0x2c },
00137     { "i",         0x00, 0x2d },
00138     { "img",       0x00, 0x2e },
00139     { "input",     0x00, 0x2f },
00140     { "meta",      0x00, 0x30 },
00141     { "noop",      0x00, 0x31 },
00142     { "prev",      0x00, 0x32 },
00143     { "onevent",   0x00, 0x33 },
00144     { "optgroup",  0x00, 0x34 },
00145     { "option",    0x00, 0x35 },
00146     { "refresh",   0x00, 0x36 },
00147     { "select",    0x00, 0x37 },
00148     { "small",     0x00, 0x38 },
00149     { "strong",    0x00, 0x39 },
00150     { "tab",       0x00, 0x3a }, /* Deprecated */
00151     { "template",  0x00, 0x3b },
00152     { "timer",     0x00, 0x3c },
00153     { "u",         0x00, 0x3d },
00154     { "var",       0x00, 0x3e },
00155     { "wml",       0x00, 0x3f },
00156     { NULL,        0x00, 0x00 }
00157 };
00158 
00159 
00160 const WBXMLAttrEntry sv_wml10_attr_table[] = {
00161     { "accept-charset",  NULL,                                0x00, 0x05 },
00162     { "align",           "bottom",                            0x00, 0x06 },
00163     { "align",           "center",                            0x00, 0x07 },
00164     { "align",           "left",                              0x00, 0x08 },
00165     { "align",           "middle",                            0x00, 0x09 },
00166     { "align",           "right",                             0x00, 0x0a },
00167     { "align",           "top",                               0x00, 0x0b },
00168     { "alt",             NULL,                                0x00, 0x0c },
00169     { "content",         NULL,                                0x00, 0x0d },
00170     { "default",         NULL,                                0x00, 0x0e },
00171     { "domain",          NULL,                                0x00, 0x0f },
00172     { "emptyok",         "false",                             0x00, 0x10 },
00173     { "emptyok",         "true",                              0x00, 0x11 },
00174     { "format",          NULL,                                0x00, 0x12 },
00175     { "height",          NULL,                                0x00, 0x13 },
00176     { "hspace",          NULL,                                0x00, 0x14 },
00177     { "idefault",        NULL,                                0x00, 0x15 }, /* Deprecated */
00178     { "ikey",            NULL,                                0x00, 0x16 }, /* Deprecated */
00179     { "key",             NULL,                                0x00, 0x17 }, /* Deprecated */
00180     { "label",           NULL,                                0x00, 0x18 },
00181     { "localsrc",        NULL,                                0x00, 0x19 },
00182     { "maxlength",       NULL,                                0x00, 0x1a },
00183     { "method",          "get",                               0x00, 0x1b },
00184     { "method",          "post",                              0x00, 0x1c },
00185     { "mode",            "nowrap",                            0x00, 0x1d },
00186     { "mode",            "wrap",                              0x00, 0x1e },
00187     { "multiple",        "false",                             0x00, 0x1f },
00188     { "multiple",        "true",                              0x00, 0x20 },
00189     { "name",            NULL,                                0x00, 0x21 },
00190     { "newcontext",      "false",                             0x00, 0x22 },
00191     { "newcontext",      "true",                              0x00, 0x23 },
00192     { "onclick",         NULL,                                0x00, 0x24 }, /* Deprecated */
00193     { "onenterbackward", NULL,                                0x00, 0x25 },
00194     { "onenterforward",  NULL,                                0x00, 0x26 },
00195     { "ontimer",         NULL,                                0x00, 0x27 },
00196     { "optional",        "false",                             0x00, 0x28 },
00197     { "optional",        "true",                              0x00, 0x29 },
00198     { "path",            NULL,                                0x00, 0x2a },
00199     { "postdata",        NULL,                                0x00, 0x2b }, /* Deprecated */
00200     { "public",          "false",                             0x00, 0x2c }, /* Deprecated */
00201     { "public",          "true",                              0x00, 0x2d }, /* Deprecated */
00202     { "scheme",          NULL,                                0x00, 0x2e },
00203     { "sendreferer",     "false",                             0x00, 0x2f },
00204     { "sendreferer",     "true",                              0x00, 0x30 },
00205     { "size",            NULL,                                0x00, 0x31 },
00206     { "src",             NULL,                                0x00, 0x32 },
00207     { "style",           "list",                              0x00, 0x33 }, /* Deprecated */
00208     { "style",           "set",                               0x00, 0x34 }, /* Deprecated */
00209     { "tabindex",        NULL,                                0x00, 0x35 },
00210     { "title",           NULL,                                0x00, 0x36 },
00211     { "type",            NULL,                                0x00, 0x37 },
00212     { "type",            "accept",                            0x00, 0x38 },
00213     { "type",            "delete",                            0x00, 0x39 },
00214     { "type",            "help",                              0x00, 0x3a },
00215     { "type",            "password",                          0x00, 0x3b },
00216     { "type",            "onpick",                            0x00, 0x3c },
00217     { "type",            "onenterbackward",                   0x00, 0x3d },
00218     { "type",            "onenterforward",                    0x00, 0x3e },
00219     { "type",            "ontimer",                           0x00, 0x3f },
00220     { "type",            "options",                           0x00, 0x45 },
00221     { "type",            "prev",                              0x00, 0x46 },
00222     { "type",            "reset",                             0x00, 0x47 },
00223     { "type",            "text",                              0x00, 0x48 },
00224     { "type",            "vnd.",                              0x00, 0x49 },
00225     { "url",             NULL,                                0x00, 0x4a }, /* Deprecated */
00226     { "url",             "http://",                           0x00, 0x4b }, /* Deprecated */
00227     { "url",             "https://",                          0x00, 0x4c }, /* Deprecated */
00228     { "user-agent",      NULL,                                0x00, 0x4d }, /* Deprecated */
00229     { "value",           NULL,                                0x00, 0x4e },
00230     { "vspace",          NULL,                                0x00, 0x4f },
00231     { "width",           NULL,                                0x00, 0x50 },
00232     { "xml:lang",        NULL,                                0x00, 0x51 },
00233     { NULL,              NULL,                                0x00, 0x00 }
00234 };
00235 
00236 
00237 const WBXMLAttrValueEntry sv_wml10_attr_value_table[] = {
00238     { ".com/",           0x00, 0x85 },
00239     { ".edu/",           0x00, 0x86 },
00240     { ".net/",           0x00, 0x87 },
00241     { ".org/",           0x00, 0x88 },
00242     { "accept",          0x00, 0x89 },
00243     { "bottom",          0x00, 0x8a },
00244     { "clear",           0x00, 0x8b },
00245     { "delete",          0x00, 0x8c },
00246     { "help",            0x00, 0x8d },
00247     /* Do NOT change the order in this table please ! */
00248     { "http://www.",     0x00, 0x8f }, 
00249     { "http://",         0x00, 0x8e },
00250     { "https://www.",    0x00, 0x91 },
00251     { "https://",        0x00, 0x90 },    
00252     { "list",            0x00, 0x92 }, /* Deprecated */
00253     { "middle",          0x00, 0x93 },
00254     { "nowrap",          0x00, 0x94 },
00255     { "onclick",         0x00, 0x95 }, /* Deprecated */
00256     { "onenterbackward", 0x00, 0x96 },
00257     { "onenterforward",  0x00, 0x97 },
00258     { "ontimer",         0x00, 0x98 },
00259     { "options",         0x00, 0x99 },
00260     { "password",        0x00, 0x9a },
00261     { "reset",           0x00, 0x9b },
00262     { "set",             0x00, 0x9c }, /* Deprecated */
00263     { "text",            0x00, 0x9d },
00264     { "top",             0x00, 0x9e },
00265     { "unknown",         0x00, 0x9f },
00266     { "wrap",            0x00, 0xa0 },
00267     { "www.",            0x00, 0xa1 },
00268     { NULL,              0x00, 0x00 }
00269 };
00270 
00271 
00272 /***********************************************
00273  *    WML 1.1 (WAP 1.1: "SPEC-WML-19990616.pdf")
00274  */
00275 
00276 const WBXMLTagEntry sv_wml11_tag_table[] = {
00277     { "a",         0x00, 0x1c },
00278     { "anchor",    0x00, 0x22 }, /* WML 1.1 */
00279     { "access",    0x00, 0x23 },
00280     { "b",         0x00, 0x24 },
00281     { "big",       0x00, 0x25 },
00282     { "br",        0x00, 0x26 },
00283     { "card",      0x00, 0x27 },
00284     { "do",        0x00, 0x28 },
00285     { "em",        0x00, 0x29 },
00286     { "fieldset",  0x00, 0x2a },
00287     { "go",        0x00, 0x2b },
00288     { "head",      0x00, 0x2c },
00289     { "i",         0x00, 0x2d },
00290     { "img",       0x00, 0x2e },
00291     { "input",     0x00, 0x2f },
00292     { "meta",      0x00, 0x30 },
00293     { "noop",      0x00, 0x31 },
00294     { "p",         0x00, 0x20 }, /* WML 1.1 */
00295     { "postfield", 0x00, 0x21 }, /* WML 1.1 */
00296     { "prev",      0x00, 0x32 },
00297     { "onevent",   0x00, 0x33 },
00298     { "optgroup",  0x00, 0x34 },
00299     { "option",    0x00, 0x35 },
00300     { "refresh",   0x00, 0x36 },
00301     { "select",    0x00, 0x37 },
00302     { "setvar",    0x00, 0x3e }, /* WML 1.1 */
00303     { "small",     0x00, 0x38 }, 
00304     { "strong",    0x00, 0x39 },
00305     { "table",     0x00, 0x1f }, /* WML 1.1 */
00306     { "td",        0x00, 0x1d }, /* WML 1.1 */
00307     { "template",  0x00, 0x3b },
00308     { "timer",     0x00, 0x3c },
00309     { "tr",        0x00, 0x1e }, /* WML 1.1 */
00310     { "u",         0x00, 0x3d },
00311     { "wml",       0x00, 0x3f },
00312     { NULL,        0x00, 0x00 }
00313 };
00314 
00315 
00316 const WBXMLAttrEntry sv_wml11_attr_table[] = {
00317     { "accept-charset",  NULL,                                0x00, 0x05 },
00318     { "align",           NULL,                                0x00, 0x52 }, /* WML 1.1 */
00319     { "align",           "bottom",                            0x00, 0x06 },
00320     { "align",           "center",                            0x00, 0x07 },
00321     { "align",           "left",                              0x00, 0x08 },
00322     { "align",           "middle",                            0x00, 0x09 },
00323     { "align",           "right",                             0x00, 0x0a },
00324     { "align",           "top",                               0x00, 0x0b },
00325     { "alt",             NULL,                                0x00, 0x0c },
00326     { "class",           NULL,                                0x00, 0x54 }, /* WML 1.1 */
00327     { "columns",         NULL,                                0x00, 0x53 }, /* WML 1.1 */
00328     { "content",         NULL,                                0x00, 0x0d },
00329     { "content",         "application/vnd.wap.wmlc;charset=", 0x00, 0x5c }, /* WML 1.1 */
00330     { "domain",          NULL,                                0x00, 0x0f },
00331     { "emptyok",         "false",                             0x00, 0x10 },
00332     { "emptyok",         "true",                              0x00, 0x11 },
00333     { "format",          NULL,                                0x00, 0x12 },
00334     { "forua",           "false",                             0x00, 0x56 }, /* WML 1.1 */
00335     { "forua",           "true",                              0x00, 0x57 }, /* WML 1.1 */
00336     { "height",          NULL,                                0x00, 0x13 },
00337     { "href",            NULL,                                0x00, 0x4a }, /* WML 1.1 */
00338     { "href",            "http://",                           0x00, 0x4b }, /* WML 1.1 */
00339     { "href",            "https://",                          0x00, 0x4c }, /* WML 1.1 */
00340     { "hspace",          NULL,                                0x00, 0x14 },
00341     { "http-equiv",      NULL,                                0x00, 0x5a }, /* WML 1.1 */
00342     { "http-equiv",      "Content-Type",                      0x00, 0x5b }, /* WML 1.1 */
00343     { "http-equiv",      "Expires",                           0x00, 0x5d }, /* WML 1.1 */
00344     { "id",              NULL,                                0x00, 0x55 }, /* WML 1.1 */
00345     { "ivalue",          NULL,                                0x00, 0x15 }, /* WML 1.1 */
00346     { "iname",           NULL,                                0x00, 0x16 }, /* WML 1.1 */
00347     { "label",           NULL,                                0x00, 0x18 },
00348     { "localsrc",        NULL,                                0x00, 0x19 },
00349     { "maxlength",       NULL,                                0x00, 0x1a },
00350     { "method",          "get",                               0x00, 0x1b },
00351     { "method",          "post",                              0x00, 0x1c },
00352     { "mode",            "nowrap",                            0x00, 0x1d },
00353     { "mode",            "wrap",                              0x00, 0x1e },
00354     { "multiple",        "false",                             0x00, 0x1f },
00355     { "multiple",        "true",                              0x00, 0x20 },
00356     { "name",            NULL,                                0x00, 0x21 },
00357     { "newcontext",      "false",                             0x00, 0x22 },
00358     { "newcontext",      "true",                              0x00, 0x23 },
00359     { "onenterbackward", NULL,                                0x00, 0x25 },
00360     { "onenterforward",  NULL,                                0x00, 0x26 },
00361     { "onpick",          NULL,                                0x00, 0x24 }, /* WML 1.1 */
00362     { "ontimer",         NULL,                                0x00, 0x27 },
00363     { "optional",        "false",                             0x00, 0x28 },
00364     { "optional",        "true",                              0x00, 0x29 },
00365     { "path",            NULL,                                0x00, 0x2a },
00366     { "scheme",          NULL,                                0x00, 0x2e },
00367     { "sendreferer",     "false",                             0x00, 0x2f },
00368     { "sendreferer",     "true",                              0x00, 0x30 },
00369     { "size",            NULL,                                0x00, 0x31 },
00370     { "src",             NULL,                                0x00, 0x32 },
00371     { "src",             "http://",                           0x00, 0x58 }, /* WML 1.1 */
00372     { "src",             "https://",                          0x00, 0x59 }, /* WML 1.1 */
00373     { "ordered",         "true",                              0x00, 0x33 }, /* WML 1.1 */
00374     { "ordered",         "false",                             0x00, 0x34 }, /* WML 1.1 */
00375     { "tabindex",        NULL,                                0x00, 0x35 },
00376     { "title",           NULL,                                0x00, 0x36 },
00377     { "type",            NULL,                                0x00, 0x37 },
00378     { "type",            "accept",                            0x00, 0x38 },
00379     { "type",            "delete",                            0x00, 0x39 },
00380     { "type",            "help",                              0x00, 0x3a },
00381     { "type",            "password",                          0x00, 0x3b },
00382     { "type",            "onpick",                            0x00, 0x3c },
00383     { "type",            "onenterbackward",                   0x00, 0x3d },
00384     { "type",            "onenterforward",                    0x00, 0x3e },
00385     { "type",            "ontimer",                           0x00, 0x3f },
00386     { "type",            "options",                           0x00, 0x45 },
00387     { "type",            "prev",                              0x00, 0x46 },
00388     { "type",            "reset",                             0x00, 0x47 },
00389     { "type",            "text",                              0x00, 0x48 },
00390     { "type",            "vnd.",                              0x00, 0x49 },
00391     { "value",           NULL,                                0x00, 0x4d },
00392     { "vspace",          NULL,                                0x00, 0x4e },
00393     { "width",           NULL,                                0x00, 0x4f },
00394     { "xml:lang",        NULL,                                0x00, 0x50 },
00395     { NULL,              NULL,                                0x00, 0x00 }
00396 };
00397 
00398 
00399 const WBXMLAttrValueEntry sv_wml11_attr_value_table[] = {
00400     { ".com/",           0x00, 0x85 },
00401     { ".edu/",           0x00, 0x86 },
00402     { ".net/",           0x00, 0x87 },
00403     { ".org/",           0x00, 0x88 },
00404     { "accept",          0x00, 0x89 },
00405     { "bottom",          0x00, 0x8a },
00406     { "clear",           0x00, 0x8b },
00407     { "delete",          0x00, 0x8c },
00408     { "help",            0x00, 0x8d },
00409     /* Do NOT change the order in this table please ! */
00410     { "http://www.",     0x00, 0x8f },
00411     { "http://",         0x00, 0x8e },
00412     { "https://www.",    0x00, 0x91 },
00413     { "https://",        0x00, 0x90 },    
00414     { "middle",          0x00, 0x93 },
00415     { "nowrap",          0x00, 0x94 },
00416     { "onenterbackward", 0x00, 0x96 },
00417     { "onenterforward",  0x00, 0x97 },
00418     { "onpick",          0x00, 0x95 }, /* WML 1.1 */
00419     { "ontimer",         0x00, 0x98 },
00420     { "options",         0x00, 0x99 },
00421     { "password",        0x00, 0x9a },
00422     { "reset",           0x00, 0x9b },
00423     { "text",            0x00, 0x9d },
00424     { "top",             0x00, 0x9e },
00425     { "unknown",         0x00, 0x9f },
00426     { "wrap",            0x00, 0xa0 },
00427     { "www.",            0x00, 0xa1 },
00428     { NULL,              0x00, 0x00 }
00429 };
00430 
00431 
00432 /***********************************************
00433  *    WML 1.2 (WAP 1.2: "SPEC-WML-19991104.pdf")
00434  */
00435 
00436 const WBXMLTagEntry sv_wml12_tag_table[] = {
00437     { "a",         0x00, 0x1c },
00438     { "anchor",    0x00, 0x22 },
00439     { "access",    0x00, 0x23 },
00440     { "b",         0x00, 0x24 },
00441     { "big",       0x00, 0x25 },
00442     { "br",        0x00, 0x26 },
00443     { "card",      0x00, 0x27 },
00444     { "do",        0x00, 0x28 },
00445     { "em",        0x00, 0x29 },
00446     { "fieldset",  0x00, 0x2a },
00447     { "go",        0x00, 0x2b },
00448     { "head",      0x00, 0x2c },
00449     { "i",         0x00, 0x2d },
00450     { "img",       0x00, 0x2e },
00451     { "input",     0x00, 0x2f },
00452     { "meta",      0x00, 0x30 },
00453     { "noop",      0x00, 0x31 },
00454     { "p",         0x00, 0x20 },
00455     { "postfield", 0x00, 0x21 },
00456     { "pre",       0x00, 0x1b },
00457     { "prev",      0x00, 0x32 },
00458     { "onevent",   0x00, 0x33 },
00459     { "optgroup",  0x00, 0x34 },
00460     { "option",    0x00, 0x35 },
00461     { "refresh",   0x00, 0x36 },
00462     { "select",    0x00, 0x37 },
00463     { "setvar",    0x00, 0x3e },
00464     { "small",     0x00, 0x38 },
00465     { "strong",    0x00, 0x39 },
00466     { "table",     0x00, 0x1f },
00467     { "td",        0x00, 0x1d },
00468     { "template",  0x00, 0x3b },
00469     { "timer",     0x00, 0x3c },
00470     { "tr",        0x00, 0x1e },
00471     { "u",         0x00, 0x3d },
00472     { "wml",       0x00, 0x3f },
00473     { NULL,        0x00, 0x00 }
00474 };
00475 
00476 
00477 const WBXMLAttrEntry sv_wml12_attr_table[] = {
00478     { "accept-charset",  NULL,                                0x00, 0x05 },
00479     { "accesskey",       NULL,                                0x00, 0x5e }, /* WML 1.2 */
00480     { "align",           NULL,                                0x00, 0x52 },
00481     { "align",           "bottom",                            0x00, 0x06 },
00482     { "align",           "center",                            0x00, 0x07 },
00483     { "align",           "left",                              0x00, 0x08 },
00484     { "align",           "middle",                            0x00, 0x09 },
00485     { "align",           "right",                             0x00, 0x0a },
00486     { "align",           "top",                               0x00, 0x0b },
00487     { "alt",             NULL,                                0x00, 0x0c },
00488     { "class",           NULL,                                0x00, 0x54 },
00489     { "columns",         NULL,                                0x00, 0x53 },
00490     { "content",         NULL,                                0x00, 0x0d },
00491     { "content",         "application/vnd.wap.wmlc;charset=", 0x00, 0x5c },
00492     { "domain",          NULL,                                0x00, 0x0f },
00493     { "emptyok",         "false",                             0x00, 0x10 },
00494     { "emptyok",         "true",                              0x00, 0x11 },
00495     { "enctype",         NULL,                                0x00, 0x5f }, /* WML 1.2 */
00496     { "enctype",         "application/x-www-form-urlencoded", 0x00, 0x60 }, /* WML 1.2 */
00497     { "enctype",         "multipart/form-data",               0x00, 0x61 }, /* WML 1.2 */
00498     { "format",          NULL,                                0x00, 0x12 },
00499     { "forua",           "false",                             0x00, 0x56 },
00500     { "forua",           "true",                              0x00, 0x57 },
00501     { "height",          NULL,                                0x00, 0x13 },
00502     { "href",            NULL,                                0x00, 0x4a },
00503     { "href",            "http://",                           0x00, 0x4b },
00504     { "href",            "https://",                          0x00, 0x4c },
00505     { "hspace",          NULL,                                0x00, 0x14 },
00506     { "http-equiv",      NULL,                                0x00, 0x5a },
00507     { "http-equiv",      "Content-Type",                      0x00, 0x5b },
00508     { "http-equiv",      "Expires",                           0x00, 0x5d },
00509     { "id",              NULL,                                0x00, 0x55 },
00510     { "ivalue",          NULL,                                0x00, 0x15 },
00511     { "iname",           NULL,                                0x00, 0x16 },
00512     { "label",           NULL,                                0x00, 0x18 },
00513     { "localsrc",        NULL,                                0x00, 0x19 },
00514     { "maxlength",       NULL,                                0x00, 0x1a },
00515     { "method",          "get",                               0x00, 0x1b },
00516     { "method",          "post",                              0x00, 0x1c },
00517     { "mode",            "nowrap",                            0x00, 0x1d },
00518     { "mode",            "wrap",                              0x00, 0x1e },
00519     { "multiple",        "false",                             0x00, 0x1f },
00520     { "multiple",        "true",                              0x00, 0x20 },
00521     { "name",            NULL,                                0x00, 0x21 },
00522     { "newcontext",      "false",                             0x00, 0x22 },
00523     { "newcontext",      "true",                              0x00, 0x23 },
00524     { "onenterbackward", NULL,                                0x00, 0x25 },
00525     { "onenterforward",  NULL,                                0x00, 0x26 },
00526     { "onpick",          NULL,                                0x00, 0x24 },
00527     { "ontimer",         NULL,                                0x00, 0x27 },
00528     { "optional",        "false",                             0x00, 0x28 },
00529     { "optional",        "true",                              0x00, 0x29 },
00530     { "path",            NULL,                                0x00, 0x2a },
00531     { "scheme",          NULL,                                0x00, 0x2e },
00532     { "sendreferer",     "false",                             0x00, 0x2f },
00533     { "sendreferer",     "true",                              0x00, 0x30 },
00534     { "size",            NULL,                                0x00, 0x31 },
00535     { "src",             NULL,                                0x00, 0x32 },
00536     { "src",             "http://",                           0x00, 0x58 },
00537     { "src",             "https://",                          0x00, 0x59 },
00538     { "ordered",         "true",                              0x00, 0x33 },
00539     { "ordered",         "false",                             0x00, 0x34 },
00540     { "tabindex",        NULL,                                0x00, 0x35 },
00541     { "title",           NULL,                                0x00, 0x36 },
00542     { "type",            NULL,                                0x00, 0x37 },
00543     { "type",            "accept",                            0x00, 0x38 },
00544     { "type",            "delete",                            0x00, 0x39 },
00545     { "type",            "help",                              0x00, 0x3a },
00546     { "type",            "password",                          0x00, 0x3b },
00547     { "type",            "onpick",                            0x00, 0x3c },
00548     { "type",            "onenterbackward",                   0x00, 0x3d },
00549     { "type",            "onenterforward",                    0x00, 0x3e },
00550     { "type",            "ontimer",                           0x00, 0x3f },
00551     { "type",            "options",                           0x00, 0x45 },
00552     { "type",            "prev",                              0x00, 0x46 },
00553     { "type",            "reset",                             0x00, 0x47 },
00554     { "type",            "text",                              0x00, 0x48 },
00555     { "type",            "vnd.",                              0x00, 0x49 },
00556     { "value",           NULL,                                0x00, 0x4d },
00557     { "vspace",          NULL,                                0x00, 0x4e },
00558     { "width",           NULL,                                0x00, 0x4f },
00559     { "xml:lang",        NULL,                                0x00, 0x50 },
00560     { NULL,              NULL,                                0x00, 0x00 }
00561 };
00562 
00563 
00564 const WBXMLAttrValueEntry sv_wml12_attr_value_table[] = {
00565     { ".com/",           0x00, 0x85 },
00566     { ".edu/",           0x00, 0x86 },
00567     { ".net/",           0x00, 0x87 },
00568     { ".org/",           0x00, 0x88 },
00569     { "accept",          0x00, 0x89 },
00570     { "bottom",          0x00, 0x8a },
00571     { "clear",           0x00, 0x8b },
00572     { "delete",          0x00, 0x8c },
00573     { "help",            0x00, 0x8d },
00574     /* Do NOT change the order in this table please ! */
00575     { "http://www.",     0x00, 0x8f },
00576     { "http://",         0x00, 0x8e },
00577     { "https://www.",    0x00, 0x91 },
00578     { "https://",        0x00, 0x90 },    
00579     { "middle",          0x00, 0x93 },
00580     { "nowrap",          0x00, 0x94 },
00581     { "onenterbackward", 0x00, 0x96 },
00582     { "onenterforward",  0x00, 0x97 },
00583     { "onpick",          0x00, 0x95 },
00584     { "ontimer",         0x00, 0x98 },
00585     { "options",         0x00, 0x99 },
00586     { "password",        0x00, 0x9a },
00587     { "reset",           0x00, 0x9b },
00588     { "text",            0x00, 0x9d },
00589     { "top",             0x00, 0x9e },
00590     { "unknown",         0x00, 0x9f },
00591     { "wrap",            0x00, 0xa0 },
00592     { "www.",            0x00, 0xa1 },
00593     { NULL,              0x00, 0x00 }
00594 };
00595 
00596 #endif /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
00597 
00598 
00599 /******************************************************
00600  *    WML 1.3 (WAP 1.2.1: "WAP-191-WML-20000219-a.pdf")
00601  */
00602 
00603 const WBXMLTagEntry sv_wml13_tag_table[] = {
00604     { "a",         0x00, 0x1c },
00605     { "anchor",    0x00, 0x22 }, /* WML 1.1 */
00606     { "access",    0x00, 0x23 },
00607     { "b",         0x00, 0x24 },
00608     { "big",       0x00, 0x25 },
00609     { "br",        0x00, 0x26 },
00610     { "card",      0x00, 0x27 },
00611     { "do",        0x00, 0x28 },
00612     { "em",        0x00, 0x29 },
00613     { "fieldset",  0x00, 0x2a },
00614     { "go",        0x00, 0x2b },
00615     { "head",      0x00, 0x2c },
00616     { "i",         0x00, 0x2d },
00617     { "img",       0x00, 0x2e },
00618     { "input",     0x00, 0x2f },
00619     { "meta",      0x00, 0x30 },
00620     { "noop",      0x00, 0x31 },
00621     { "p",         0x00, 0x20 }, /* WML 1.1 */
00622     { "postfield", 0x00, 0x21 }, /* WML 1.1 */
00623     { "pre",       0x00, 0x1b },
00624     { "prev",      0x00, 0x32 },
00625     { "onevent",   0x00, 0x33 },
00626     { "optgroup",  0x00, 0x34 },
00627     { "option",    0x00, 0x35 },
00628     { "refresh",   0x00, 0x36 },
00629     { "select",    0x00, 0x37 },
00630     { "setvar",    0x00, 0x3e }, /* WML 1.1 */
00631     { "small",     0x00, 0x38 },
00632     { "strong",    0x00, 0x39 },
00633     { "table",     0x00, 0x1f }, /* WML 1.1 */
00634     { "td",        0x00, 0x1d }, /* WML 1.1 */
00635     { "template",  0x00, 0x3b },
00636     { "timer",     0x00, 0x3c },
00637     { "tr",        0x00, 0x1e }, /* WML 1.1 */
00638     { "u",         0x00, 0x3d },
00639     { "wml",       0x00, 0x3f },
00640     { NULL,        0x00, 0x00 }
00641 };
00642 
00643 
00644 const WBXMLAttrEntry sv_wml13_attr_table[] = {
00645     { "accept-charset",  NULL,                                0x00, 0x05 },
00646     { "accesskey",       NULL,                                0x00, 0x5e }, /* WML 1.2 */
00647     { "align",           NULL,                                0x00, 0x52 }, /* WML 1.1 */
00648     { "align",           "bottom",                            0x00, 0x06 },
00649     { "align",           "center",                            0x00, 0x07 },
00650     { "align",           "left",                              0x00, 0x08 },
00651     { "align",           "middle",                            0x00, 0x09 },
00652     { "align",           "right",                             0x00, 0x0a },
00653     { "align",           "top",                               0x00, 0x0b },
00654     { "alt",             NULL,                                0x00, 0x0c },
00655     { "cache-control",   "no-cache",                          0x00, 0x64 }, /* WML 1.3 */
00656     { "class",           NULL,                                0x00, 0x54 }, /* WML 1.1 */
00657     { "columns",         NULL,                                0x00, 0x53 }, /* WML 1.1 */
00658     { "content",         NULL,                                0x00, 0x0d }, 
00659     { "content",         "application/vnd.wap.wmlc;charset=", 0x00, 0x5c }, /* WML 1.1 */
00660     { "domain",          NULL,                                0x00, 0x0f },
00661     { "emptyok",         "false",                             0x00, 0x10 },
00662     { "emptyok",         "true",                              0x00, 0x11 },
00663     { "enctype",         NULL,                                0x00, 0x5f }, /* WML 1.2 */
00664     { "enctype",         "application/x-www-form-urlencoded", 0x00, 0x60 }, /* WML 1.2 */
00665     { "enctype",         "multipart/form-data",               0x00, 0x61 }, /* WML 1.2 */
00666     { "format",          NULL,                                0x00, 0x12 },
00667     { "forua",           "false",                             0x00, 0x56 }, /* WML 1.1 */
00668     { "forua",           "true",                              0x00, 0x57 }, /* WML 1.1 */
00669     { "height",          NULL,                                0x00, 0x13 },
00670     { "href",            NULL,                                0x00, 0x4a }, /* WML 1.1 */
00671     { "href",            "http://",                           0x00, 0x4b }, /* WML 1.1 */
00672     { "href",            "https://",                          0x00, 0x4c }, /* WML 1.1 */
00673     { "hspace",          NULL,                                0x00, 0x14 },
00674     { "http-equiv",      NULL,                                0x00, 0x5a }, /* WML 1.1 */
00675     { "http-equiv",      "Content-Type",                      0x00, 0x5b }, /* WML 1.1 */
00676     { "http-equiv",      "Expires",                           0x00, 0x5d }, /* WML 1.1 */
00677     { "id",              NULL,                                0x00, 0x55 }, /* WML 1.1 */
00678     { "ivalue",          NULL,                                0x00, 0x15 }, /* WML 1.1 */
00679     { "iname",           NULL,                                0x00, 0x16 }, /* WML 1.1 */
00680     { "label",           NULL,                                0x00, 0x18 },
00681     { "localsrc",        NULL,                                0x00, 0x19 },
00682     { "maxlength",       NULL,                                0x00, 0x1a },
00683     { "method",          "get",                               0x00, 0x1b },
00684     { "method",          "post",                              0x00, 0x1c },
00685     { "mode",            "nowrap",                            0x00, 0x1d },
00686     { "mode",            "wrap",                              0x00, 0x1e },
00687     { "multiple",        "false",                             0x00, 0x1f },
00688     { "multiple",        "true",                              0x00, 0x20 },
00689     { "name",            NULL,                                0x00, 0x21 },
00690     { "newcontext",      "false",                             0x00, 0x22 },
00691     { "newcontext",      "true",                              0x00, 0x23 },
00692     { "onenterbackward", NULL,                                0x00, 0x25 },
00693     { "onenterforward",  NULL,                                0x00, 0x26 },
00694     { "onpick",          NULL,                                0x00, 0x24 }, /* WML 1.1 */
00695     { "ontimer",         NULL,                                0x00, 0x27 },
00696     { "optional",        "false",                             0x00, 0x28 },
00697     { "optional",        "true",                              0x00, 0x29 },
00698     { "path",            NULL,                                0x00, 0x2a },
00699     { "scheme",          NULL,                                0x00, 0x2e },
00700     { "sendreferer",     "false",                             0x00, 0x2f },
00701     { "sendreferer",     "true",                              0x00, 0x30 },
00702     { "size",            NULL,                                0x00, 0x31 },
00703     { "src",             NULL,                                0x00, 0x32 },
00704     { "src",             "http://",                           0x00, 0x58 }, /* WML 1.1 */
00705     { "src",             "https://",                          0x00, 0x59 }, /* WML 1.1 */
00706     { "ordered",         "true",                              0x00, 0x33 }, /* WML 1.1 */
00707     { "ordered",         "false",                             0x00, 0x34 }, /* WML 1.1 */
00708     { "tabindex",        NULL,                                0x00, 0x35 },
00709     { "title",           NULL,                                0x00, 0x36 },
00710     { "type",            NULL,                                0x00, 0x37 },
00711     { "type",            "accept",                            0x00, 0x38 },
00712     { "type",            "delete",                            0x00, 0x39 },
00713     { "type",            "help",                              0x00, 0x3a },
00714     { "type",            "password",                          0x00, 0x3b },
00715     { "type",            "onpick",                            0x00, 0x3c },
00716     { "type",            "onenterbackward",                   0x00, 0x3d },
00717     { "type",            "onenterforward",                    0x00, 0x3e },
00718     { "type",            "ontimer",                           0x00, 0x3f },
00719     { "type",            "options",                           0x00, 0x45 },
00720     { "type",            "prev",                              0x00, 0x46 },
00721     { "type",            "reset",                             0x00, 0x47 },
00722     { "type",            "text",                              0x00, 0x48 },
00723     { "type",            "vnd.",                              0x00, 0x49 },
00724     { "value",           NULL,                                0x00, 0x4d },
00725     { "vspace",          NULL,                                0x00, 0x4e },
00726     { "width",           NULL,                                0x00, 0x4f },
00727     { "xml:lang",        NULL,                                0x00, 0x50 },
00728     { "xml:space",       "preserve",                          0x00, 0x62 }, /* WML 1.3 */
00729     { "xml:space",       "default",                           0x00, 0x63 }, /* WML 1.3 */
00730     { NULL,              NULL,                                0x00, 0x00 }
00731 };
00732 
00733 
00734 const WBXMLAttrValueEntry sv_wml13_attr_value_table[] = {
00735     { ".com/",           0x00, 0x85 },
00736     { ".edu/",           0x00, 0x86 },
00737     { ".net/",           0x00, 0x87 },
00738     { ".org/",           0x00, 0x88 },
00739     { "accept",          0x00, 0x89 },
00740     { "bottom",          0x00, 0x8a },
00741     { "clear",           0x00, 0x8b },
00742     { "delete",          0x00, 0x8c },
00743     { "help",            0x00, 0x8d },
00744     /* Do NOT change the order in this table please ! */
00745     { "http://www.",     0x00, 0x8f },
00746     { "http://",         0x00, 0x8e },
00747     { "https://www.",    0x00, 0x91 },
00748     { "https://",        0x00, 0x90 },    
00749     { "middle",          0x00, 0x93 },
00750     { "nowrap",          0x00, 0x94 },
00751     { "onenterbackward", 0x00, 0x96 },
00752     { "onenterforward",  0x00, 0x97 },
00753     { "onpick",          0x00, 0x95 }, /* WML 1.1 */
00754     { "ontimer",         0x00, 0x98 },
00755     { "options",         0x00, 0x99 },
00756     { "password",        0x00, 0x9a },
00757     { "reset",           0x00, 0x9b },
00758     { "text",            0x00, 0x9d },
00759     { "top",             0x00, 0x9e },
00760     { "unknown",         0x00, 0x9f },
00761     { "wrap",            0x00, 0xa0 },
00762     { "www.",            0x00, 0xa1 },
00763     { NULL,              0x00, 0x00 }
00764 };
00765 
00766 #endif /* WBXML_SUPPORT_WML */
00767 
00768 
00769 
00770 #if defined( WBXML_SUPPORT_WTA )
00771 
00772 /********************************************
00773  *    WTA 1.0 (WAP 1.0: "wta-30-apr-98.pdf")
00774  */
00775 
00776 const WBXMLTagEntry sv_wta10_tag_table[] = {
00777     { "EVENT",          0x00, 0x05 },
00778     { "EVENTTABLE",     0x00, 0x06 },
00779     { "TYPE",           0x00, 0x07 },
00780     { "URL",            0x00, 0x08 },
00781     { "WTAI",           0x00, 0x09 },
00782     { NULL,             0x00, 0x00 }
00783 };
00784 
00785 const WBXMLAttrEntry sv_wta10_attr_table[] = {
00786     { "NAME",       NULL,                    0x00, 0x05 },
00787     { "VALUE",      NULL,                    0x00, 0x06 },
00788     { NULL,         NULL,                    0x00, 0x00 }
00789 };
00790 
00791 
00792 /***********************************************
00793  *    WTA WML 1.2 ("WAP-266-WTA-20010908-a.pdf")
00794  */
00795 
00796 const WBXMLTagEntry sv_wtawml12_tag_table[] = {
00797     /* Code Page 0 (WML 1.2) */
00798     { "a",         0x00, 0x1c },
00799     { "anchor",    0x00, 0x22 },
00800     { "access",    0x00, 0x23 },
00801     { "b",         0x00, 0x24 },
00802     { "big",       0x00, 0x25 },
00803     { "br",        0x00, 0x26 },
00804     { "card",      0x00, 0x27 },
00805     { "do",        0x00, 0x28 },
00806     { "em",        0x00, 0x29 },
00807     { "fieldset",  0x00, 0x2a },
00808     { "go",        0x00, 0x2b },
00809     { "head",      0x00, 0x2c },
00810     { "i",         0x00, 0x2d },
00811     { "img",       0x00, 0x2e },
00812     { "input",     0x00, 0x2f },
00813     { "meta",      0x00, 0x30 },
00814     { "noop",      0x00, 0x31 },
00815     { "p",         0x00, 0x20 },
00816     { "postfield", 0x00, 0x21 },
00817     { "pre",       0x00, 0x1b },
00818     { "prev",      0x00, 0x32 },
00819     { "onevent",   0x00, 0x33 },
00820     { "optgroup",  0x00, 0x34 },
00821     { "option",    0x00, 0x35 },
00822     { "refresh",   0x00, 0x36 },
00823     { "select",    0x00, 0x37 },
00824     { "setvar",    0x00, 0x3e },
00825     { "small",     0x00, 0x38 },
00826     { "strong",    0x00, 0x39 },
00827     { "table",     0x00, 0x1f },
00828     { "td",        0x00, 0x1d },
00829     { "template",  0x00, 0x3b },
00830     { "timer",     0x00, 0x3c },
00831     { "tr",        0x00, 0x1e },
00832     { "u",         0x00, 0x3d },
00833     { "wml",       0x00, 0x3f },
00834 
00835     /* Code Page 1 (WTA) */
00836     { "wta-wml",   0x01, 0x3f },
00837     { NULL,        0x00, 0x00 }
00838 };
00839 
00840 const WBXMLAttrEntry sv_wtawml12_attr_table[] = {
00841     /* Code Page 0 (WML 1.2) */
00842     { "accept-charset",  NULL,                                0x00, 0x05 },
00843     { "accesskey",       NULL,                                0x00, 0x5e },
00844     { "align",           NULL,                                0x00, 0x52 },
00845     { "align",           "bottom",                            0x00, 0x06 },
00846     { "align",           "center",                            0x00, 0x07 },
00847     { "align",           "left",                              0x00, 0x08 },
00848     { "align",           "middle",                            0x00, 0x09 },
00849     { "align",           "right",                             0x00, 0x0a },
00850     { "align",           "top",                               0x00, 0x0b },
00851     { "alt",             NULL,                                0x00, 0x0c },
00852     { "class",           NULL,                                0x00, 0x54 },
00853     { "columns",         NULL,                                0x00, 0x53 },
00854     { "content",         NULL,                                0x00, 0x0d },
00855     { "content",         "application/vnd.wap.wmlc;charset=", 0x00, 0x5c },
00856     { "domain",          NULL,                                0x00, 0x0f },
00857     { "emptyok",         "false",                             0x00, 0x10 },
00858     { "emptyok",         "true",                              0x00, 0x11 },
00859     { "enctype",         NULL,                                0x00, 0x5f },
00860     { "enctype",         "application/x-www-form-urlencoded", 0x00, 0x60 },    
00861     { "enctype",         "multipart/form-data",               0x00, 0x61 },
00862     { "format",          NULL,                                0x00, 0x12 },
00863     { "forua",           "false",                             0x00, 0x56 },
00864     { "forua",           "true",                              0x00, 0x57 },
00865     { "height",          NULL,                                0x00, 0x13 },
00866     { "href",            NULL,                                0x00, 0x4a },
00867     { "href",            "http://",                           0x00, 0x4b },
00868     { "href",            "https://",                          0x00, 0x4c },
00869     { "hspace",          NULL,                                0x00, 0x14 },
00870     { "http-equiv",      NULL,                                0x00, 0x5a },
00871     { "http-equiv",      "Content-Type",                      0x00, 0x5b },
00872     { "http-equiv",      "Expires",                           0x00, 0x5d },
00873     { "id",              NULL,                                0x00, 0x55 },
00874     { "ivalue",          NULL,                                0x00, 0x15 },
00875     { "iname",           NULL,                                0x00, 0x16 },
00876     { "label",           NULL,                                0x00, 0x18 },
00877     { "localsrc",        NULL,                                0x00, 0x19 },
00878     { "maxlength",       NULL,                                0x00, 0x1a },
00879     { "method",          "get",                               0x00, 0x1b },
00880     { "method",          "post",                              0x00, 0x1c },
00881     { "mode",            "nowrap",                            0x00, 0x1d },
00882     { "mode",            "wrap",                              0x00, 0x1e },
00883     { "multiple",        "false",                             0x00, 0x1f },
00884     { "multiple",        "true",                              0x00, 0x20 },
00885     { "name",            NULL,                                0x00, 0x21 },
00886     { "newcontext",      "false",                             0x00, 0x22 },
00887     { "newcontext",      "true",                              0x00, 0x23 },
00888     { "onenterbackward", NULL,                                0x00, 0x25 },
00889     { "onenterforward",  NULL,                                0x00, 0x26 },
00890     { "onpick",          NULL,                                0x00, 0x24 },
00891     { "ontimer",         NULL,                                0x00, 0x27 },
00892     { "optional",        "false",                             0x00, 0x28 },
00893     { "optional",        "true",                              0x00, 0x29 },
00894     { "path",            NULL,                                0x00, 0x2a },
00895     { "scheme",          NULL,                                0x00, 0x2e },
00896     { "sendreferer",     "false",                             0x00, 0x2f },
00897     { "sendreferer",     "true",                              0x00, 0x30 },
00898     { "size",            NULL,                                0x00, 0x31 },
00899     { "src",             NULL,                                0x00, 0x32 },
00900     { "src",             "http://",                           0x00, 0x58 },
00901     { "src",             "https://",                          0x00, 0x59 },
00902     { "ordered",         "true",                              0x00, 0x33 },
00903     { "ordered",         "false",                             0x00, 0x34 },
00904     { "tabindex",        NULL,                                0x00, 0x35 },
00905     { "title",           NULL,                                0x00, 0x36 },
00906     { "type",            NULL,                                0x00, 0x37 },
00907     { "type",            "accept",                            0x00, 0x38 },
00908     { "type",            "delete",                            0x00, 0x39 },
00909     { "type",            "help",                              0x00, 0x3a },
00910     { "type",            "password",                          0x00, 0x3b },
00911     { "type",            "onpick",                            0x00, 0x3c },
00912     { "type",            "onenterbackward",                   0x00, 0x3d },
00913     { "type",            "onenterforward",                    0x00, 0x3e },
00914     { "type",            "ontimer",                           0x00, 0x3f },
00915     { "type",            "options",                           0x00, 0x45 },
00916     { "type",            "prev",                              0x00, 0x46 },
00917     { "type",            "reset",                             0x00, 0x47 },
00918     { "type",            "text",                              0x00, 0x48 },
00919     { "type",            "vnd.",                              0x00, 0x49 },
00920     { "value",           NULL,                                0x00, 0x4d },
00921     { "vspace",          NULL,                                0x00, 0x4e },
00922     { "width",           NULL,                                0x00, 0x4f },
00923     { "xml:lang",        NULL,                                0x00, 0x50 },
00924 
00925     /* Code Page 1 (WTA) */
00926     /* Do NOT change the order in this table please ! */
00927     { "href",             "wtai://wp/mc;",                      0x01, 0x06 },
00928     { "href",             "wtai://wp/sd;",                      0x01, 0x07 },
00929     { "href",             "wtai://wp/ap;",                      0x01, 0x08 },
00930     { "href",             "wtai://ms/ec;",                      0x01, 0x09 },
00931     { "href",             "wtai://",                            0x01, 0x05 },        
00932     { "type",             "wtaev-cc/ic",                        0x01, 0x12 },
00933     { "type",             "wtaev-cc/cl",                        0x01, 0x13 },
00934     { "type",             "wtaev-cc/co",                        0x01, 0x14 },
00935     { "type",             "wtaev-cc/oc",                        0x01, 0x15 },
00936     { "type",             "wtaev-cc/cc",                        0x01, 0x16 },
00937     { "type",             "wtaev-cc/dtmf",                      0x01, 0x17 },
00938     { "type",             "wtaev-nt/it",                        0x01, 0x21 },
00939     { "type",             "wtaev-nt/st",                        0x01, 0x22 },
00940     { "type",             "wtaev-nt/",                          0x01, 0x20 },
00941     { "type",             "wtaev-pb/",                          0x01, 0x30 },
00942     { "type",             "wtaev-lg/",                          0x01, 0x38 },
00943     { "type",             "wtaev-ms/ns",                        0x01, 0x51 },
00944     { "type",             "wtaev-ms/",                          0x01, 0x50 },
00945     { "type",             "wtaev-gsm/ru",                       0x01, 0x59 },
00946     { "type",             "wtaev-gsm/ch",                       0x01, 0x5a },
00947     { "type",             "wtaev-gsm/ca",                       0x01, 0x5b },
00948     { "type",             "wtaev-gsm/",                         0x01, 0x58 },
00949     { "type",             "wtaev-pdc",                          0x01, 0x60 },
00950     { "type",             "wtaev-ansi136/ia",                   0x01, 0x69 },
00951     { "type",             "wtaev-ansi136/if",                   0x01, 0x6a },
00952     { "type",             "wtaev-ansi136",                      0x01, 0x68 },
00953     { "type",             "wtaev-cdma/",                        0x01, 0x70 },
00954     { "type",             "wtaev-cc",                           0x01, 0x11 },
00955     { "type",             "wtaev-",                             0x01, 0x10 },
00956     { NULL,               NULL,                                 0x00, 0x00 }
00957 };
00958 
00959 const WBXMLAttrValueEntry sv_wtawml12_attr_value_table[] = {
00960     /* Code Page 0 (WML 1.2) */
00961     { ".com/",           0x00, 0x85 },
00962     { ".edu/",           0x00, 0x86 },
00963     { ".net/",           0x00, 0x87 },
00964     { ".org/",           0x00, 0x88 },
00965     { "accept",          0x00, 0x89 },
00966     { "bottom",          0x00, 0x8a },
00967     { "clear",           0x00, 0x8b },
00968     { "delete",          0x00, 0x8c },
00969     { "help",            0x00, 0x8d },
00970     /* Do NOT change the order in this table please ! */
00971     { "http://www.",     0x00, 0x8f },
00972     { "http://",         0x00, 0x8e },    
00973     { "https://www.",    0x00, 0x91 },
00974     { "https://",        0x00, 0x90 },    
00975     { "middle",          0x00, 0x93 },
00976     { "nowrap",          0x00, 0x94 },
00977     { "onenterbackward", 0x00, 0x96 },
00978     { "onenterforward",  0x00, 0x97 },
00979     { "onpick",          0x00, 0x95 },
00980     { "ontimer",         0x00, 0x98 },
00981     { "options",         0x00, 0x99 },
00982     { "password",        0x00, 0x9a },
00983     { "reset",           0x00, 0x9b },
00984     { "text",            0x00, 0x9d },
00985     { "top",             0x00, 0x9e },
00986     { "unknown",         0x00, 0x9f },
00987     { "wrap",            0x00, 0xa0 },
00988     { "www.",            0x00, 0xa1 },
00989     { NULL,              0x00, 0x00 }
00990 };
00991 
00992 
00993 /***************************************************
00994  *    CHANNEL 1.1 (WAP 1.1: "SPEC-WTA-19990716.pdf")
00995  */
00996 
00997 const WBXMLTagEntry sv_channel11_tag_table[] = {
00998     { "channel",        0x00, 0x05 },
00999     { "title",          0x00, 0x06 },
01000     { "abstract",       0x00, 0x07 },
01001     { "resource",       0x00, 0x08 },
01002     { NULL,             0x00, 0x00 }
01003 };
01004 
01005 const WBXMLAttrEntry sv_channel11_attr_table[] = {
01006     { "maxspace",   NULL,           0x00, 0x05 },
01007     { "base",       NULL,           0x00, 0x06 },
01008     { "href",       NULL,           0x00, 0x07 },
01009     { "href",       "http://",      0x00, 0x08 },
01010     { "href",       "https://",     0x00, 0x09 },
01011     { "lastmod",    NULL,           0x00, 0x0a },
01012     { "etag",       NULL,           0x00, 0x0b },
01013     { "md5",        NULL,           0x00, 0x0c },
01014     { "success",    NULL,           0x00, 0x0d },
01015     { "success",    "http://",      0x00, 0x0e },
01016     { "success",    "https://",     0x00, 0x0f },
01017     { "failure",    NULL,           0x00, 0x10 },
01018     { "failure",    "http://",      0x00, 0x11 },
01019     { "failure",    "https://",     0x00, 0x12 },
01020     { "EventId",    NULL,           0x00, 0x13 },
01021     { NULL,         NULL,           0x00, 0x00 }
01022 };
01023 
01024 
01025 /***********************************************
01026  *    CHANNEL 1.2 ("WAP-266-WTA-20010908-a.pdf")
01027  */
01028 
01029 const WBXMLTagEntry sv_channel12_tag_table[] = {
01030     { "channel",        0x00, 0x05 },
01031     { "title",          0x00, 0x06 },
01032     { "abstract",       0x00, 0x07 },
01033     { "resource",       0x00, 0x08 },
01034     { NULL,             0x00, 0x00 }
01035 };
01036 
01037 
01038 const WBXMLAttrEntry sv_channel12_attr_table[] = {
01039     { "maxspace",       NULL,           0x00, 0x05 },
01040     { "base",           NULL,           0x00, 0x06 },
01041     { "href",           NULL,           0x00, 0x07 },
01042     { "href",           "http://",      0x00, 0x08 },
01043     { "href",           "https://",     0x00, 0x09 },
01044     { "lastmod",        NULL,           0x00, 0x0a },
01045     { "etag",            NULL,          0x00, 0x0b },
01046     { "md5",            NULL,           0x00, 0x0c },
01047     { "success",        NULL,           0x00, 0x0d },
01048     { "success",        "http://",      0x00, 0x0e },
01049     { "success",        "https://",     0x00, 0x0f },
01050     { "failure",        NULL,           0x00, 0x10 },
01051     { "failure",        "http://",      0x00, 0x11 },
01052     { "failure",        "https://",     0x00, 0x12 },
01053     { "eventid",        NULL,           0x00, 0x13 },
01054     { "eventid",            "wtaev-",   0x00, 0x14 },
01055     { "channelid",          NULL,       0x00, 0x15 },
01056     { "useraccessible",     NULL,       0x00, 0x16 },
01057     { NULL,                 NULL,       0x00, 0x00 }
01058 };
01059 
01060 #endif /* WBXML_SUPPORT_WTA */
01061 
01062 
01063 #if defined( WBXML_SUPPORT_SI )
01064 
01065 /*************************************************
01066  *    SI 1.0 ("WAP-167-ServiceInd-20010731-a.pdf")
01067  */
01068 
01069 const WBXMLTagEntry sv_si10_tag_table[] = {
01070     { "si",             0x00, 0x05 },
01071     { "indication",     0x00, 0x06 },
01072     { "info",           0x00, 0x07 },
01073     { "item",           0x00, 0x08 },
01074     { NULL,             0x00, 0x00 }
01075 };
01076 
01077 
01078 const WBXMLAttrEntry sv_si10_attr_table[] = {
01079     { "action",  "signal-none",             0x00, 0x05 },
01080     { "action",  "signal-low",              0x00, 0x06 },
01081     { "action",  "signal-medium",           0x00, 0x07 },
01082     { "action",  "signal-high",             0x00, 0x08 },
01083     { "action",  "delete",                  0x00, 0x09 },
01084     { "created", NULL,                      0x00, 0x0a },
01085     { "href",    NULL,                      0x00, 0x0b },
01086     /* Do NOT change the order in this table please ! */
01087     { "href",    "http://www.",             0x00, 0x0d },
01088     { "href",    "http://",                 0x00, 0x0c },
01089     { "href",    "https://www.",            0x00, 0x0f },
01090     { "href",    "https://",                0x00, 0x0e },    
01091     { "si-expires", NULL,                   0x00, 0x10 },
01092     { "si-id",      NULL,                   0x00, 0x11 },
01093     { "class",      NULL,                   0x00, 0x12 },
01094     { NULL,         NULL,                   0x00, 0x00 }
01095 };
01096 
01097 
01098 const WBXMLAttrValueEntry sv_si10_attr_value_table[] = {
01099     { ".com/",           0x00, 0x85 },
01100     { ".edu/",           0x00, 0x86 },
01101     { ".net/",           0x00, 0x87 },
01102     { ".org/",           0x00, 0x88 },
01103     { NULL,              0x00, 0x00 }
01104 };
01105 
01106 #endif /* WBXML_SUPPORT_SI */
01107 
01108 
01109 #if defined( WBXML_SUPPORT_SL )
01110 
01111 /**************************************************
01112  *    SL 1.0 ("WAP-168-ServiceLoad-20010731-a.pdf")
01113  */
01114 
01115 const WBXMLTagEntry sv_sl10_tag_table[] = {
01116     { "sl",              0x00, 0x05 },
01117     { NULL,              0x00, 0x00 }
01118 };
01119 
01120 
01121 const WBXMLAttrEntry sv_sl10_attr_table[] = {
01122     { "action",  "execute-low",         0x00, 0x05 },
01123     { "action",  "execute-high",        0x00, 0x06 },
01124     { "action",  "cache",               0x00, 0x07 },
01125     { "href",    NULL,                  0x00, 0x08 },
01126     /* Do NOT change the order in this table please ! */
01127     { "href",    "http://www.",         0x00, 0x0a },
01128     { "href",    "http://",             0x00, 0x09 },
01129     { "href",    "https://www.",        0x00, 0x0c },
01130     { "href",    "https://",            0x00, 0x0b },    
01131     { NULL,      NULL,                  0x00, 0x00 }
01132 };
01133 
01134 
01135 const WBXMLAttrValueEntry sv_sl10_attr_value_table[] = {
01136     { ".com/",           0x00, 0x85 },
01137     { ".edu/",           0x00, 0x86 },
01138     { ".net/",           0x00, 0x87 },
01139     { ".org/",           0x00, 0x88 },
01140     { NULL,              0x00, 0x00 }
01141 };
01142 
01143 #endif /* WBXML_SUPPORT_SL */
01144 
01145 
01146 #if defined( WBXML_SUPPORT_CO )
01147 
01148 /***********************************************
01149  *    CO 1.0 ("WAP-175-CacheOp-20010731-a.pdf")
01150  */
01151 
01152 const WBXMLTagEntry sv_co10_tag_table[] = {
01153     { "co",                     0x00, 0x05 },
01154     { "invalidate-object",      0x00, 0x06 },
01155     { "invalidate-service",     0x00, 0x07 },
01156     { NULL,                     0x00, 0x00 }
01157 };
01158 
01159 
01160 const WBXMLAttrEntry sv_co10_attr_table[] = {
01161     { "uri",    NULL,                   0x00, 0x05 },
01162     /* Do NOT change the order in this table please ! */
01163     { "uri",    "http://www.",          0x00, 0x07 },
01164     { "uri",    "http://",              0x00, 0x06 },
01165     { "uri",    "https://www.",         0x00, 0x09 },
01166     { "uri",    "https://",             0x00, 0x08 },    
01167     { NULL,     NULL,                   0x00, 0x00 }
01168 };
01169 
01170 
01171 const WBXMLAttrValueEntry sv_co10_attr_value_table[] = {
01172     { ".com/",           0x00, 0x85 },
01173     { ".edu/",           0x00, 0x86 },
01174     { ".net/",           0x00, 0x87 },
01175     { ".org/",           0x00, 0x88 },
01176     { NULL,              0x00, 0x00 }
01177 };
01178 
01179 #endif /* WBXML_SUPPORT_CO */
01180 
01181 
01182 #if defined( WBXML_SUPPORT_PROV )
01183 
01184 /**********************************************************
01185  *    PROV 1.0
01186  *      WAP 2.0: "WAP-183-PROVCONT-20010724-a.pdf"
01187  *      OMA: "OMA-WAP-ProvCont-v1_1-20021112-C.PDF"
01188  */
01189 
01190 const WBXMLTagEntry sv_prov10_tag_table[] = {
01191     { "wap-provisioningdoc",        0x00, 0x05 },
01192     { "characteristic",             0x00, 0x06 },
01193     { "parm",                       0x00, 0x07 },
01194     
01195     { "characteristic",             0x01, 0x06 }, /* OMA */
01196     { "parm",                       0x01, 0x07 }, /* OMA */
01197     { NULL,                         0x00, 0x00 }
01198 };
01199 
01200 
01201 const WBXMLAttrEntry sv_prov10_attr_table[] = {
01202     /* Wap-provisioningdoc */
01203     { "version",    NULL,               0x00, 0x45 },
01204     { "version",    "1.0",              0x00, 0x46 },
01205 
01206     /* Characteristic */
01207     { "type",        NULL,                  0x00, 0x50 },
01208     { "type",        "PXLOGICAL",           0x00, 0x51 },
01209     { "type",        "PXPHYSICAL",          0x00, 0x52 },
01210     { "type",        "PORT",                0x00, 0x53 },
01211     { "type",        "VALIDITY",            0x00, 0x54 },
01212     { "type",        "NAPDEF",              0x00, 0x55 },
01213     { "type",        "BOOTSTRAP",           0x00, 0x56 },
01214     { "type",        "VENDORCONFIG",        0x00, 0x57 },
01215     { "type",        "CLIENTIDENTITY",      0x00, 0x58 },
01216     { "type",        "PXAUTHINFO",          0x00, 0x59 },
01217     { "type",        "NAPAUTHINFO",         0x00, 0x5a },
01218     { "type",        "ACCESS",              0x00, 0x5b }, /* OMA */
01219     
01220     { "type",        NULL,                  0x01, 0x50 }, /* OMA */
01221     { "type",        "PORT",                0x01, 0x53 }, /* OMA */
01222     { "type",        "CLIENTIDENTITY",      0x01, 0x58 }, /* OMA */
01223     { "type",        "APPLICATION",         0x01, 0x55 }, /* OMA */
01224     { "type",        "APPADDR",             0x01, 0x56 }, /* OMA */
01225     { "type",        "APPAUTH",             0x01, 0x57 }, /* OMA */
01226     { "type",        "RESOURCE",            0x01, 0x59 }, /* OMA */
01227 
01228     /* Parm */
01229     { "name",        NULL,                  0x00, 0x05 },
01230     { "value",       NULL,                  0x00, 0x06 },
01231     { "name",        "NAME",                0x00, 0x07 },
01232     { "name",        "NAP-ADDRESS",         0x00, 0x08 },
01233     { "name",        "NAP-ADDRTYPE",        0x00, 0x09 },
01234     { "name",        "CALLTYPE",            0x00, 0x0a },
01235     { "name",        "VALIDUNTIL",          0x00, 0x0b },
01236     { "name",        "AUTHTYPE",            0x00, 0x0c },
01237     { "name",        "AUTHNAME",            0x00, 0x0d },
01238     { "name",        "AUTHSECRET",          0x00, 0x0e },
01239     { "name",        "LINGER",              0x00, 0x0f },
01240     { "name",        "BEARER",              0x00, 0x10 },
01241     { "name",        "NAPID",               0x00, 0x11 },
01242     { "name",        "COUNTRY",             0x00, 0x12 },
01243     { "name",        "NETWORK",             0x00, 0x13 },
01244     { "name",        "INTERNET",            0x00, 0x14 },
01245     { "name",        "PROXY-ID",            0x00, 0x15 },
01246     { "name",        "PROXY-PROVIDER-ID",   0x00, 0x16 },
01247     { "name",        "DOMAIN",              0x00, 0x17 },
01248     { "name",        "PROVURL",             0x00, 0x18 },
01249     { "name",        "PXAUTH-TYPE",         0x00, 0x19 },
01250     { "name",        "PXAUTH-ID",           0x00, 0x1a },
01251     { "name",        "PXAUTH-PW",           0x00, 0x1b },
01252     { "name",        "STARTPAGE",           0x00, 0x1c },
01253     { "name",        "BASAUTH-ID",          0x00, 0x1d },
01254     { "name",        "BASAUTH-PW",          0x00, 0x1e },
01255     { "name",        "PUSHENABLED",         0x00, 0x1f },
01256     { "name",        "PXADDR",              0x00, 0x20 },
01257     { "name",        "PXADDRTYPE",          0x00, 0x21 },
01258     { "name",        "TO-NAPID",            0x00, 0x22 },
01259     { "name",        "PORTNBR",             0x00, 0x23 },
01260     { "name",        "SERVICE",             0x00, 0x24 },
01261     { "name",        "LINKSPEED",           0x00, 0x25 },
01262     { "name",        "DNLINKSPEED",         0x00, 0x26 },
01263     { "name",        "LOCAL-ADDR",          0x00, 0x27 },
01264     { "name",        "LOCAL-ADDRTYPE",      0x00, 0x28 },
01265     { "name",        "CONTEXT-ALLOW",       0x00, 0x29 },
01266     { "name",        "TRUST",               0x00, 0x2a },
01267     { "name",        "MASTER",              0x00, 0x2b },
01268     { "name",        "SID",                 0x00, 0x2c },
01269     { "name",        "SOC",                 0x00, 0x2d },
01270     { "name",        "WSP-VERSION",         0x00, 0x2e },
01271     { "name",        "PHYSICAL-PROXY-ID",   0x00, 0x2f },
01272     { "name",        "CLIENT-ID",           0x00, 0x30 },
01273     { "name",        "DELIVERY-ERR-SDU",    0x00, 0x31 },
01274     { "name",        "DELIVERY-ORDER",      0x00, 0x32 },
01275     { "name",        "TRAFFIC-CLASS",       0x00, 0x33 },
01276     { "name",        "MAX-SDU-SIZE",        0x00, 0x34 },
01277     { "name",        "MAX-BITRATE-UPLINK",  0x00, 0x35 },
01278     { "name",        "MAX-BITRATE-DNLINK",  0x00, 0x36 },
01279     { "name",        "RESIDUAL-BER",        0x00, 0x37 },
01280     { "name",        "SDU-ERROR-RATIO",     0x00, 0x38 },
01281     { "name",        "TRAFFIC-HANDL-PRIO",  0x00, 0x39 },
01282     { "name",        "TRANSFER-DELAY",      0x00, 0x3a },
01283     { "name",        "GUARANTEED-BITRATE-UPLINK",   0x00, 0x3b },
01284     { "name",        "GUARANTEED-BITRATE-DNLINK",   0x00, 0x3c },
01285     { "name",        "PXADDR-FQDN",         0x00, 0x3d }, /* OMA */
01286     { "name",        "PROXY-PW",            0x00, 0x3e }, /* OMA */
01287     { "name",        "PPGAUTH-TYPE",        0x00, 0x3f }, /* OMA */
01288     { "name",        "PULLENABLED",         0x00, 0x47 }, /* OMA */
01289     { "name",        "DNS-ADDR",            0x00, 0x48 }, /* OMA */
01290     { "name",        "MAX-NUM-RETRY",       0x00, 0x49 }, /* OMA */
01291     { "name",        "FIRST-RETRY-TIMEOUT", 0x00, 0x4a }, /* OMA */
01292     { "name",        "REREG-THRESHOLD",     0x00, 0x4b }, /* OMA */
01293     { "name",        "T-BIT",               0x00, 0x4c }, /* OMA */
01294     { "name",        "AUTH-ENTITY",         0x00, 0x4e }, /* OMA */
01295     { "name",        "SPI",                 0x00, 0x4f }, /* OMA */
01296     
01297     { "name",        NULL,                  0x01, 0x05 }, /* OMA */
01298     { "value",       NULL,                  0x01, 0x06 }, /* OMA */
01299     { "name",        "NAME",                0x01, 0x07 }, /* OMA */
01300     { "name",        "INTERNET",            0x01, 0x14 }, /* OMA */
01301     { "name",        "STARTPAGE",           0x01, 0x1c }, /* OMA */
01302     { "name",        "TO-NAPID",            0x01, 0x22 }, /* OMA */
01303     { "name",        "PORTNBR",             0x01, 0x23 }, /* OMA */
01304     { "name",        "SERVICE",             0x01, 0x24 }, /* OMA */
01305     { "name",        "AACCEPT",             0x01, 0x2e }, /* OMA */
01306     { "name",        "AAUTHDATA",           0x01, 0x2f }, /* OMA */
01307     { "name",        "AAUTHLEVEL",          0x01, 0x30 }, /* OMA */
01308     { "name",        "AAUTHNAME",           0x01, 0x31 }, /* OMA */
01309     { "name",        "AAUTHSECRET",         0x01, 0x32 }, /* OMA */
01310     { "name",        "AAUTHTYPE",           0x01, 0x33 }, /* OMA */
01311     { "name",        "ADDR",                0x01, 0x34 }, /* OMA */
01312     { "name",        "ADDRTYPE",            0x01, 0x35 }, /* OMA */
01313     { "name",        "APPID",               0x01, 0x36 }, /* OMA */
01314     { "name",        "APROTOCOL",           0x01, 0x37 }, /* OMA */
01315     { "name",        "PROVIDER-ID",         0x01, 0x38 }, /* OMA */
01316     { "name",        "TO-PROXY",            0x01, 0x39 }, /* OMA */
01317     { "name",        "URI",                 0x01, 0x3a }, /* OMA */
01318     { "name",        "RULE",                0x01, 0x3b }, /* OMA */
01319     
01320     { NULL,          NULL,                  0x00, 0x00 }
01321 };
01322 
01323 
01324 const WBXMLAttrValueEntry sv_prov10_attr_value_table[] = {
01325     /* ADDRTYPE */
01326     { "IPV4",                   0x00, 0x85 },
01327     { "IPV6",                   0x00, 0x86 },
01328     { "E164",                   0x00, 0x87 },
01329     { "ALPHA",                  0x00, 0x88 },
01330     { "APN",                    0x00, 0x89 },
01331     { "SCODE",                  0x00, 0x8a },
01332     { "TETRA-ITSI",             0x00, 0x8b },
01333     { "MAN",                    0x00, 0x8c },
01334     
01335     { "IPV6",                   0x01, 0x86 }, /* OMA */
01336     { "E164",                   0x01, 0x87 }, /* OMA */
01337     { "ALPHA",                  0x01, 0x88 }, /* OMA */
01338     { "APPSRV",                 0x01, 0x8d }, /* OMA */
01339     { "OBEX",                   0x01, 0x8e }, /* OMA */
01340 
01341     /* CALLTYPE */
01342     { "ANALOG-MODEM",           0x00, 0x90 },
01343     { "V.120",                  0x00, 0x91 },
01344     { "V.110",                  0x00, 0x92 },
01345     { "X.31",                   0x00, 0x93 },
01346     { "BIT-TRANSPARENT",        0x00, 0x94 },
01347     { "DIRECT-ASYNCHRONOUS-DATA-SERVICE",    0x00, 0x95 },
01348 
01349     /* AUTHTYPE/PXAUTH-TYPE */
01350     { "PAP",                    0x00, 0x9a },
01351     { "CHAP",                   0x00, 0x9b },
01352     { "HTTP-BASIC",             0x00, 0x9c },
01353     { "HTTP-DIGEST",            0x00, 0x9d },
01354     { "WTLS-SS",                0x00, 0x9e },
01355     { "MD5",                    0x00, 0x9f }, /* OMA */
01356 
01357     /* BEARER */
01358     { "GSM-USSD",               0x00, 0xa2 },
01359     { "GSM-SMS",                0x00, 0xa3 },
01360     { "ANSI-136-GUTS",          0x00, 0xa4 },
01361     { "IS-95-CDMA-SMS",         0x00, 0xa5 },
01362     { "IS-95-CDMA-CSD",         0x00, 0xa6 },
01363     { "IS-95-CDMA-PACKET",      0x00, 0xa7 },
01364     { "ANSI-136-CSD",           0x00, 0xa8 },
01365     { "ANSI-136-GPRS",          0x00, 0xa9 },
01366     { "GSM-CSD",                0x00, 0xaa },
01367     { "GSM-GPRS",               0x00, 0xab },
01368     { "AMPS-CDPD",              0x00, 0xac },
01369     { "PDC-CSD",                0x00, 0xad },
01370     { "PDC-PACKET",             0x00, 0xae },
01371     { "IDEN-SMS",               0x00, 0xaf },
01372     { "IDEN-CSD",               0x00, 0xb0 },
01373     { "IDEN-PACKET",            0x00, 0xb1 },
01374     { "FLEX/REFLEX",            0x00, 0xb2 },
01375     { "PHS-SMS",                0x00, 0xb3 },
01376     { "PHS-CSD",                0x00, 0xb4 },
01377     { "TRETRA-SDS",             0x00, 0xb5 },
01378     { "TRETRA-PACKET",          0x00, 0xb6 },
01379     { "ANSI-136-GHOST",         0x00, 0xb7 },
01380     { "MOBITEX-MPAK",           0x00, 0xb8 },
01381     { "CDMA2000-1X-SIMPLE-IP",  0x00, 0xb9 }, /* OMA */
01382     { "CDMA2000-1X-MOBILE-IP",  0x00, 0xba }, /* OMA */
01383 
01384     /* LINKSPEED */
01385     { "AUTOBAUDING",            0x00, 0xc5 },
01386 
01387     /* SERVICE */
01388     { "CL-WSP",                 0x00, 0xca },
01389     { "CO-WSP",                 0x00, 0xcb },
01390     { "CL-SEC-WSP",             0x00, 0xcc },
01391     { "CO-SEC-WSP",             0x00, 0xcd },
01392     { "CL-SEC-WTA",             0x00, 0xce },
01393     { "CO-SEC-WTA",             0x00, 0xcf },
01394     { "OTA-HTTP-TO",            0x00, 0xd0 }, /* OMA */
01395     { "OTA-HTTP-TLS-TO",        0x00, 0xd1 }, /* OMA */
01396     { "OTA-HTTP-PO",            0x00, 0xd2 }, /* OMA */
01397     { "OTA-HTTP-TLS-PO",        0x00, 0xd3 }, /* OMA */
01398     
01399     /* AAUTHTYPE */
01400     { ",",                      0x01, 0x80 }, /* OMA */
01401     { "HTTP-",                  0x01, 0x81 }, /* OMA */
01402     { "BASIC",                  0x01, 0x82 }, /* OMA */
01403     { "DIGEST",                 0x01, 0x83 }, /* OMA */
01404     
01405     /* AUTH-ENTITY */
01406     { "AAA",                    0x00, 0xe0 }, /* OMA */
01407     { "HA",                     0x00, 0xe1 }, /* OMA */
01408 
01409     { NULL,                     0x00, 0x00 }
01410 };
01411 
01412 #endif /* WBXML_SUPPORT_PROV */
01413 
01414 
01415 #if defined( WBXML_SUPPORT_EMN )
01416 
01417 /*************************************************
01418  *    Email Notification 1.0 ("OMA-Push-EMN-v1_0-20020830-C.PDF")
01419  */
01420 
01421 const WBXMLTagEntry sv_emn10_tag_table[] = {
01422     { "emn",    0x00, 0x05 },
01423     { NULL,     0x00, 0x00 }
01424 };
01425 
01426 const WBXMLAttrEntry sv_emn10_attr_table[] = {
01427     { "timestamp",      NULL,           0x00, 0x05 },
01428     { "mailbox",        NULL,           0x00, 0x06 },
01429     { "mailbox",        "mailat:",      0x00, 0x07 },
01430     { "mailbox",        "pop://",       0x00, 0x08 },
01431     { "mailbox",        "imap://",      0x00, 0x09 },
01432     /* Do NOT change the order in this table please ! */
01433     { "mailbox",        "http://www.",  0x00, 0x0b },
01434     { "mailbox",        "http://",      0x00, 0x0a },
01435     { "mailbox",        "https://www.", 0x00, 0x0d },
01436     { "mailbox",        "https://",     0x00, 0x0c },    
01437     { NULL,             NULL,           0x00, 0x00 }
01438 };
01439 
01440 const WBXMLAttrValueEntry sv_emn10_attr_value_table[] = {
01441     { ".com",       0x00, 0x85 },
01442     { ".edu",       0x00, 0x86 },
01443     { ".net",       0x00, 0x87 },
01444     { ".org",       0x00, 0x88 },
01445     { NULL,         0x00, 0x00 }
01446 };
01447 
01448 #endif /* WBXML_SUPPORT_EMN */
01449 
01450 
01451 #if defined( WBXML_SUPPORT_DRMREL )
01452 
01453 /*************************************************
01454  *    Rights Expression Language Version 1.0 ("OMA-Download-DRMREL-v1_0-20020913-a.pdf")
01455  */
01456  
01457 const WBXMLTagEntry sv_drmrel10_tag_table[] = {
01458     { "o-ex:rights",    0x00, 0x05 },
01459     { "o-ex:context",   0x00, 0x06 },
01460     { "o-dd:version",   0x00, 0x07 },
01461     { "o-dd:uid",       0x00, 0x08 },
01462     { "o-ex:agreement", 0x00, 0x09 },
01463     { "o-ex:asset",     0x00, 0x0A },
01464     { "ds:KeyInfo",     0x00, 0x0B },
01465     { "ds:KeyValue",    0x00, 0x0C },
01466     { "o-ex:permission",0x00, 0x0D },
01467     { "o-dd:play",      0x00, 0x0E },
01468     { "o-dd:display",   0x00, 0x0F },
01469     { "o-dd:execute",   0x00, 0x10 },
01470     { "o-dd:print",     0x00, 0x11 },
01471     { "o-ex:constraint",0x00, 0x12 },
01472     { "o-dd:count",     0x00, 0x13 },
01473     { "o-dd:datetime",  0x00, 0x14 },
01474     { "o-dd:start",     0x00, 0x15 },
01475     { "o-dd:end",       0x00, 0x16 },
01476     { "o-dd:interval",  0x00, 0x17 },
01477     { NULL,             0x00, 0x00 }
01478 };
01479 
01480 const WBXMLAttrEntry sv_drmrel10_attr_table[] = {
01481     { "xmlns:o-ex",     NULL,       0x00, 0x05 },
01482     { "xmlns:o-dd",     NULL,       0x00, 0x06 },
01483     { "xmlns:ds",       NULL,       0x00, 0x07 },
01484     { NULL,             NULL,       0x00, 0x00 }
01485 };
01486 
01487 const WBXMLAttrValueEntry sv_drmrel10_attr_value_table[] = {
01488     { "http://odrl.net/1.1/ODRL-EX",        0x00, 0x85 },
01489     { "http://odrl.net/1.1/ODRL-DD",        0x00, 0x86 },
01490     { "http://www.w3.org/2000/09/xmldsig#/",0x00, 0x87 },
01491     { NULL,                                 0x00, 0x00 }
01492 };
01493 
01494 #endif /* WBXML_SUPPORT_DRMREL */
01495 
01496 
01497 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
01498 
01499 /********************************************************************
01500  *    Ericsson / Nokia OTA Settings ("OTA_settings_general_7_0.pdf")
01501  */
01502  
01503 const WBXMLTagEntry sv_ota_settings_tag_table[] = {
01504     { "CHARACTERISTIC-LIST",        0x00, 0x05 },
01505     { "CHARACTERISTIC",             0x00, 0x06 },
01506     { "PARM",                       0x00, 0x07 },
01507     
01508     { NULL,                         0x00, 0x00 }
01509 };
01510 
01511 const WBXMLAttrEntry sv_ota_settings_attr_table[] = {
01512     /* Characteristic */
01513     { "TYPE",        "ADDRESS",             0x00, 0x06 },
01514     { "TYPE",        "URL",                 0x00, 0x07 },
01515     { "TYPE",        "NAME",                0x00, 0x08 },
01516     { "NAME",        NULL,                  0x00, 0x10 },
01517     { "VALUE",       NULL,                  0x00, 0x11 },
01518     { "NAME",        "BEARER",              0x00, 0x12 },
01519     { "NAME",        "PROXY",               0x00, 0x13 },
01520     { "NAME",        "PORT",                0x00, 0x14 },
01521     { "NAME",        "NAME",                0x00, 0x15 },
01522     { "NAME",        "PROXY_TYPE",          0x00, 0x16 },
01523     { "NAME",        "URL",                 0x00, 0x17 },
01524     { "NAME",        "PROXY_AUTHNAME",      0x00, 0x18 },
01525     { "NAME",        "PROXY_AUTHSECRET",    0x00, 0x19 },
01526     { "NAME",        "SMS_SMSC_ADDRESS",    0x00, 0x1A },
01527     { "NAME",        "USSD_SERVICE_CODE",   0x00, 0x1B },
01528     { "NAME",        "GPRS_ACCESSPOINTNAME",0x00, 0x1C },
01529     { "NAME",        "PPP_LOGINTYPE",       0x00, 0x1D },
01530     { "NAME",        "PROXY_LOGINTYPE",     0x00, 0x1E },
01531     { "NAME",        "CSD_DIALSTRING",      0x00, 0x21 },
01532     { "NAME",        "CSD_CALLTYPE",        0x00, 0x28 },
01533     { "NAME",        "CSD_CALLSPEED",       0x00, 0x29 },
01534     { "NAME",        "PPP_AUTHTYPE",        0x00, 0x22 },
01535     { "NAME",        "PPP_AUTHNAME",        0x00, 0x23 },
01536     { "NAME",        "PPP_AUTHSECRET",      0x00, 0x24 },
01537     { "VALUE",       "GSM/CSD",             0x00, 0x45 },
01538     { "VALUE",       "GSM/SMS",             0x00, 0x46 },
01539     { "VALUE",       "GSM/USSD",            0x00, 0x47 },
01540     { "VALUE",       "IS-136/CSD",          0x00, 0x48 },
01541     { "VALUE",       "GPRS",                0x00, 0x49 },
01542     { "VALUE",       "9200",                0x00, 0x60 },
01543     { "VALUE",       "9201",                0x00, 0x61 },
01544     { "VALUE",       "9202",                0x00, 0x62 },
01545     { "VALUE",       "9203",                0x00, 0x63 },
01546     { "VALUE",       "AUTOMATIC",           0x00, 0x64 },
01547     { "VALUE",       "MANUAL",              0x00, 0x65 },
01548     { "VALUE",       "AUTO",                0x00, 0x6A },
01549     { "VALUE",       "9600",                0x00, 0x6B },
01550     { "VALUE",       "14400",               0x00, 0x6C },
01551     { "VALUE",       "19200",               0x00, 0x6D },
01552     { "VALUE",       "28800",               0x00, 0x6E },
01553     { "VALUE",       "38400",               0x00, 0x6F },
01554     { "VALUE",       "PAP",                 0x00, 0x70 },
01555     { "VALUE",       "CHAP",                0x00, 0x71 },
01556     { "VALUE",       "ANALOGUE",            0x00, 0x72 },
01557     { "VALUE",       "ISDN",                0x00, 0x73 },
01558     { "VALUE",       "43200",               0x00, 0x74 },
01559     { "VALUE",       "57600",               0x00, 0x75 },
01560     { "VALUE",       "MSISDN_NO",           0x00, 0x76 },
01561     { "VALUE",       "IPV4",                0x00, 0x77 },
01562     { "VALUE",       "MS_CHAP",             0x00, 0x78 },
01563     { "TYPE",        "MMSURL",              0x00, 0x7C },
01564     { "TYPE",        "ID",                  0x00, 0x7D },
01565     { "NAME",        "ISP_NAME",            0x00, 0x7E },
01566     { "TYPE",        "BOOKMARK",            0x00, 0x7F },
01567     
01568     { NULL,          NULL,                  0x00, 0x00 }
01569 };
01570 
01571 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
01572 
01573 
01574 #if defined( WBXML_SUPPORT_SYNCML )
01575 
01576 /******************************************************
01577  *    SyncML 1.1 ("syncml_represent_v11_20020215.pdf")
01578  */
01579 
01580 const WBXMLTagEntry sv_syncml_syncml11_tag_table[] = {
01581     /* Code Page 0: SyncML */
01582     { "Add",            0x00, 0x05 },
01583     { "Alert",          0x00, 0x06 },
01584     { "Archive",        0x00, 0x07 },
01585     { "Atomic",         0x00, 0x08 },
01586     { "Chal",           0x00, 0x09 },
01587     { "Cmd",            0x00, 0x0a },
01588     { "CmdID",          0x00, 0x0b },
01589     { "CmdRef",         0x00, 0x0c },
01590     { "Copy",           0x00, 0x0d },
01591     { "Cred",           0x00, 0x0e },
01592     { "Data",           0x00, 0x0f },
01593     { "Delete",         0x00, 0x10 },
01594     { "Exec",           0x00, 0x11 },
01595     { "Final",          0x00, 0x12 },
01596     { "Get",            0x00, 0x13 },
01597     { "Item",           0x00, 0x14 },
01598     { "Lang",           0x00, 0x15 },
01599     { "LocName",        0x00, 0x16 },
01600     { "LocURI",         0x00, 0x17 },
01601     { "Map",            0x00, 0x18 },
01602     { "MapItem",        0x00, 0x19 },
01603     { "Meta",           0x00, 0x1a },
01604     { "MsgID",          0x00, 0x1b },
01605     { "MsgRef",         0x00, 0x1c },
01606     { "NoResp",         0x00, 0x1d },
01607     { "NoResults",      0x00, 0x1e },
01608     { "Put",            0x00, 0x1f },
01609     { "Replace",        0x00, 0x20 },
01610     { "RespURI",        0x00, 0x21 },
01611     { "Results",        0x00, 0x22 },
01612     { "Search",         0x00, 0x23 },
01613     { "Sequence",       0x00, 0x24 },
01614     { "SessionID",      0x00, 0x25 },
01615     { "SftDel",         0x00, 0x26 },
01616     { "Source",         0x00, 0x27 },
01617     { "SourceRef",      0x00, 0x28 },
01618     { "Status",         0x00, 0x29 },
01619     { "Sync",           0x00, 0x2a },
01620     { "SyncBody",       0x00, 0x2b },
01621     { "SyncHdr",        0x00, 0x2c },
01622     { "SyncML",         0x00, 0x2d },
01623     { "Target",         0x00, 0x2e },
01624     { "TargetRef",      0x00, 0x2f },
01625     { "Reserved for future use",    0x00, 0x30 },
01626     { "VerDTD",         0x00, 0x31 },
01627     { "VerProto",       0x00, 0x32 },
01628     { "NumberOfChanged",0x00, 0x33 },
01629     { "MoreData",       0x00, 0x34 },
01630 
01631     /* Code Page 1: MetInf11 */
01632     { "Anchor",         0x01, 0x05 },
01633     { "EMI",            0x01, 0x06 },
01634     { "Format",         0x01, 0x07 },
01635     { "FreeID",         0x01, 0x08 },
01636     { "FreeMem",        0x01, 0x09 },
01637     { "Last",           0x01, 0x0a },
01638     { "Mark",           0x01, 0x0b },
01639     { "MaxMsgSize",     0x01, 0x0c },
01640     { "MaxObjSize",     0x01, 0x15 },
01641     { "Mem",            0x01, 0x0d },
01642     { "MetInf",         0x01, 0x0e },
01643     { "Next",           0x01, 0x0f },
01644     { "NextNonce",      0x01, 0x10 },
01645     { "SharedMem",      0x01, 0x11 },
01646     { "Size",           0x01, 0x12 },
01647     { "Type",           0x01, 0x13 },
01648     { "Version",        0x01, 0x14 },
01649     { NULL,             0x00, 0x00 }
01650 };
01651 
01652 
01653 const WBXMLNameSpaceEntry sv_syncml_syncml10_ns_table[] = {
01654     { "syncml:SYNCML1.0",   0x00 },     
01655     { "syncml:metinf",      0x01 },     
01656     { NULL,                 0x00 }
01657 };
01658 
01659 
01660 const WBXMLNameSpaceEntry sv_syncml_syncml11_ns_table[] = {
01661     { "syncml:SYNCML1.1",   0x00 },     
01662     { "syncml:metinf",      0x01 },     
01663     { NULL,                 0x00 }
01664 };
01665 
01666 
01667 /*********************************************************
01668  *    SyncML DevInf 1.1 ("syncml_devinf_v11_20020215.pdf")
01669  */
01670 
01671 const WBXMLTagEntry sv_syncml_devinf11_tag_table[] = {
01672     { "CTCap",          0x00, 0x05 },
01673     { "CTType",         0x00, 0x06 },
01674     { "DataStore",      0x00, 0x07 },
01675     { "DataType",       0x00, 0x08 },
01676     { "DevID",          0x00, 0x09 },
01677     { "DevInf",         0x00, 0x0a },
01678     { "DevTyp",         0x00, 0x0b },
01679     { "DisplayName",    0x00, 0x0c },
01680     { "DSMem",          0x00, 0x0d },
01681     { "Ext",            0x00, 0x0e },
01682     { "FwV",            0x00, 0x0f },
01683     { "HwV",            0x00, 0x10 },
01684     { "Man",            0x00, 0x11 },
01685     { "MaxGUIDSize",    0x00, 0x12 },
01686     { "MaxID",          0x00, 0x13 },
01687     { "MaxMem",         0x00, 0x14 },
01688     { "Mod",            0x00, 0x15 },
01689     { "OEM",            0x00, 0x16 },
01690     { "ParamName",      0x00, 0x17 },
01691     { "PropName",       0x00, 0x18 },
01692     { "Rx",             0x00, 0x19 },
01693     { "Rx-Pref",        0x00, 0x1a },
01694     { "SharedMem",      0x00, 0x1b },
01695     { "Size",           0x00, 0x1c },
01696     { "SourceRef",      0x00, 0x1d },
01697     { "SwV",            0x00, 0x1e },
01698     { "SyncCap",        0x00, 0x1f },
01699     { "SyncType",       0x00, 0x20 },
01700     { "Tx",             0x00, 0x21 },
01701     { "Tx-Pref",        0x00, 0x22 },
01702     { "ValEnum",        0x00, 0x23 },
01703     { "VerCT",          0x00, 0x24 },
01704     { "VerDTD",         0x00, 0x25 },
01705     { "XNam",           0x00, 0x26 },
01706     { "XVal",           0x00, 0x27 },
01707     { "UTC",            0x00, 0x28 },
01708     { "SupportNumberOfChanges", 0x00, 0x29 },
01709     { "SupportLargeObjs",       0x00, 0x2a },
01710     { NULL,                0x00, 0x00 }
01711 };
01712 
01713 
01714 const WBXMLNameSpaceEntry sv_syncml_devinf11_ns_table[] = {
01715     { "syncml:devinf",  0x00 },     
01716     { NULL,             0x00 }
01717 };
01718 
01719 
01720 /*********************************************************
01721  *    SyncML MetInf 1.1 ("syncml_metinf_v11_20020215.pdf")
01722  */
01723 
01724 const WBXMLTagEntry sv_syncml_metinf11_tag_table[] = {
01725     { "Anchor",         0x01, 0x05 },
01726     { "EMI",            0x01, 0x06 },
01727     { "Format",         0x01, 0x07 },
01728     { "FreeID",         0x01, 0x08 },
01729     { "FreeMem",        0x01, 0x09 },
01730     { "Last",           0x01, 0x0a },
01731     { "Mark",           0x01, 0x0b },
01732     { "MaxMsgSize",     0x01, 0x0c },
01733     { "MaxObjSize",     0x01, 0x15 },
01734     { "Mem",            0x01, 0x0d },
01735     { "MetInf",         0x01, 0x0e },
01736     { "Next",           0x01, 0x0f },
01737     { "NextNonce",      0x01, 0x10 },
01738     { "SharedMem",      0x01, 0x11 },
01739     { "Size",           0x01, 0x12 },
01740     { "Type",           0x01, 0x13 },
01741     { "Version",        0x01, 0x14 },
01742     { NULL,             0x00, 0x00 }
01743 };
01744 
01745 #endif /* WBXML_SUPPORT_SYNCML */
01746 
01747 
01748 #if defined( WBXML_SUPPORT_WV )
01749 
01750 /*****************************************************************************
01751  *    Wireless Village CSP 1.1 ("OMA-WV-CSP-V1_1-20021001-A.pdf")
01752  *    Wireless Village CSP 1.2 ("OMA-IMPS-WV-CSP_WBXML-v1_2-20030221-C.PDF")
01753  */
01754 
01755 const WBXMLTagEntry sv_wv_csp_tag_table[] = {
01756     /* Common ... continue on Page 0x09 */
01757     { "Acceptance",     0x00, 0x05 },
01758     { "AddList",        0x00, 0x06 },
01759     { "AddNickList",    0x00, 0x07 },
01760     { "ClientID",       0x00, 0x0A },
01761     { "Code",           0x00, 0x0B },
01762     { "ContactList",    0x00, 0x0C },
01763     { "ContentData",    0x00, 0x0D },
01764     { "ContentEncoding",0x00, 0x0E },
01765     { "ContentSize",    0x00, 0x0F },
01766     { "ContentType",    0x00, 0x10 },
01767     { "DateTime",       0x00, 0x11 },
01768     { "Description",    0x00, 0x12 },
01769     { "DetailedResult", 0x00, 0x13 },
01770     { "EntityList",     0x00, 0x14 },
01771     { "Group",          0x00, 0x15 },
01772     { "GroupID",        0x00, 0x16 },
01773     { "GroupList",      0x00, 0x17 },
01774     { "InUse",          0x00, 0x18 },
01775     { "Logo",           0x00, 0x19 },
01776     { "MessageCount",   0x00, 0x1A },
01777     { "MessageID",      0x00, 0x1B },
01778     { "MessageURI",     0x00, 0x1C },
01779     { "MSISDN",         0x00, 0x1D },
01780     { "Name",           0x00, 0x1E },
01781     { "NickList",       0x00, 0x1F },
01782     { "NickName",       0x00, 0x20 },
01783     { "Poll",           0x00, 0x21 },
01784     { "Presence",       0x00, 0x22 },
01785     { "PresenceSubList",0x00, 0x23 },
01786     { "PresenceValue",  0x00, 0x24 },
01787     { "Property",       0x00, 0x25 },
01788     { "Qualifier",      0x00, 0x26 },
01789     { "Recipient",      0x00, 0x27 },
01790     { "RemoveList",     0x00, 0x28 },
01791     { "RemoveNickList", 0x00, 0x29 },
01792     { "Result",         0x00, 0x2A },
01793     { "ScreenName",     0x00, 0x2B },
01794     { "Sender",         0x00, 0x2C },
01795     { "Session",        0x00, 0x2D },
01796     { "SessionDescriptor",      0x00, 0x2E },
01797     { "SessionID",              0x00, 0x2F },
01798     { "SessionType",            0x00, 0x30 },
01799     { "SName",                  0x00, 0x08 },
01800     { "Status",                 0x00, 0x31 },
01801     { "Transaction",            0x00, 0x32 },
01802     { "TransactionContent",     0x00, 0x33 },
01803     { "TransactionDescriptor",  0x00, 0x34 },
01804     { "TransactionID",  0x00, 0x35 },
01805     { "TransactionMode",0x00, 0x36 },
01806     { "URL",            0x00, 0x37 },
01807     { "URLList",        0x00, 0x38 },
01808     { "User",           0x00, 0x39 },
01809     { "UserID",         0x00, 0x3A },
01810     { "UserList",       0x00, 0x3B },
01811     { "Validity",       0x00, 0x3C },
01812     { "Value",          0x00, 0x3D },
01813     { "WV-CSP-Message", 0x00, 0x09 },
01814     
01815     /* Access ... continue on Page 0x0A */
01816     { "AgreedCapabilityList",       0x01, 0x3A }, /* WV 1.2 */
01817     { "AllFunctions",               0x01, 0x05 },
01818     { "AllFunctionsRequest",        0x01, 0x06 },
01819     { "CancelInvite-Request",       0x01, 0x07 },
01820     { "CancelInviteUser-Request",   0x01, 0x08 },
01821     { "Capability",                 0x01, 0x09 },
01822     { "CapabilityList",             0x01, 0x0A },
01823     { "CapabilityRequest",          0x01, 0x0B },
01824     { "ClientCapability-Request",   0x01, 0x0C },
01825     { "ClientCapability-Response",  0x01, 0x0D },
01826     { "CompletionFlag",         0x01, 0x34 },
01827     { "DigestBytes",            0x01, 0x0E },
01828     { "DigestSchema",           0x01, 0x0F },
01829     { "Disconnect",             0x01, 0x10 },
01830     { "Extended-Request",       0x01, 0x38 }, /* WV 1.2 */
01831     { "Extended-Response",      0x01, 0x39 }, /* WV 1.2 */
01832     { "Extended-Data",          0x01, 0x3B }, /* WV 1.2 */
01833     { "Functions",              0x01, 0x11 },
01834     { "GetSPInfo-Request",      0x01, 0x12 },
01835     { "GetSPInfo-Response",     0x01, 0x13 },
01836     { "InviteID",               0x01, 0x14 },
01837     { "InviteNote",             0x01, 0x15 },
01838     { "Invite-Request",         0x01, 0x16 },
01839     { "Invite-Response",        0x01, 0x17 },
01840     { "InviteType",             0x01, 0x18 },
01841     { "InviteUser-Request",     0x01, 0x19 },
01842     { "InviteUser-Response",    0x01, 0x1A },
01843     { "KeepAlive-Request",      0x01, 0x1B },
01844     { "KeepAlive-Response",     0x01, 0x29 },
01845     { "KeepAliveTime",          0x01, 0x1C },
01846     { "Login-Request",          0x01, 0x1D },
01847     { "Login-Response",         0x01, 0x1E },
01848     { "Logout-Request",         0x01, 0x1F },
01849     { "Nonce",                  0x01, 0x20 },
01850     { "OtherServer",            0x01, 0x3C }, /* WV 1.2 */
01851     { "Password",               0x01, 0x21 },
01852     { "Polling-Request",        0x01, 0x22 },
01853     { "PresenceAttributeNSName",0x01, 0x3D }, /* WV 1.2 */
01854     { "ReceiveList",            0x01, 0x36 }, /* WV 1.2 */
01855     { "ResponseNote",           0x01, 0x23 },
01856     { "SearchElement",          0x01, 0x24 },
01857     { "SearchFindings",         0x01, 0x25 },
01858     { "SearchID",               0x01, 0x26 },
01859     { "SearchIndex",            0x01, 0x27 },
01860     { "SearchLimit",            0x01, 0x28 },
01861     { "SearchPairList",         0x01, 0x2A },
01862     { "Search-Request",         0x01, 0x2B },
01863     { "Search-Response",        0x01, 0x2C },
01864     { "SearchResult",           0x01, 0x2D },
01865     { "SearchString",           0x01, 0x33 },
01866     { "Service-Request",        0x01, 0x2E },
01867     { "Service-Response",       0x01, 0x2F },
01868     { "SessionCookie",          0x01, 0x30 },
01869     { "SessionNSName",          0x01, 0x3E }, /* WV 1.2 */
01870     { "StopSearch-Request",     0x01, 0x31 },
01871     { "TimeToLive",             0x01, 0x32 },
01872     { "TransactionNSName",      0x01, 0x3F }, /* WV 1.2 */
01873     { "VerifyID-Request",       0x01, 0x37 }, /* WV 1.2 */
01874         
01875     /* Service ... continue on Page 0x08 */
01876     { "ADDGM",          0x02, 0x05 },
01877     { "AttListFunc",    0x02, 0x06 },
01878     { "BLENT",          0x02, 0x07 },
01879     { "CAAUT",          0x02, 0x08 },
01880     { "CAINV",          0x02, 0x09 },
01881     { "CALI",           0x02, 0x0A },
01882     { "CCLI",           0x02, 0x0B },
01883     { "ContListFunc",   0x02, 0x0C },
01884     { "CREAG",          0x02, 0x0D },
01885     { "DALI",           0x02, 0x0E },
01886     { "DCLI",           0x02, 0x0F },
01887     { "DELGR",          0x02, 0x10 },
01888     { "FundamentalFeat",0x02, 0x11 },
01889     { "FWMSG",          0x02, 0x12 },
01890     { "GALS",           0x02, 0x13 },
01891     { "GCLI",           0x02, 0x14 },
01892     { "GETGM",          0x02, 0x15 },
01893     { "GETGP",          0x02, 0x16 },
01894     { "GETLM",          0x02, 0x17 },
01895     { "GETM",           0x02, 0x18 },
01896     { "GETPR",          0x02, 0x19 },
01897     { "GETSPI",         0x02, 0x1A },
01898     { "GETWL",          0x02, 0x1B },
01899     { "GLBLU",          0x02, 0x1C },
01900     { "GRCHN",          0x02, 0x1D },
01901     { "GroupAuthFunc",  0x02, 0x1E },
01902     { "GroupFeat",      0x02, 0x1F },
01903     { "GroupMgmtFunc",  0x02, 0x20 },
01904     { "GroupUseFunc",   0x02, 0x21 },
01905     { "IMAuthFunc",     0x02, 0x22 },
01906     { "IMFeat",         0x02, 0x23 },
01907     { "IMReceiveFunc",  0x02, 0x24 },
01908     { "IMSendFunc",     0x02, 0x25 },
01909     { "INVIT",          0x02, 0x26 },
01910     { "InviteFunc",     0x02, 0x27 },
01911     { "MBRAC",          0x02, 0x28 },
01912     { "MCLS",           0x02, 0x29 },
01913     { "MF",             0x02, 0x3D }, /* WV 1.2 */
01914     { "MG",             0x02, 0x3E }, /* WV 1.2 */
01915     { "MM",             0x02, 0x3F }, /* WV 1.2 */
01916     { "MDELIV",         0x02, 0x2A },
01917     { "NEWM",           0x02, 0x2B },
01918     { "NOTIF",          0x02, 0x2C },
01919     { "PresenceAuthFunc",   0x02, 0x2D },
01920     { "PresenceDeliverFunc",0x02, 0x2E },
01921     { "PresenceFeat",       0x02, 0x2F },
01922     { "REACT",          0x02, 0x30 },
01923     { "REJCM",          0x02, 0x31 },
01924     { "REJEC",          0x02, 0x32 },
01925     { "RMVGM",          0x02, 0x33 },
01926     { "SearchFunc",     0x02, 0x34 },
01927     { "ServiceFunc",    0x02, 0x35 },
01928     { "SETD",           0x02, 0x36 },
01929     { "SETGP",          0x02, 0x37 },
01930     { "SRCH",           0x02, 0x38 },
01931     { "STSRC",          0x02, 0x39 },
01932     { "SUBGCN",         0x02, 0x3A },
01933     { "UPDPR",          0x02, 0x3B },
01934     { "VRID",           0x02, 0x3E }, /* WV 1.2 : BUG IN SPEC ! The same token than 'MG' */
01935     { "WVCSPFeat",      0x02, 0x3C },
01936     
01937     /* Client Capability */
01938     { "AcceptedCharset",            0x03, 0x05 },
01939     { "AcceptedContentLength",      0x03, 0x06 },
01940     { "AcceptedContentType",        0x03, 0x07 },
01941     { "AcceptedTransferEncoding",   0x03, 0x08 },
01942     { "AnyContent",                 0x03, 0x09 },
01943     { "DefaultLanguage",            0x03, 0x0A },
01944     { "InitialDeliveryMethod",      0x03, 0x0B },
01945     { "MultiTrans",                 0x03, 0x0C },
01946     { "ParserSize",                 0x03, 0x0D },
01947     { "ServerPollMin",              0x03, 0x0E },
01948     { "SupportedBearer",            0x03, 0x0F },
01949     { "SupportedCIRMethod",         0x03, 0x10 },
01950     { "TCPAddress",                 0x03, 0x11 },
01951     { "TCPPort",                    0x03, 0x12 },
01952     { "UDPPort",                    0x03, 0x13 },    
01953     
01954     /* Presence Primitive */
01955     { "CancelAuth-Request",             0x04, 0x1E }, /* WV 1.2 */
01956     { "CancelAuth-Request",             0x04, 0x05 },
01957     { "ContactListProperties",          0x04, 0x06 },
01958     { "CreateAttributeList-Request",    0x04, 0x07 },
01959     { "CreateList-Request",             0x04, 0x08 },
01960     { "DefaultAttributeList",           0x04, 0x09 },
01961     { "DefaultContactList",             0x04, 0x0A },
01962     { "DefaultList",                    0x04, 0x0B },
01963     { "DeleteAttributeList-Request",    0x04, 0x0C },
01964     { "DeleteList-Request",             0x04, 0x0D },
01965     { "GetAttributeList-Request",       0x04, 0x0E },
01966     { "GetAttributeList-Response",      0x04, 0x0F },
01967     { "GetList-Request",                0x04, 0x10 },
01968     { "GetList-Response",               0x04, 0x11 },
01969     { "GetPresence-Request",            0x04, 0x12 },
01970     { "GetPresence-Response",           0x04, 0x13 },
01971     { "GetReactiveAuthStatus-Request",  0x04, 0x1F }, /* WV 1.2 */
01972     { "GetReactiveAuthStatus-Response", 0x04, 0x20 }, /* WV 1.2 */
01973     { "GetWatcherList-Request",         0x04, 0x14 },
01974     { "GetWatcherList-Response",        0x04, 0x15 },
01975     { "ListManage-Request",             0x04, 0x16 },
01976     { "ListManage-Response",            0x04, 0x17 },
01977     { "PresenceAuth-Request",           0x04, 0x19 },
01978     { "PresenceAuth-User",              0x04, 0x1A },
01979     { "PresenceNotification-Request",   0x04, 0x1B },
01980     { "SubscribePresence-Request",      0x04, 0x1D },
01981     { "UnsubscribePresence-Request",    0x04, 0x18 },
01982     { "UpdatePresence-Request",         0x04, 0x1C },
01983     
01984     /* Presence Attribute */
01985     { "Accuracy",           0x05, 0x05 },
01986     { "Address",            0x05, 0x06 },
01987     { "AddrPref",           0x05, 0x07 },
01988     { "Alias",              0x05, 0x08 },
01989     { "Altitude",           0x05, 0x09 },
01990     { "Building",           0x05, 0x0A },
01991     { "Caddr",              0x05, 0x0B },
01992     { "Cap",                0x05, 0x2F },
01993     { "City",               0x05, 0x0C },
01994     { "ClientInfo",         0x05, 0x0D },
01995     { "ClientProducer",     0x05, 0x0E },
01996     { "ClientType",         0x05, 0x0F },
01997     { "ClientVersion",      0x05, 0x10 },
01998     { "Cname",              0x05, 0x30 },
01999     { "CommC",              0x05, 0x11 },
02000     { "CommCap",            0x05, 0x12 },
02001     { "Contact",            0x05, 0x31 },
02002     { "ContactInfo",        0x05, 0x13 },
02003     { "ContainedvCard",     0x05, 0x14 },
02004     { "ContentType",        0x05, 0x36 }, /* WV 1.2 */
02005     { "Country",            0x05, 0x15 },
02006     { "Cpriority",          0x05, 0x32 },
02007     { "Crossing1",          0x05, 0x16 },
02008     { "Crossing2",          0x05, 0x17 },
02009     { "Cstatus",            0x05, 0x33 },
02010     { "DevManufacturer",    0x05, 0x18 },
02011     { "DirectContent",      0x05, 0x19 },
02012     { "FreeTextLocation",   0x05, 0x1A },
02013     { "GeoLocation",        0x05, 0x1B },
02014     { "Inf_link",           0x05, 0x37 }, /* WV 1.2 */
02015     { "InfoLink",           0x05, 0x38 }, /* WV 1.2 */
02016     { "Language",           0x05, 0x1C },
02017     { "Latitude",           0x05, 0x1D },
02018     { "Link",               0x05, 0x39 }, /* WV 1.2 */
02019     { "Longitude",          0x05, 0x1E },
02020     { "Model",              0x05, 0x1F },
02021     { "NamedArea",          0x05, 0x20 },    
02022     { "Note",               0x05, 0x34 }, /* WV 1.2 */
02023     { "OnlineStatus",       0x05, 0x21 },
02024     { "PLMN",               0x05, 0x22 },
02025     { "PrefC",              0x05, 0x23 },
02026     { "PreferredContacts",  0x05, 0x24 },
02027     { "PreferredLanguage",  0x05, 0x25 },
02028     { "PreferredContent",   0x05, 0x26 },
02029     { "PreferredvCard",     0x05, 0x27 },
02030     { "Registration",       0x05, 0x28 },
02031     { "StatusContent",      0x05, 0x29 },
02032     { "StatusMood",         0x05, 0x2A },
02033     { "StatusText",         0x05, 0x2B },
02034     { "Street",             0x05, 0x2C },
02035     { "Text",               0x05, 0x3A }, /* WV 1.2 */
02036     { "TimeZone",           0x05, 0x2D },
02037     { "UserAvailability",   0x05, 0x2E },
02038     { "Zone",               0x05, 0x35 },
02039         
02040     /* Messaging */
02041     { "BlockList",                  0x06, 0x05 },
02042     { "BlockUser-Request",          0x06, 0x06 },
02043     { "DeliveryMethod",             0x06, 0x07 },
02044     { "DeliveryReport",             0x06, 0x08 },
02045     { "DeliveryReport-Request",     0x06, 0x09 },
02046     { "DeliveryTime",               0x06, 0x1A },
02047     { "ForwardMessage-Request",     0x06, 0x0A },
02048     { "GetBlockedList-Request",     0x06, 0x0B },
02049     { "GetBlockedList-Response",    0x06, 0x0C },
02050     { "GetMessageList-Request",     0x06, 0x0D },
02051     { "GetMessageList-Response",    0x06, 0x0E },
02052     { "GetMessage-Request",         0x06, 0x0F },
02053     { "GetMessage-Response",        0x06, 0x10 },
02054     { "GrantList",                  0x06, 0x11 },
02055     { "MessageDelivered",           0x06, 0x12 },
02056     { "MessageInfo",                0x06, 0x13 },
02057     { "MessageNotification",        0x06, 0x14 },
02058     { "NewMessage",                 0x06, 0x15 },
02059     { "RejectMessage-Request",      0x06, 0x16 },
02060     { "SendMessage-Request",        0x06, 0x17 },
02061     { "SendMessage-Response",       0x06, 0x18 },
02062     { "SetDeliveryMethod-Request",  0x06, 0x19 },
02063     
02064     /* Group */
02065     { "AddGroupMembers-Request",    0x07, 0x05 },
02066     { "Admin",                      0x07, 0x06 },
02067     { "AdminMapList",               0x07, 0x26 }, /* WV 1.2 */
02068     { "AdminMapping",               0x07, 0x27 }, /* WV 1.2 */
02069     { "CreateGroup-Request",        0x07, 0x07 },
02070     { "DeleteGroup-Request",        0x07, 0x08 },
02071     { "GetGroupMembers-Request",    0x07, 0x09 },
02072     { "GetGroupMembers-Response",   0x07, 0x0A },
02073     { "GetGroupProps-Request",      0x07, 0x0B },
02074     { "GetGroupProps-Response",     0x07, 0x0C },
02075     { "GetJoinedUsers-Request",     0x07, 0x24 }, /* WV 1.2 */
02076     { "GetJoinedUsers-Response",    0x07, 0x25 }, /* WV 1.2 */
02077     { "GroupChangeNotice",          0x07, 0x0D },
02078     { "GroupProperties",            0x07, 0x0E },
02079     { "Joined",                     0x07, 0x0F },
02080     { "JoinGroup",                  0x07, 0x21 },
02081     { "JoinedRequest",              0x07, 0x10 },
02082     { "JoinGroup-Request",          0x07, 0x11 },
02083     { "JoinGroup-Response",         0x07, 0x12 },
02084     { "LeaveGroup-Request",         0x07, 0x13 },
02085     { "LeaveGroup-Response",        0x07, 0x14 },
02086     { "Left",                       0x07, 0x15 },
02087     { "Mapping",                    0x07, 0x28 }, /* WV 1.2 */
02088     { "MemberAccess-Request",       0x07, 0x16 },
02089     { "Mod",                        0x07, 0x17 },
02090     { "ModMapping",                 0x07, 0x29 }, /* WV 1.2 */
02091     { "OwnProperties",              0x07, 0x18 },
02092     { "RejectList-Request",         0x07, 0x19 },
02093     { "RejectList-Response",        0x07, 0x1A },
02094     { "RemoveGroupMembers-Request", 0x07, 0x1B },
02095     { "SetGroupProps-Request",      0x07, 0x1C },
02096     { "SubscribeGroupNotice-Request",   0x07, 0x1D },
02097     { "SubscribeGroupNotice-Response",  0x07, 0x1E },
02098     { "SubscribeNotification",          0x07, 0x22 },
02099     { "SubscribeType",                  0x07, 0x23 },
02100     { "UserMapList",                0x07, 0x2A }, /* WV 1.2 */
02101     { "UserMapping",                0x07, 0x2B }, /* WV 1.2 */
02102     { "Users",                      0x07, 0x1F },
02103     { "WelcomeNote",                0x07, 0x20 },
02104 
02105     /* Service ... continued */
02106     { "GETAUT",                     0x08, 0x06 }, /* WV 1.2 */
02107     { "GETJU",                      0x08, 0x07 }, /* WV 1.2 */
02108     { "MP",                         0x08, 0x05 }, /* WV 1.2 */
02109 
02110     /* Common ... continued */
02111     { "CIR",                        0x09, 0x05 }, /* WV 1.2 */
02112     { "Domain",                     0x09, 0x06 }, /* WV 1.2 */
02113     { "ExtBlock",                   0x09, 0x07 }, /* WV 1.2 */
02114     { "HistoryPeriod",              0x09, 0x08 }, /* WV 1.2 */
02115     { "IDList",                     0x09, 0x09 }, /* WV 1.2 */
02116     { "MaxWatcherList",             0x09, 0x0A }, /* WV 1.2 */
02117     { "ReactiveAuthState",          0x09, 0x0B }, /* WV 1.2 */
02118     { "ReactiveAuthStatus",         0x09, 0x0C }, /* WV 1.2 */
02119     { "ReactiveAuthStatusList",     0x09, 0x0D }, /* WV 1.2 */
02120     { "Watcher",                    0x09, 0x0E }, /* WV 1.2 */
02121     { "WatcherStatus",              0x09, 0x0C }, /* WV 1.2 : Bug in Spec ! Same token then 'ReactiveAuthStatus' */
02122 
02123     /* Access ... continued */
02124     { "WV-CSP-NSDiscovery-Request", 0x0A, 0x05 }, /* WV 1.2 */
02125     { "WV-CSP-NSDiscovery-Response",0x0A, 0x06 }, /* WV 1.2 */
02126 
02127     { NULL,                         0x00, 0x00 }
02128 };
02129 
02130 const WBXMLAttrEntry sv_wv_csp_attr_table[] = {
02131     { "xmlns",      "http://www.wireless-village.org/CSP",  0x00, 0x05 },
02132     { "xmlns",      "http://www.wireless-village.org/PA",   0x00, 0x06 },
02133     { "xmlns",      "http://www.wireless-village.org/TRC",  0x00, 0x07 },
02134     { "xmlns",      "http://www.openmobilealliance.org/DTD/WV-CSP",     0x00, 0x08 },
02135     { "xmlns",      "http://www.openmobilealliance.org/DTD/WV-PA",      0x00, 0x09 },
02136     { "xmlns",      "http://www.openmobilealliance.org/DTD/WV-TRC",     0x00, 0x0A },
02137     { NULL,         NULL,                                   0x00, 0x00 }
02138 };
02139 
02140 const WBXMLExtValueEntry sv_wv_csp_ext_table[] = {
02141     /*
02142      * DO NOT CHANGE THIS TABLE ORDER PLEASE ! 
02143      * Extension Tokens must be sorted by length !
02144      */
02145 
02146     { "application/vnd.wap.mms-message",    0x04 }, /* Common value token */
02147     { "www.wireless-village.org",           0x30 }, /* Common value token */
02148     { "GROUP_USER_ID_AUTOJOIN",             0x50 }, /* Access value token */ /* WV 1.2 */
02149     { "GROUP_USER_ID_JOINED",               0x40 }, /* Access value token */
02150     { "GROUP_USER_ID_OWNER",                0x41 }, /* Access value token */
02151     { "USER_EMAIL_ADDRESS",                 0x47 }, /* Access value token */
02152     { "USER_MOBILE_NUMBER",                 0x4b }, /* Access value token */
02153     { "USER_ONLINE_STATUS",                 0x4c }, /* Access value token */
02154     { "application/x-sms",                  0x05 }, /* Common value token */
02155     { "PrivateMessaging",                   0x1c }, /* Common value token */
02156     { "text/x-vCalendar",                   0x29 }, /* Common value token */
02157     { "USER_FIRST_NAME",                    0x48 }, /* Access value token */
02158     { "MaxActiveUsers",                     0x13 }, /* Common value token */
02159     { "PrivilegeLevel",                     0x1d }, /* Common value token */
02160     { "USER_LAST_NAME",                     0x4a }, /* Access value token */
02161     { "NOT_AVAILABLE",                      0x70 }, /* Presence value token */
02162     { "application/",                       0x03 }, /* Common value token */
02163     { "text/x-vCard",                       0x2a }, /* Common value token */
02164     { "MOBILE_PHONE",                       0x6f }, /* Presence value token */   
02165     { "VIDEO_STREAM",                       0x77 }, /* Presence value token */
02166     { "ActiveUsers",                        0x01 }, /* Common value token */
02167     { "DisplayName",                        0x0a }, /* Common value token */
02168     { "GROUP_TOPIC",                        0x3f }, /* Access value token */
02169     { "AccessType",                         0x00 }, /* Common value token */
02170     { "AutoDelete",                         0x31 }, /* Common value token */ /* WV 1.2 */
02171     { "Restricted",                         0x22 }, /* Common value token */
02172     { "ScreenName",                         0x23 }, /* Common value token */
02173     { "Searchable",                         0x24 }, /* Common value token */
02174     { "text/plain",                         0x28 }, /* Common value token */
02175     { "GROUP_NAME",                         0x3e }, /* Access value token */
02176     { "USER_ALIAS",                         0x46 }, /* Access value token */
02177     { "AUDIO_CALL",                         0x5e }, /* Presence value token */
02178     { "IM_OFFLINE",                         0x69 }, /* Presence value token */
02179     { "INVINCIBLE",                         0x6c }, /* Presence value token */
02180     { "VIDEO_CALL",                         0x76 }, /* Presence value token */
02181     { "AVAILABLE",                          0x5f }, /* Presence value token */
02182     { "IM_ONLINE",                          0x6a }, /* Presence value token */
02183     { "https://",                           0x0f }, /* Common value token */
02184     { "AutoJoin",                           0x06 }, /* Common value token */
02185     { "Response",                           0x21 }, /* Common value token */
02186     { "Validity",                           0x33 }, /* Common value token */ /* WV 1.2 */
02187     { "GROUP_ID",                           0x3d }, /* Access value token */
02188     { "COMPUTER",                           0x63 }, /* Presence value token */
02189     { "DISCREET",                           0x64 }, /* Presence value token */
02190     { "Default",                            0x09 }, /* Common value token */
02191     { "GRANTED",                            0x35 }, /* Common value token */ /* WV 1.2 */
02192     { "http://",                            0x0e }, /* Common value token */
02193     { "Outband",                            0x19 }, /* Common value token */
02194     { "PENDING",                            0x36 }, /* Common value token */ /* WV 1.2 */
02195     { "Private",                            0x1b }, /* Common value token */
02196     { "Request",                            0x20 }, /* Common value token */
02197     { "USER_ID",                            0x49 }, /* Access value token */
02198     { "ANXIOUS",                            0x5c }, /* Presence value token */
02199     { "ASHAMED",                            0x5d }, /* Presence value token */
02200     { "EXCITED",                            0x66 }, /* Presence value token */
02201     { "IN_LOVE",                            0x6b }, /* Presence value token */
02202     { "JEALOUS",                            0x6d }, /* Presence value token */
02203     { "BASE64",                             0x07 }, /* Common value token */
02204     { "Closed",                             0x08 }, /* Common value token */
02205     { "image/",                             0x10 }, /* Common value token */
02206     { "Inband",                             0x11 }, /* Common value token */
02207     { "Public",                             0x1e }, /* Common value token */    
02208     { "ShowID",                             0x34 }, /* Common value token */ /* WV 1.2 */  
02209     { "WAPSMS",                             0x4d }, /* Access value token */
02210     { "WAPUDP",                             0x4e }, /* Access value token */  
02211     { "SLEEPY",                             0x74 }, /* Presence value token */
02212     { "Admin",                              0x02 }, /* Common value token */
02213     { "text/",                              0x27 }, /* Common value token */
02214     { "Topic",                              0x2b }, /* Common value token */
02215     { "ANGRY",                              0x5b }, /* Presence value token */
02216     { "BORED",                              0x60 }, /* Presence value token */
02217     { "EMAIL",                              0x65 }, /* Presence value token */
02218     { "HAPPY",                              0x67 }, /* Presence value token */
02219     { "OTHER",                              0x71 }, /* Presence value token */
02220     { "Name",                               0x15 }, /* Common value token */
02221     { "None",                               0x16 }, /* Common value token */
02222     { "Open",                               0x18 }, /* Common value token */
02223     { "Type",                               0x2d }, /* Common value token */
02224     { "HTTP",                               0x42 }, /* Access value token */
02225     { "STCP",                               0x44 }, /* Access value token */
02226     { "SUDP",                               0x45 }, /* Access value token */
02227     { "CALL",                               0x61 }, /* Presence value token */
02228     { "Mod",                                0x14 }, /* Common value token */
02229     { "SMS",                                0x43 }, /* Access value token */
02230     { "WSP",                                0x4f }, /* Access value token */
02231     { "CLI",                                0x62 }, /* Presence value token */
02232     { "MMS",                                0x6e }, /* Presence value token */
02233     { "PDA",                                0x72 }, /* Presence value token */
02234     { "SAD",                                0x73 }, /* Presence value token */
02235     { "SMS",                                0x75 }, /* Presence value token */
02236     { "GM",                                 0x32 }, /* Common value token */ /* WV 1.2 */
02237     { "GR",                                 0x0d }, /* Common value token */
02238     { "IM",                                 0x12 }, /* Common value token */    
02239     { "PR",                                 0x1a }, /* Common value token */
02240     { "SC",                                 0x26 }, /* Common value token */
02241     { "US",                                 0x2f }, /* Common value token */
02242     { "IM",                                 0x68 }, /* Presence value token */
02243     { "F",                                  0x0b }, /* Common value token */
02244     { "G",                                  0x0c }, /* Common value token */
02245     { "N",                                  0x17 }, /* Common value token */
02246     { "P",                                  0x1f }, /* Common value token */
02247     { "S",                                  0x25 }, /* Common value token */
02248     { "T",                                  0x2c }, /* Common value token */
02249     { "U",                                  0x2e }, /* Common value token */
02250 
02251     { NULL,                                 0x00 }, /* Presence value token */
02252 };
02253 
02254 #endif /* WBXML_SUPPORT_WV */
02255 
02256 
02257 /******************************
02258  *    Main Table
02259  */
02260 
02261 const WBXMLLangEntry sv_table_entry[] = {
02262 #if defined( WBXML_SUPPORT_WML )
02263 #ifdef WBXML_TABLES_SEPARATE_WML_VERSIONS    
02264     { WBXML_LANG_WML10,             &sv_wml10_public_id,            sv_wml10_tag_table,             NULL,                           sv_wml10_attr_table,        sv_wml10_attr_value_table,      NULL },
02265     { WBXML_LANG_WML11,             &sv_wml11_public_id,            sv_wml11_tag_table,             NULL,                           sv_wml11_attr_table,        sv_wml11_attr_value_table,      NULL },
02266     { WBXML_LANG_WML12,             &sv_wml12_public_id,            sv_wml12_tag_table,             NULL,                           sv_wml12_attr_table,        sv_wml12_attr_value_table,      NULL },
02267 #else /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
02268     { WBXML_LANG_WML10,             &sv_wml10_public_id,            sv_wml13_tag_table,             NULL,                           sv_wml13_attr_table,        sv_wml13_attr_value_table,      NULL },
02269     { WBXML_LANG_WML11,             &sv_wml11_public_id,            sv_wml13_tag_table,             NULL,                           sv_wml13_attr_table,        sv_wml13_attr_value_table,      NULL },
02270     { WBXML_LANG_WML12,             &sv_wml12_public_id,            sv_wml13_tag_table,             NULL,                           sv_wml13_attr_table,        sv_wml13_attr_value_table,      NULL },
02271 #endif /* WBXML_TABLES_SEPARATE_WML_VERSIONS */
02272     { WBXML_LANG_WML13,             &sv_wml13_public_id,            sv_wml13_tag_table,             NULL,                           sv_wml13_attr_table,        sv_wml13_attr_value_table,      NULL },
02273 #endif /* WBXML_SUPPORT_WML */
02274 
02275 #if defined( WBXML_SUPPORT_WTA )
02276     { WBXML_LANG_WTA10,             &sv_wta10_public_id,            sv_wta10_tag_table,             NULL,                           sv_wta10_attr_table,        NULL,                           NULL },
02277     { WBXML_LANG_WTAWML12,          &sv_wtawml12_public_id,         sv_wtawml12_tag_table,          NULL,                           sv_wtawml12_attr_table,     sv_wtawml12_attr_value_table,   NULL },
02278     { WBXML_LANG_CHANNEL11,         &sv_channel11_public_id,        sv_channel11_tag_table,         NULL,                           sv_channel11_attr_table,    NULL,                           NULL },
02279     { WBXML_LANG_CHANNEL12,         &sv_channel12_public_id,        sv_channel12_tag_table,         NULL,                           sv_channel12_attr_table,    NULL,                           NULL },
02280 #endif /* WBXML_SUPPORT_WTA */
02281 
02282 #if defined( WBXML_SUPPORT_SI )
02283     { WBXML_LANG_SI10,              &sv_si10_public_id,             sv_si10_tag_table,              NULL,                           sv_si10_attr_table,         sv_si10_attr_value_table,       NULL },
02284 #endif /* WBXML_SUPPORT_SI */
02285 
02286 #if defined( WBXML_SUPPORT_SL )
02287     { WBXML_LANG_SL10,              &sv_sl10_public_id,             sv_sl10_tag_table,              NULL,                           sv_sl10_attr_table,         sv_sl10_attr_value_table,       NULL },
02288 #endif /* WBXML_SUPPORT_SL */
02289 
02290 #if defined( WBXML_SUPPORT_CO )
02291     { WBXML_LANG_CO10,              &sv_co10_public_id,             sv_co10_tag_table,              NULL,                           sv_co10_attr_table,         sv_co10_attr_value_table,       NULL },
02292 #endif /* WBXML_SUPPORT_CO */
02293 
02294 #if defined( WBXML_SUPPORT_PROV )
02295     { WBXML_LANG_PROV10,            &sv_prov10_public_id,           sv_prov10_tag_table,            NULL,                           sv_prov10_attr_table,       sv_prov10_attr_value_table,     NULL }, 
02296 #endif /* WBXML_SUPPORT_PROV */
02297 
02298 #if defined( WBXML_SUPPORT_EMN )
02299     { WBXML_LANG_EMN10,             &sv_emn10_public_id,            sv_emn10_tag_table,             NULL,                           sv_emn10_attr_table,        sv_emn10_attr_value_table,      NULL },
02300 #endif /* WBXML_SUPPORT_EMN */
02301 
02302 #if defined( WBXML_SUPPORT_DRMREL )
02303     { WBXML_LANG_DRMREL10,          &sv_drmrel10_public_id,         sv_drmrel10_tag_table,          NULL,                           sv_drmrel10_attr_table,     sv_drmrel10_attr_value_table,   NULL },
02304 #endif /* WBXML_SUPPORT_DRMREL */
02305 
02306 #if defined( WBXML_SUPPORT_OTA_SETTINGS )
02307     { WBXML_LANG_OTA_SETTINGS,      &sv_ota_settings_public_id,     sv_ota_settings_tag_table,      NULL,                           sv_ota_settings_attr_table, NULL,                           NULL },
02308 #endif /* WBXML_SUPPORT_OTA_SETTINGS */
02309 
02310 #if defined( WBXML_SUPPORT_SYNCML )
02311     { WBXML_LANG_SYNCML_SYNCML11,   &sv_syncml_syncml11_public_id,  sv_syncml_syncml11_tag_table,   sv_syncml_syncml11_ns_table,    NULL,                       NULL,                           NULL },
02312     { WBXML_LANG_SYNCML_DEVINF11,   &sv_syncml_devinf11_public_id,  sv_syncml_devinf11_tag_table,   sv_syncml_devinf11_ns_table,    NULL,                       NULL,                           NULL },
02313     { WBXML_LANG_SYNCML_METINF11,   &sv_syncml_metinf11_public_id,  sv_syncml_metinf11_tag_table,   NULL,                           NULL,                       NULL,                           NULL },
02315     { WBXML_LANG_SYNCML_SYNCML10,   &sv_syncml_syncml10_public_id,  sv_syncml_syncml11_tag_table,   sv_syncml_syncml10_ns_table,    NULL,                       NULL,                           NULL },
02316     { WBXML_LANG_SYNCML_DEVINF10,   &sv_syncml_devinf10_public_id,  sv_syncml_devinf11_tag_table,   sv_syncml_devinf11_ns_table,    NULL,                       NULL,                           NULL },   
02317 #endif /* WBXML_SUPPORT_SYNCML */
02318 
02319 #if defined( WBXML_SUPPORT_WV )
02320     { WBXML_LANG_WV_CSP11,          &sv_wv_csp11_public_id,         sv_wv_csp_tag_table,            NULL,                           sv_wv_csp_attr_table,       NULL,                           sv_wv_csp_ext_table },
02321     { WBXML_LANG_WV_CSP12,          &sv_wv_csp12_public_id,         sv_wv_csp_tag_table,            NULL,                           sv_wv_csp_attr_table,       NULL,                           sv_wv_csp_ext_table },
02322 #endif /* WBXML_SUPPORT_WV */
02323 
02324     { -1,                           NULL,                           NULL,                           NULL,                           NULL,                       NULL,                           NULL }
02325 };
02326 
02327 
02328 /******************************
02329  * Public Functions
02330  */
02331 
02332 /* Exported function to return pointer to WBXML Languages Main Table */
02333 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_get_main(void)
02334 {
02335     return sv_table_entry;
02336 }
02337 
02338 
02339 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_search_table(const WBXMLLangEntry *main_table,
02340                                                                 const WB_UTINY *public_id, 
02341                                                                 const WB_UTINY *system_id,
02342                                                                 const WB_UTINY *root)
02343 {
02344     WB_ULONG index;
02345 
02346     if (main_table == NULL)
02347         return NULL;
02348 
02349     /* Search by XML Public ID  */
02350     if (public_id != NULL) {
02351         index = 0;
02352 
02353         while (main_table[index].publicID != NULL) {
02354             if (main_table[index].publicID->xmlPublicID && WBXML_STRCASECMP(main_table[index].publicID->xmlPublicID, public_id) == 0)
02355                 return &main_table[index];
02356             index++;
02357         }
02358     }
02359 
02360     /* Search by XML System ID  */
02361     if (system_id != NULL) {
02362         index = 0;
02363 
02364         while (main_table[index].publicID != NULL) {
02365             if (main_table[index].publicID->xmlDTD && WBXML_STRCMP(main_table[index].publicID->xmlDTD, system_id) == 0) 
02366                 return &main_table[index];
02367             index++;
02368         }
02369     }
02370 
02371     /* Search by XML Root Element  */
02372     if (root != NULL) {
02373         index = 0;
02374 
02375         while (main_table[index].publicID != NULL) {
02376             if (main_table[index].publicID->xmlRootElt && WBXML_STRCMP(main_table[index].publicID->xmlRootElt, root) == 0) 
02377                 return &main_table[index];
02378             index++;
02379         }
02380     }
02381 
02382     return NULL;
02383 }
02384 
02385 
02386 WBXML_DECLARE(WB_ULONG) wbxml_tables_get_wbxml_publicid(const WBXMLLangEntry *main_table, WBXMLLanguage lang_id)
02387 {
02388     WB_ULONG i = 0;
02389 
02390     if (main_table == NULL)
02391         return WBXML_PUBLIC_ID_UNKNOWN;
02392 
02393     while (main_table[i].langID != -1) {
02394         if (main_table[i].langID == lang_id) {
02395             if (main_table[i].publicID != NULL)
02396                 return main_table[i].publicID->wbxmlPublicID;
02397             else
02398                 return WBXML_PUBLIC_ID_UNKNOWN;
02399         }
02400         i++;
02401     }
02402 
02403     return WBXML_PUBLIC_ID_UNKNOWN;
02404 }
02405 
02406 
02407 WBXML_DECLARE(const WBXMLTagEntry *) wbxml_tables_get_tag_from_xml(const WBXMLLangEntry *lang_table,
02408                                                                    const WB_UTINY *xml_name)
02409 {
02410     WB_ULONG i = 0;
02411 
02412     if ((lang_table == NULL) || (lang_table->tagTable == NULL) || (xml_name == NULL))
02413         return NULL;
02414 
02415     while (lang_table->tagTable[i].xmlName != NULL) {
02416         if (WBXML_STRCMP(lang_table->tagTable[i].xmlName, xml_name) == 0)
02417             return &(lang_table->tagTable[i]);
02418         i++;
02419     }
02420 
02421     return NULL;
02422 }
02423 
02424 
02425 WBXML_DECLARE(const WBXMLAttrEntry *) wbxml_tables_get_attr_from_xml(const WBXMLLangEntry *lang_table,
02426                                                                      WB_UTINY *xml_name,
02427                                                                      WB_UTINY *xml_value,
02428                                                                      WB_UTINY **value_left)
02429 {
02430     WB_ULONG i = 0;
02431     WB_ULONG found_index = 0, found_comp = 0;
02432     WB_BOOL found = FALSE;
02433 
02434     if ((lang_table == NULL) || (lang_table->attrTable == NULL) || (xml_name == NULL))
02435         return NULL;
02436 
02437     if (value_left != NULL)
02438         *value_left = xml_value;
02439 
02440     /* Iterate in Attribute Table */
02441     while (lang_table->attrTable[i].xmlName != NULL) {
02442         /* Search for Attribute Name */
02443         if (WBXML_STRCMP(lang_table->attrTable[i].xmlName, xml_name) == 0) 
02444         {
02445             if (lang_table->attrTable[i].xmlValue == NULL) {
02446                 /* This is the token with a NULL Attribute Value */
02447                 if (xml_value == NULL) {
02448                     /* Well, we got it */
02449                     return &(lang_table->attrTable[i]);
02450                 }
02451                 else {
02452                     if (!found) {
02453                         /* We haven't found yet a better Attribute Token */
02454                         found = TRUE;
02455                         found_index = i;
02456                     }
02457 
02458                     /* Else: We already have found a better Attribute Token, so let's forget this one */
02459                 }
02460             }
02461             else {
02462                 /* Check the Attribute Value */
02463                 if (xml_value != NULL)
02464                 {
02465                     if (WBXML_STRCMP(lang_table->attrTable[i].xmlValue, xml_value) == 0) 
02466                     {
02467                         /* We have found the EXACT Attribute Name / Value pair we are searching, well done boy */
02468                         if (value_left != NULL)
02469                             *value_left = NULL;
02470 
02471                         return &(lang_table->attrTable[i]);
02472                     }
02473                     else {
02474                         if ((WBXML_STRLEN(lang_table->attrTable[i].xmlValue) < WBXML_STRLEN(xml_value)) &&
02475                             (found_comp < WBXML_STRLEN(lang_table->attrTable[i].xmlValue)) &&
02476                             (WBXML_STRNCMP(lang_table->attrTable[i].xmlValue, xml_value, WBXML_STRLEN(lang_table->attrTable[i].xmlValue)) == 0))
02477                         {
02478                             /* We have found a better Attribute Value */
02479                             found = TRUE;
02480                             found_index = i;
02481                             found_comp = WBXML_STRLEN(lang_table->attrTable[i].xmlValue);
02482                         }
02483                     }
02484                 }
02485 
02486                 /* Else: We are searching for the Attribute Token with a NULL Attribute Value associated, so forget this one  */
02487             }
02488         }
02489         i++;
02490     }
02491 
02492     /* Attribute Name / Value pair not found, but an entry with this Attribute Name, 
02493      * and (maybe) start of this Attribute Value was found */
02494     if (found) {
02495         if (value_left != NULL)
02496             *value_left = xml_value + found_comp;
02497 
02498         return &(lang_table->attrTable[found_index]);
02499     }
02500 
02501     /* Attribute Name NOT found */
02502     return NULL;
02503 }
02504 
02505 
02506 WBXML_DECLARE(const WBXMLExtValueEntry *) wbxml_tables_get_ext_from_xml(const WBXMLLangEntry *lang_table,
02507                                                                         WB_UTINY *xml_value)
02508 {
02509     WB_ULONG i = 0;
02510 
02511     if ((lang_table == NULL) || (lang_table->extValueTable == NULL) || (xml_value == NULL))
02512         return NULL;
02513 
02514     while (lang_table->extValueTable[i].xmlName != NULL) {
02515         if (WBXML_STRCMP(lang_table->extValueTable[i].xmlName, xml_value) == 0)
02516             return &(lang_table->extValueTable[i]);
02517         i++;
02518     }
02519 
02520     return NULL;
02521 }
02522 
02523 
02524 WBXML_DECLARE(WB_BOOL) wbxml_tables_contains_attr_value_from_xml(const WBXMLLangEntry *lang_table,
02525                                                                  WB_UTINY *xml_value)
02526 {
02527     WB_ULONG i = 0;
02528 
02529     if ((lang_table == NULL) || (lang_table->attrValueTable == NULL) || (xml_value == NULL))
02530         return FALSE;
02531 
02532     while (lang_table->attrValueTable[i].xmlName != NULL)
02533     {
02534         /* Is this Attribute Value contained in this XML Buffer ? */
02535         if (WBXML_STRSTR(xml_value, lang_table->attrValueTable[i].xmlName) != NULL)
02536             return TRUE;
02537 
02538         i++;
02539     }
02540 
02541     return FALSE;
02542 }
02543 
02544 
02545 WBXML_DECLARE(const WB_TINY *) wbxml_tables_get_xmlns(const WBXMLNameSpaceEntry *ns_table, WB_UTINY code_page)
02546 {
02547     WB_ULONG i = 0;
02548 
02549     if (ns_table == NULL)
02550         return NULL;
02551 
02552     while (ns_table[i].xmlNameSpace != NULL)
02553     {
02554         if (ns_table[i].wbxmlCodePage == code_page)
02555             return ns_table[i].xmlNameSpace;
02556 
02557         i++;
02558     }
02559 
02560     return NULL;
02561 }

Generated on Mon Nov 24 20:09:43 2003 for WBXML Library by doxygen1.3-rc1