メインページ   名前空間リスト   クラス階層   データ構造リスト   ファイルリスト   名前空間メンバ   データ構造メンバ   ファイルメンバ  

DefaultXMLTraits.h

このファイルの解説を見る。
00001 // -*- mode: c++ -*-
00002 #ifndef MIX_DEFAULTXMLTRAITS_H_
00003 #define MIX_DEFAULTXMLTRAITS_H_
00004 
00005 #include <string>
00006 #include "config.h"
00007 
00008 namespace MiX{
00015   template <class Char,class Traits>
00016   class DefaultXMLTraits{
00017   public:
00018     typedef MiX_STD::basic_string<Char,Traits> basic_string_type;
00019   private:
00020     static basic_string_type makeString(const char* szSrc);
00021 
00022   public:
00024     static Char null(){ return static_cast<Char>('\0'); }
00026     static Char crlf(){ return static_cast<Char>('\n'); }
00028     static Char sp(){ return static_cast<Char>(' '); }
00030     static Char tab(){ return static_cast<Char>('\t'); }
00031 
00033     static Char lt(){ return static_cast<Char>('<'); }
00035     static Char eq(){ return static_cast<Char>('='); }
00037     static Char gt(){ return static_cast<Char>('>'); }
00038 
00040     static Char slash(){ return static_cast<Char>('/'); }
00042     static Char hyphen(){ return static_cast<Char>('-'); }
00044     static Char colon() { return static_cast<Char>(':'); }
00046     static Char semicolon(){ return static_cast<Char>(';'); }
00047 
00049     static Char exclamation(){ return static_cast<Char>('!'); }
00051     static Char question(){ return static_cast<Char>('?'); }
00053     static Char amp(){ return static_cast<Char>('&'); }
00054 
00056     static Char dblquote() { return static_cast<Char>('\"'); }
00058     static Char quote() { return static_cast<Char>('\''); }
00059 
00060     //文字列処理
00061     //XML文書中で使われる文字列を返す。
00063     static basic_string_type xml(){ 
00064       return makeString("xml");
00065     }
00067     static basic_string_type cdata(){
00068       return makeString("CDATA");
00069     }
00071     static basic_string_type str_lt(){
00072       return makeString("lt");
00073     }
00075     static basic_string_type str_gt(){
00076       return makeString("gt");
00077     }
00079     static basic_string_type str_amp(){
00080       return makeString("amp");
00081     }
00083     static basic_string_type str_quot(){
00084       return makeString("quot");
00085     }
00087     static basic_string_type str_apos(){
00088       return makeString("apos");
00089     }
00090 
00092 
00099     static int ci_compare(const Char* s1,const Char* s2,size_t n){
00100       for(size_t i=0;i<n;i++){
00101         int c1,c2;
00102         c1 = tolower(static_cast<int>(s1[i]));
00103         c2 = tolower(static_cast<int>(s2[i]));
00104         if(c1>c2) return 1;
00105         if(c1<c2) return -1;
00106       }
00107       return 0;
00108     }
00109     
00110   };
00111 }
00112 
00113 #ifndef MIX_DEFAULTXMLTRAITS_CPP_
00114 #include "DefaultXMLTraits.cpp"
00115 #endif
00116 
00117 #endif

MiXに対してFri Jun 28 05:13:58 2002に生成されました。 doxygen1.2.11.1 の開発者: Dimitri van Heesch, © 1997-2001