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

wbxml_tables.h

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 #ifndef WBXML_TABLES_H
00035 #define WBXML_TABLES_H
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif /* __cplusplus */
00041 
00046 /****************************************************
00047  *      WBXML Public IDs (http://www.wapforum.org/wina)
00048  */
00049 
00050 #define WBXML_PUBLIC_ID_UNKNOWN 0x01
00051 
00052 /* WAP */
00053 #define WBXML_PUBLIC_ID_WML10       0x02
00054 #define WBXML_PUBLIC_ID_WTA10       0x03
00055 #define WBXML_PUBLIC_ID_WML11       0x04
00056 #define WBXML_PUBLIC_ID_SI10        0x05
00057 #define WBXML_PUBLIC_ID_SL10        0x06
00058 #define WBXML_PUBLIC_ID_CO10        0x07
00059 #define WBXML_PUBLIC_ID_CHANNEL11   0x08
00060 #define WBXML_PUBLIC_ID_WML12       0x09
00061 #define WBXML_PUBLIC_ID_WML13       0x0A
00062 #define WBXML_PUBLIC_ID_PROV10      0x0B
00063 #define WBXML_PUBLIC_ID_WTAWML12    0x0C
00064 #define WBXML_PUBLIC_ID_CHANNEL12   WBXML_PUBLIC_ID_UNKNOWN  
00065 #define WBXML_PUBLIC_ID_EMN10       0x0D
00066 #define WBXML_PUBLIC_ID_DRMREL10    0x0E
00067 
00068 #define XML_PUBLIC_ID_WML10     "-//WAPFORUM//DTD WML 1.0//EN"
00069 #define XML_PUBLIC_ID_WTA10         "-//WAPFORUM//DTD WTA 1.0//EN"
00070 #define XML_PUBLIC_ID_WML11         "-//WAPFORUM//DTD WML 1.1//EN"
00071 #define XML_PUBLIC_ID_SI10          "-//WAPFORUM//DTD SI 1.0//EN"
00072 #define XML_PUBLIC_ID_SL10          "-//WAPFORUM//DTD SL 1.0//EN"
00073 #define XML_PUBLIC_ID_CO10          "-//WAPFORUM//DTD CO 1.0//EN"
00074 #define XML_PUBLIC_ID_CHANNEL11 "-//WAPFORUM//DTD CHANNEL 1.1//EN"
00075 #define XML_PUBLIC_ID_WML12         "-//WAPFORUM//DTD WML 1.2//EN"
00076 #define XML_PUBLIC_ID_WML13         "-//WAPFORUM//DTD WML 1.3//EN"
00077 #define XML_PUBLIC_ID_PROV10    "-//WAPFORUM//DTD PROV 1.0//EN"
00078 #define XML_PUBLIC_ID_WTAWML12  "-//WAPFORUM//DTD WTA-WML 1.2//EN"
00079 #define XML_PUBLIC_ID_CHANNEL12 "-//WAPFORUM//DTD CHANNEL 1.2//EN"
00080 #define XML_PUBLIC_ID_EMN10     "-//WAPFORUM//DTD EMN 1.0//EN"
00081 #define XML_PUBLIC_ID_DRMREL10  "-//OMA//DTD DRMREL 1.0//EN"
00082 
00083 /* Ericsson/Nokia OTA Settings v7.0 */
00084 #define WBXML_PUBLIC_ID_OTA_SETTINGS    WBXML_PUBLIC_ID_UNKNOWN
00085 #define XML_PUBLIC_ID_OTA_SETTINGS      NULL                            /* No XML Public ID defined */
00086 
00087 /* SyncML 1.0 */
00088 /* #define WBXML_PUBLIC_ID_SYNCML_SYNCML10 0x0FD1 */
00089 #define WBXML_PUBLIC_ID_SYNCML_SYNCML10 WBXML_PUBLIC_ID_UNKNOWN
00090 /* #define WBXML_PUBLIC_ID_SYNCML_DEVINF10 0x0FD2 */
00091 #define WBXML_PUBLIC_ID_SYNCML_DEVINF10 WBXML_PUBLIC_ID_UNKNOWN
00092 #define WBXML_PUBLIC_ID_SYNCML_METINF10 WBXML_PUBLIC_ID_UNKNOWN         /* No WBXML PublicID defined for SyncML Meta Info */
00093 
00094 #define XML_PUBLIC_ID_SYNCML_SYNCML10   "-//SYNCML//DTD SyncML 1.0//EN"
00095 #define XML_PUBLIC_ID_SYNCML_DEVINF10   "-//SYNCML//DTD DevInf 1.0//EN"
00096 #define XML_PUBLIC_ID_SYNCML_METINF10   "-//SYNCML//DTD MetInf 1.0//EN"
00097 
00098 /* SyncML 1.1 */
00099 #define WBXML_PUBLIC_ID_SYNCML_SYNCML11 0x0F21
00100 #define WBXML_PUBLIC_ID_SYNCML_DEVINF11 0x0F2D
00101 #define WBXML_PUBLIC_ID_SYNCML_METINF11 WBXML_PUBLIC_ID_UNKNOWN         /* No WBXML PublicID defined for SyncML Meta Info */
00102 
00103 #define XML_PUBLIC_ID_SYNCML_SYNCML11 "-//SYNCML//DTD SyncML 1.1//EN"
00104 #define XML_PUBLIC_ID_SYNCML_DEVINF11 "-//SYNCML//DTD DevInf 1.1//EN"
00105 #define XML_PUBLIC_ID_SYNCML_METINF11 "-//SYNCML//DTD MetInf 1.1//EN"
00106 
00107 /* OMA Wireless Village CSP 1.1 / 1.2 - @todo Check for CSP 1.0 */
00108 #define WBXML_PUBLIC_ID_WV_CSP11  0x10
00109 #define WBXML_PUBLIC_ID_WV_CSP12  WBXML_PUBLIC_ID_UNKNOWN
00110     
00111 #define XML_PUBLIC_ID_WV_CSP11  "-//OMA//DTD WV-CSP 1.1//EN"    
00112 #define XML_PUBLIC_ID_WV_CSP12  "-//OMA//DTD WV-CSP 1.2//EN"
00113 
00114 
00115 /****************************************************
00116  *      WBXML Tables Structures
00117  */
00118 
00122 typedef struct WBXMLPublicIDEntry_s
00123 {
00124         WB_ULONG wbxmlPublicID;     
00125         const WB_TINY *xmlPublicID; 
00126         const WB_TINY *xmlRootElt;  
00127         const WB_TINY *xmlDTD;      
00129 } WBXMLPublicIDEntry;
00130 
00131 
00135 typedef struct WBXMLTagEntry_s
00136 {    
00137         const WB_TINY *xmlName;     
00138         WB_UTINY wbxmlCodePage;     
00139         WB_UTINY wbxmlToken;        
00140 } WBXMLTagEntry;
00141 
00142 
00147 typedef struct WBXMLNameSpaceEntry_s
00148 {    
00149         const WB_TINY *xmlNameSpace;    
00150         WB_UTINY wbxmlCodePage;         
00151 } WBXMLNameSpaceEntry;
00152 
00153 
00157 typedef struct WBXMLAttrEntry_s
00158 {
00159         const WB_TINY *xmlName;     
00160         const WB_TINY *xmlValue;    
00161         WB_UTINY wbxmlCodePage;     
00162         WB_UTINY wbxmlToken;        
00163 } WBXMLAttrEntry;
00164 
00165 
00169 typedef struct WBXMLAttrValueEntry_s
00170 {
00171         const WB_TINY *xmlName;     
00172         WB_UTINY wbxmlCodePage;     
00173         WB_UTINY wbxmlToken;        
00174 } WBXMLAttrValueEntry;
00175 
00176 
00181 typedef struct WBXMLExtValueEntry_s
00182 {
00183         const WB_TINY *xmlName;     
00184         WB_UTINY wbxmlToken;        
00185 } WBXMLExtValueEntry;
00186 
00187 
00191 typedef struct WBXMLLangEntry_s
00192 {
00193     WBXMLLanguage               langID;             
00194         const WBXMLPublicIDEntry    *publicID;          
00195         const WBXMLTagEntry         *tagTable;          
00196     const WBXMLNameSpaceEntry   *nsTable;           
00197         const WBXMLAttrEntry        *attrTable;         
00198         const WBXMLAttrValueEntry   *attrValueTable;    
00199         const WBXMLExtValueEntry    *extValueTable;     
00200 } WBXMLLangEntry;
00201 
00202 
00207 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_get_main(void);
00208 
00219 WBXML_DECLARE(const WBXMLLangEntry *) wbxml_tables_search_table(const WBXMLLangEntry *main_table,
00220                                                                 const WB_UTINY *public_id, 
00221                                                                 const WB_UTINY *system_id,
00222                                                                 const WB_UTINY *root);
00223 
00230 WBXML_DECLARE(WB_ULONG) wbxml_tables_get_wbxml_publicid(const WBXMLLangEntry *main_table, WBXMLLanguage lang_id);
00231 
00238 WBXML_DECLARE(const WBXMLTagEntry *) wbxml_tables_get_tag_from_xml(const WBXMLLangEntry *lang_table,
00239                                                                    const WB_UTINY *xml_name);
00240 
00256 WBXML_DECLARE(const WBXMLAttrEntry *) wbxml_tables_get_attr_from_xml(const WBXMLLangEntry *lang_table,
00257                                                                      WB_UTINY *xml_name,
00258                                                                      WB_UTINY *xml_value,
00259                                                                      WB_UTINY **value_left);
00260 
00267 WBXML_DECLARE(const WBXMLExtValueEntry *) wbxml_tables_get_ext_from_xml(const WBXMLLangEntry *lang_table,
00268                                                                         WB_UTINY *xml_value);
00269 
00276 WBXML_DECLARE(WB_BOOL) wbxml_tables_contains_attr_value_from_xml(const WBXMLLangEntry *lang_table,
00277                                                                  WB_UTINY *xml_value);
00278 
00285 WBXML_DECLARE(const WB_TINY *) wbxml_tables_get_xmlns(const WBXMLNameSpaceEntry *ns_table, WB_UTINY code_page);
00286 
00289 #ifdef __cplusplus
00290 }
00291 #endif /* __cplusplus */
00292 
00293 #endif /* WBXML_TABLES_H */

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