dbcreator/commsdatcreator/Src/cdcreaderxml.cpp
branchRCL_3
changeset 58 83ca720e2b9a
parent 57 05bc53fe583b
equal deleted inserted replaced
57:05bc53fe583b 58:83ca720e2b9a
     1 /*
     1 /*
     2 * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:
    14 * Description:   Implementation of the class CReaderXML
    15 * Implementation of the class CReaderXML
    15 *
    16 */
    16 */
       
    17 
       
    18 
       
    19 
    17  
    20  
    18 // INCLUDE FILES
    21 // INCLUDE FILES
    19 
    22 
    20 #include "cdcreaderxml.h"
    23 #include "cdcreaderxml.h"
    21 #include "cdclogger.h"
    24 #include "cdclogger.h"
   164 //---------------
   167 //---------------
   165 //WPA security
   168 //WPA security
   166 //---------------
   169 //---------------
   167 //WPAPresharedKey         string    WPA/WPA2 pre-shared key in plain text. 
   170 //WPAPresharedKey         string    WPA/WPA2 pre-shared key in plain text. 
   168 //WPAKeyLength            integer   The length of the WPA/WPA2 pre-shared key.
   171 //WPAKeyLength            integer   The length of the WPA/WPA2 pre-shared key.
   169 //WPAEapMethod            string    A EAP method in use
   172 //WPAListOfEAPs           string    A list of EAPs in use
   170 //WPAUseOfPresharedKey    string    WPA/WPA2 pre-shared key usage.
   173 //WPAUseOfPresharedKey    string    WPA/WPA2 pre-shared key usage.
   171 //=============
   174 //=============
   172 //VPN specific:
   175 //VPN specific:
   173 //=============
   176 //=============
   174 //KVpnIapName             string    IAP name used for the connection
   177 //KVpnIapName             string    IAP name used for the connection
   318 _LIT16( KWEPKey4Data,               "WEPKey4Data" );
   321 _LIT16( KWEPKey4Data,               "WEPKey4Data" );
   319 
   322 
   320 //WPA security
   323 //WPA security
   321 _LIT16( KWPAPresharedKey,           "WPAPresharedKey" );
   324 _LIT16( KWPAPresharedKey,           "WPAPresharedKey" );
   322 _LIT16( KWPAKeyLength,              "WPAKeyLength" );
   325 _LIT16( KWPAKeyLength,              "WPAKeyLength" );
   323 _LIT16( KWPAEapMethod,              "WPAEapMethod");
   326 _LIT16( KWPAListOfEAPs,             "WPAListOfEAPs" );
   324 _LIT16( KWPAUseOfPresharedKey,      "WPAUseOfPresharedKey" );
   327 _LIT16( KWPAUseOfPresharedKey,      "WPAUseOfPresharedKey" );
   325 
   328 
   326 //EAP security
   329 //EAP security
   327 _LIT16( KEapGtcUsername,            "EapGtcUsername" );
   330 _LIT16( KEapGtcUsername,            "EapGtcUsername" );
   328 _LIT16( KEapGtcSessionValidityTime, "EapGtcSessionValidityTime" );
   331 _LIT16( KEapGtcSessionValidityTime, "EapGtcSessionValidityTime" );
   468 _LIT16( KUIPriorityCdma2k,          "UIPriorityCdma2k" );
   471 _LIT16( KUIPriorityCdma2k,          "UIPriorityCdma2k" );
   469 _LIT16( KUIPriorityDialOut,         "UIPriorityDialOut" );
   472 _LIT16( KUIPriorityDialOut,         "UIPriorityDialOut" );
   470 _LIT16( KUIPriorityDialIn,          "UIPriorityDialIn" );
   473 _LIT16( KUIPriorityDialIn,          "UIPriorityDialIn" );
   471 _LIT16( KUIPriorityVpn,             "UIPriorityVpn" );
   474 _LIT16( KUIPriorityVpn,             "UIPriorityVpn" );
   472 _LIT16( KUIPriorityMip,             "UIPriorityMip" );
   475 _LIT16( KUIPriorityMip,             "UIPriorityMip" );
       
   476 _LIT16( KDefaultConnectionType,     "DefaultConnectionType" );
       
   477 _LIT16( KDefaultConnectionName,     "DefaultConnectionName" );
   473 _LIT16( KUsageOfWlan,               "UsageOfWlan" );
   478 _LIT16( KUsageOfWlan,               "UsageOfWlan" );
   474 _LIT16( KCellularDataUsageHome,     "CellularDataUsageHome" );
   479 _LIT16( KCellularDataUsageHome,     "CellularDataUsageHome" );
   475 _LIT16( KCellularDataUsageVisitor,  "CellularDataUsageVisitor" );
   480 _LIT16( KCellularDataUsageVisitor,  "CellularDataUsageVisitor" );
   476 _LIT16( KGprsLastSocketActivityTimeout, "GprsLastSocketActivityTimeout" );
   481 _LIT16( KGprsLastSocketActivityTimeout, "GprsLastSocketActivityTimeout" );
   477 _LIT16( KGprsLastSessionClosedTimeout,  "GprsLastSessionClosedTimeout" );
   482 _LIT16( KGprsLastSessionClosedTimeout,  "GprsLastSessionClosedTimeout" );
   485 _LIT16( KWlanShortRetry,            "WlanShortRetry" );
   490 _LIT16( KWlanShortRetry,            "WlanShortRetry" );
   486 _LIT16( KWlanRTS,                   "WlanRTS" );
   491 _LIT16( KWlanRTS,                   "WlanRTS" );
   487 _LIT16( KWlanTxPowerLevel,          "WlanTxPowerLevel" );
   492 _LIT16( KWlanTxPowerLevel,          "WlanTxPowerLevel" );
   488 _LIT16( KWlanRadioMeasurements,     "WlanRadioMeasurements" );
   493 _LIT16( KWlanRadioMeasurements,     "WlanRadioMeasurements" );
   489 _LIT16( KWlanPowerMode,             "WlanPowerMode" );
   494 _LIT16( KWlanPowerMode,             "WlanPowerMode" );
       
   495 
       
   496 
       
   497 //maximum number of PacketData AP parameters
       
   498 const TInt KMaxPacketDataParam = 28;
       
   499 const TInt KMaxLANParam = 26;
       
   500 const TInt KMaxWLANParam = 125;
       
   501 const TInt KMaxGlobalParam = 42;
       
   502 const TInt KMaxVPNParam = 12;
       
   503 const TInt KMaxDNParam = 19;
   490 
   504 
   491 
   505 
   492 // ================= MEMBER FUNCTIONS =======================
   506 // ================= MEMBER FUNCTIONS =======================
   493 
   507 
   494 // ---------------------------------------------------------
   508 // ---------------------------------------------------------
   896     {
   910     {
   897     TDbCreatorFeatures feature( EFeatureNone );
   911     TDbCreatorFeatures feature( EFeatureNone );
   898     
   912     
   899     if ( iLine->FindF( KFeatureHeadPacketData ) != KErrNotFound )
   913     if ( iLine->FindF( KFeatureHeadPacketData ) != KErrNotFound )
   900         {
   914         {
   901         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeaturePacketData" );
       
   902         feature = EFeaturePacketData;
   915         feature = EFeaturePacketData;
   903         }
   916         }
   904     else if ( iLine->FindF( KFeatureHeadWLAN ) != KErrNotFound )
   917     else if ( iLine->FindF( KFeatureHeadWLAN ) != KErrNotFound )
   905         {
   918         {
   906         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureWLAN" );
       
   907         feature = EFeatureWLAN;
   919         feature = EFeatureWLAN;
   908         }
   920         }
   909     else if ( iLine->FindF( KFeatureHeadLAN ) != KErrNotFound )
   921     else if ( iLine->FindF( KFeatureHeadLAN ) != KErrNotFound )
   910         {
   922         {
   911         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureLAN" );
       
   912         feature = EFeatureLAN;
   923         feature = EFeatureLAN;
   913         }
   924         }
   914     else if ( iLine->FindF( KFeatureHeadVPN ) != KErrNotFound )
   925     else if ( iLine->FindF( KFeatureHeadVPN ) != KErrNotFound )
   915         {
   926         {
   916         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureVPN" );
       
   917         feature = EFeatureVPN;
   927         feature = EFeatureVPN;
   918         }
   928         }
   919     else if ( iLine->FindF( KFeatureHeadDN ) != KErrNotFound )
   929     else if ( iLine->FindF( KFeatureHeadDN ) != KErrNotFound )
   920         {
   930         {
   921         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureDN" );
       
   922         feature = EFeatureDN;
   931         feature = EFeatureDN;
   923         }
   932         }
   924     else if ( iLine->FindF( KFeatureHeadGlobal ) != KErrNotFound )
   933     else if ( iLine->FindF( KFeatureHeadGlobal ) != KErrNotFound )
   925         {
   934         {
   926         CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureGlobal" );
       
   927         feature = EFeatureGlobal;
   935         feature = EFeatureGlobal;
   928         iFoundGlobal = ETrue;        
   936         iFoundGlobal = ETrue;        
   929         }
   937         }
   930     else
   938     else
   931         {
   939         {
  1010 // CReaderXML::DetectParamL
  1018 // CReaderXML::DetectParamL
  1011 // ---------------------------------------------------------
  1019 // ---------------------------------------------------------
  1012 //
  1020 //
  1013 TInt CReaderXML::DetectParam()
  1021 TInt CReaderXML::DetectParam()
  1014     {
  1022     {
       
  1023     TInt maxParam( 0 );           //maximum nunber of params in array
  1015     TInt fieldId( KErrNotFound ); //field id of detected parameter 
  1024     TInt fieldId( KErrNotFound ); //field id of detected parameter 
  1016     RArray<EInputParams> *params( NULL ); //pointer to the table used 
  1025     RArray<EInputParams> *params( NULL ); //pointer to the table used 
  1017                                         //for or detection    
  1026                                         //for or detection    
  1018 
  1027 
  1019     switch ( CurrentFeature() )        
  1028     switch ( CurrentFeature() )        
  1020         {
  1029         {
  1021         case EFeaturePacketData:
  1030         case EFeaturePacketData:
       
  1031             maxParam = KMaxPacketDataParam;
  1022             params   = &iPDParams;
  1032             params   = &iPDParams;
  1023             break;
  1033             break;
  1024         case EFeatureWLAN:
  1034         case EFeatureWLAN:
       
  1035             maxParam = KMaxWLANParam;
  1025             params   = &iWLanParams;
  1036             params   = &iWLanParams;
  1026             break;
  1037             break;
  1027         case EFeatureLAN:
  1038         case EFeatureLAN:
       
  1039             maxParam = KMaxLANParam;
  1028             params   = &iLanParams;
  1040             params   = &iLanParams;
  1029             break;
  1041             break;
  1030         case EFeatureVPN:
  1042         case EFeatureVPN:
       
  1043             maxParam = KMaxVPNParam;
  1031             params   = &iVpnParams;
  1044             params   = &iVpnParams;
  1032             break;
  1045             break;
  1033         case EFeatureDN:
  1046         case EFeatureDN:
       
  1047             maxParam = KMaxDNParam;
  1034             params =   &iDNParams;
  1048             params =   &iDNParams;
  1035             break;
  1049             break;
  1036         case EFeatureGlobal:
  1050         case EFeatureGlobal:
       
  1051             maxParam = KMaxGlobalParam;
  1037             params   = &iGlobalParams;
  1052             params   = &iGlobalParams;
  1038             break;
  1053             break;
  1039         default:
  1054         default:
  1040             User::Panic( KPanicInvalidCase, KErrInvalidCase );
  1055             User::Panic( KPanicInvalidCase, KErrInvalidCase );
  1041         }
  1056         }
  1042        
  1057        
  1043     //looks for parameter match
  1058     //looks for parameter match
  1044     HBufC16* paramName = ReadParam( EParamName );
  1059     HBufC16* paramName = ReadParam( EParamName );
       
  1060     TBool found ( EFalse );
       
  1061     
  1045     if ( paramName == NULL )
  1062     if ( paramName == NULL )
  1046             {
  1063             {
  1047             return fieldId;
  1064             return fieldId;
  1048             }
  1065             }
  1049 
  1066 
  1050     TBool found ( EFalse );
  1067     for ( TInt idx = 0; idx < maxParam && !found; idx++ )
  1051     for ( TInt idx = 0; idx < params->Count() && !found; idx++ )
       
  1052         {        
  1068         {        
  1053         if ( paramName->CompareF( (*params)[idx].iParam ) == 0 )
  1069         if ( paramName->CompareF( (*params)[idx].iParam ) == 0 )
  1054             {
  1070             {
  1055             fieldId = (*params)[idx].iId;
  1071             fieldId = (*params)[idx].iId;
  1056             found = ETrue;            
  1072             found = ETrue;            
  1109         if( ret == NULL )
  1125         if( ret == NULL )
  1110             {
  1126             {
  1111             CLOG_WRITE_FORMAT( "! Warning: tag could not be allocated %S:",
  1127             CLOG_WRITE_FORMAT( "! Warning: tag could not be allocated %S:",
  1112                                      &tag );
  1128                                      &tag );
  1113             }
  1129             }
  1114 // Debugging help; commented out for clearer log.
       
  1115 //        else 
       
  1116 //            {
       
  1117 //            if (aSegment == EParamValue)
       
  1118 //                {
       
  1119 //                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: value %S", &tag );
       
  1120 //                }
       
  1121 //            else if (aSegment == EParamName)
       
  1122 //                {
       
  1123 //                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: name %S", &tag );
       
  1124 //                }
       
  1125 //            }
       
  1126         }
  1130         }
  1127     return ret;
  1131     return ret;
  1128     }
  1132     }
  1129 
  1133 
  1130 
  1134 
  1202     ReplaceInString( aPtrTag, spXML4, sp4 );
  1206     ReplaceInString( aPtrTag, spXML4, sp4 );
  1203     _LIT16( spXML5, "&apos;" );
  1207     _LIT16( spXML5, "&apos;" );
  1204     _LIT16( sp5, "\'" );
  1208     _LIT16( sp5, "\'" );
  1205     ReplaceInString( aPtrTag, spXML5, sp5 );
  1209     ReplaceInString( aPtrTag, spXML5, sp5 );
  1206     _LIT16( spXML6, "&iexcl;" );
  1210     _LIT16( spXML6, "&iexcl;" );
  1207     _LIT16( sp6, "\u00a1" );
  1211     _LIT16( sp6, "¡" );
  1208     ReplaceInString( aPtrTag, spXML6, sp6 );
  1212     ReplaceInString( aPtrTag, spXML6, sp6 );
  1209     _LIT16( spXML7, "&cent;" );
  1213     _LIT16( spXML7, "&cent;" );
  1210     _LIT16( sp7, "\u00a2" );
  1214     _LIT16( sp7, "¢" );
  1211     ReplaceInString( aPtrTag, spXML7, sp7 );
  1215     ReplaceInString( aPtrTag, spXML7, sp7 );
  1212     _LIT16( spXML8, "&pound;" );
  1216     _LIT16( spXML8, "&pound;" );
  1213     _LIT16( sp8, "\u00a3" );
  1217     _LIT16( sp8, "£" );
  1214     ReplaceInString( aPtrTag, spXML8, sp8 );
  1218     ReplaceInString( aPtrTag, spXML8, sp8 );
  1215     _LIT16( spXML9, "&curren;" );
  1219     _LIT16( spXML9, "&curren;" );
  1216     _LIT16( sp9, "\u00a4" );
  1220     _LIT16( sp9, "¤" );
  1217     ReplaceInString( aPtrTag, spXML9, sp9 );
  1221     ReplaceInString( aPtrTag, spXML9, sp9 );
  1218     _LIT16( spXML10, "&yen;" );
  1222     _LIT16( spXML10, "&yen;" );
  1219     _LIT16( sp10, "\u00a5" );
  1223     _LIT16( sp10, "¥" );
  1220     ReplaceInString( aPtrTag, spXML10, sp10 );
  1224     ReplaceInString( aPtrTag, spXML10, sp10 );
  1221     _LIT16( spXML11, "&brvbar;" );
  1225     _LIT16( spXML11, "&brvbar;" );
  1222     _LIT16( sp11, "\u00a6" );
  1226     _LIT16( sp11, "¦" );
  1223     ReplaceInString( aPtrTag, spXML11, sp11 );
  1227     ReplaceInString( aPtrTag, spXML11, sp11 );
  1224     _LIT16( spXML12, "&sect;" );
  1228     _LIT16( spXML12, "&sect;" );
  1225     _LIT16( sp12, "\u00a7" );
  1229     _LIT16( sp12, "§" );
  1226     ReplaceInString( aPtrTag, spXML12, sp12 );
  1230     ReplaceInString( aPtrTag, spXML12, sp12 );
  1227     _LIT16( spXML13, "&uml;" );
  1231     _LIT16( spXML13, "&uml;" );
  1228     _LIT16( sp13, "\u00a8" );
  1232     _LIT16( sp13, "¨" );
  1229     ReplaceInString( aPtrTag, spXML13, sp13 );
  1233     ReplaceInString( aPtrTag, spXML13, sp13 );
  1230     _LIT16( spXML14, "&copy;" );
  1234     _LIT16( spXML14, "&copy;" );
  1231     _LIT16( sp14, "\u00a9" );
  1235     _LIT16( sp14, "©" );
  1232     ReplaceInString( aPtrTag, spXML14, sp14 );
  1236     ReplaceInString( aPtrTag, spXML14, sp14 );
  1233     _LIT16( spXML15, "&ordf;" );
  1237     _LIT16( spXML15, "&ordf;" );
  1234     _LIT16( sp15, "\u00aa" );
  1238     _LIT16( sp15, "ª" );
  1235     ReplaceInString( aPtrTag, spXML15, sp15 );
  1239     ReplaceInString( aPtrTag, spXML15, sp15 );
  1236     _LIT16( spXML16, "&laquo;" );
  1240     _LIT16( spXML16, "&laquo;" );
  1237     _LIT16( sp16, "\u00ab" );
  1241     _LIT16( sp16, "«" );
  1238     ReplaceInString( aPtrTag, spXML16, sp16 );
  1242     ReplaceInString( aPtrTag, spXML16, sp16 );
  1239     _LIT16( spXML17, "&not;" );
  1243     _LIT16( spXML17, "&not;" );
  1240     _LIT16( sp17, "\u00ac" );
  1244     _LIT16( sp17, "¬" );
  1241     ReplaceInString( aPtrTag, spXML17, sp17 );
  1245     ReplaceInString( aPtrTag, spXML17, sp17 );
  1242     _LIT16( spXML18, "&reg;" );
  1246     _LIT16( spXML18, "&reg;" );
  1243     _LIT16( sp18, "\u00ae" );
  1247     _LIT16( sp18, "®" );
  1244     ReplaceInString( aPtrTag, spXML18, sp18 );
  1248     ReplaceInString( aPtrTag, spXML18, sp18 );
  1245     _LIT16( spXML19, "&macr;" );
  1249     _LIT16( spXML19, "&macr;" );
  1246     _LIT16( sp19, "\u00af" );
  1250     _LIT16( sp19, "¯" );
  1247     ReplaceInString( aPtrTag, spXML19, sp19 );
  1251     ReplaceInString( aPtrTag, spXML19, sp19 );
  1248     _LIT16( spXML20, "&deg;" );
  1252     _LIT16( spXML20, "&deg;" );
  1249     _LIT16( sp20, "\u00b0" );
  1253     _LIT16( sp20, "°" );
  1250     ReplaceInString( aPtrTag, spXML20, sp20 );
  1254     ReplaceInString( aPtrTag, spXML20, sp20 );
  1251     _LIT16( spXML21, "&plusmn;" );
  1255     _LIT16( spXML21, "&plusmn;" );
  1252     _LIT16( sp21, "\u00b1" );
  1256     _LIT16( sp21, "±" );
  1253     ReplaceInString( aPtrTag, spXML21, sp21 );
  1257     ReplaceInString( aPtrTag, spXML21, sp21 );
  1254     _LIT16( spXML22, "&sup2;" );
  1258     _LIT16( spXML22, "&sup2;" );
  1255     _LIT16( sp22, "\u00b2" );
  1259     _LIT16( sp22, "²" );
  1256     ReplaceInString( aPtrTag, spXML22, sp22 );
  1260     ReplaceInString( aPtrTag, spXML22, sp22 );
  1257     _LIT16( spXML23, "&sup3;" );
  1261     _LIT16( spXML23, "&sup3;" );
  1258     _LIT16( sp23, "\u00b3" );
  1262     _LIT16( sp23, "³" );
  1259     ReplaceInString( aPtrTag, spXML23, sp23 );
  1263     ReplaceInString( aPtrTag, spXML23, sp23 );
  1260     _LIT16( spXML24, "&acute;" );
  1264     _LIT16( spXML24, "&acute;" );
  1261     _LIT16( sp24, "\u00b4" );
  1265     _LIT16( sp24, "´" );
  1262     ReplaceInString( aPtrTag, spXML24, sp24 );
  1266     ReplaceInString( aPtrTag, spXML24, sp24 );
  1263     _LIT16( spXML25, "&micro;" );
  1267     _LIT16( spXML25, "&micro;" );
  1264     _LIT16( sp25, "\u00b5" );
  1268     _LIT16( sp25, "µ" );
  1265     ReplaceInString( aPtrTag, spXML25, sp25 );
  1269     ReplaceInString( aPtrTag, spXML25, sp25 );
  1266     _LIT16( spXML26, "&para;" );
  1270     _LIT16( spXML26, "&para;" );
  1267     _LIT16( sp26, "\u00b6" );
  1271     _LIT16( sp26, "¶" );
  1268     ReplaceInString( aPtrTag, spXML26, sp26 );  
  1272     ReplaceInString( aPtrTag, spXML26, sp26 );  
  1269     _LIT16( spXML27, "&middot;" );
  1273     _LIT16( spXML27, "&middot;" );
  1270     _LIT16( sp27, "\u00b7" );
  1274     _LIT16( sp27, "·" );
  1271     ReplaceInString( aPtrTag, spXML27, sp27 );
  1275     ReplaceInString( aPtrTag, spXML27, sp27 );
  1272     _LIT16( spXML28, "&cedil;" );
  1276     _LIT16( spXML28, "&cedil;" );
  1273     _LIT16( sp28, "\u00b8" );
  1277     _LIT16( sp28, "¸" );
  1274     ReplaceInString( aPtrTag, spXML28, sp28 );
  1278     ReplaceInString( aPtrTag, spXML28, sp28 );
  1275     _LIT16( spXML29, "&sup1;" );
  1279     _LIT16( spXML29, "&sup1;" );
  1276     _LIT16( sp29, "\u00b9" );
  1280     _LIT16( sp29, "¹" );
  1277     ReplaceInString( aPtrTag, spXML29, sp29 );
  1281     ReplaceInString( aPtrTag, spXML29, sp29 );
  1278     _LIT16( spXML30, "&ordm;" );
  1282     _LIT16( spXML30, "&ordm;" );
  1279     _LIT16( sp30, "\u00ba" );
  1283     _LIT16( sp30, "º" );
  1280     ReplaceInString( aPtrTag, spXML30, sp30 );
  1284     ReplaceInString( aPtrTag, spXML30, sp30 );
  1281     _LIT16( spXML31, "&raquo;" );
  1285     _LIT16( spXML31, "&raquo;" );
  1282     _LIT16( sp31, "\u00bb" );
  1286     _LIT16( sp31, "»" );
  1283     ReplaceInString( aPtrTag, spXML31, sp31 );
  1287     ReplaceInString( aPtrTag, spXML31, sp31 );
  1284     _LIT16( spXML32, "&frac14;" );
  1288     _LIT16( spXML32, "&frac14;" );
  1285     _LIT16( sp32, "\u00bc" );
  1289     _LIT16( sp32, "¼" );
  1286     ReplaceInString( aPtrTag, spXML32, sp32 );
  1290     ReplaceInString( aPtrTag, spXML32, sp32 );
  1287     _LIT16( spXML33, "&frac12;" );
  1291     _LIT16( spXML33, "&frac12;" );
  1288     _LIT16( sp33, "\u00bd" );
  1292     _LIT16( sp33, "½" );
  1289     ReplaceInString( aPtrTag, spXML33, sp33 );
  1293     ReplaceInString( aPtrTag, spXML33, sp33 );
  1290     _LIT16( spXML34, "&frac34;" );
  1294     _LIT16( spXML34, "&frac34;" );
  1291     _LIT16( sp34, "\u00be" );
  1295     _LIT16( sp34, "¾" );
  1292     ReplaceInString( aPtrTag, spXML34, sp34 );
  1296     ReplaceInString( aPtrTag, spXML34, sp34 );
  1293     _LIT16( spXML35, "&iquest;" );
  1297     _LIT16( spXML35, "&iquest;" );
  1294     _LIT16( sp35, "\u00bf" );
  1298     _LIT16( sp35, "¿" );
  1295     ReplaceInString( aPtrTag, spXML35, sp35 );
  1299     ReplaceInString( aPtrTag, spXML35, sp35 );
  1296     _LIT16( spXML36, "&Agrave;" );
  1300     _LIT16( spXML36, "&Agrave;" );
  1297     _LIT16( sp36, "\u00c0" );
  1301     _LIT16( sp36, "À" );
  1298     ReplaceInString( aPtrTag, spXML36, sp36 );
  1302     ReplaceInString( aPtrTag, spXML36, sp36 );
  1299     _LIT16( spXML37, "&Aacute;" );
  1303     _LIT16( spXML37, "&Aacute;" );
  1300     _LIT16( sp37, "\u00c1" );
  1304     _LIT16( sp37, "Á" );
  1301     ReplaceInString( aPtrTag, spXML37, sp37 );
  1305     ReplaceInString( aPtrTag, spXML37, sp37 );
  1302     _LIT16( spXML38, "&Acirc;" );
  1306     _LIT16( spXML38, "&Acirc;" );
  1303     _LIT16( sp38, "\u00c2" );
  1307     _LIT16( sp38, "Â" );
  1304     ReplaceInString( aPtrTag, spXML38, sp38 );
  1308     ReplaceInString( aPtrTag, spXML38, sp38 );
  1305     _LIT16( spXML39, "&Atilde;" );
  1309     _LIT16( spXML39, "&Atilde;" );
  1306     _LIT16( sp39, "\u00c3" );
  1310     _LIT16( sp39, "Ã" );
  1307     ReplaceInString( aPtrTag, spXML39, sp39 );
  1311     ReplaceInString( aPtrTag, spXML39, sp39 );
  1308     _LIT16( spXML40, "&Auml;" );
  1312     _LIT16( spXML40, "&Auml;" );
  1309     _LIT16( sp40, "\u00c4" );
  1313     _LIT16( sp40, "Ä" );
  1310     ReplaceInString( aPtrTag, spXML40, sp40 );
  1314     ReplaceInString( aPtrTag, spXML40, sp40 );
  1311     _LIT16( spXML41, "&Aring;" );
  1315     _LIT16( spXML41, "&Aring;" );
  1312     _LIT16( sp41, "\u00c5" );
  1316     _LIT16( sp41, "Å" );
  1313     ReplaceInString( aPtrTag, spXML41, sp41 );
  1317     ReplaceInString( aPtrTag, spXML41, sp41 );
  1314     _LIT16( spXML42, "&AElig;" );
  1318     _LIT16( spXML42, "&AElig;" );
  1315     _LIT16( sp42, "\u00c6" );
  1319     _LIT16( sp42, "Æ" );
  1316     ReplaceInString( aPtrTag, spXML42, sp42 ); 
  1320     ReplaceInString( aPtrTag, spXML42, sp42 ); 
  1317     _LIT16( spXML43, "&Ccedil;" );
  1321     _LIT16( spXML43, "&Ccedil;" );
  1318     _LIT16( sp43, "\u00c7" );
  1322     _LIT16( sp43, "Ç" );
  1319     ReplaceInString( aPtrTag, spXML43, sp43 );
  1323     ReplaceInString( aPtrTag, spXML43, sp43 );
  1320     _LIT16( spXML44, "&Egrave;" );
  1324     _LIT16( spXML44, "&Egrave;" );
  1321     _LIT16( sp44, "\u00c8" );
  1325     _LIT16( sp44, "È" );
  1322     ReplaceInString( aPtrTag, spXML44, sp44 );
  1326     ReplaceInString( aPtrTag, spXML44, sp44 );
  1323     _LIT16( spXML45, "&Eacute;" );
  1327     _LIT16( spXML45, "&Eacute;" );
  1324     _LIT16( sp45, "\u00c9" );
  1328     _LIT16( sp45, "É" );
  1325     ReplaceInString( aPtrTag, spXML45, sp45 );
  1329     ReplaceInString( aPtrTag, spXML45, sp45 );
  1326     _LIT16( spXML46, "&Ecirc;" );
  1330     _LIT16( spXML46, "&Ecirc;" );
  1327     _LIT16( sp46, "\u00ca" );
  1331     _LIT16( sp46, "Ê" );
  1328     ReplaceInString( aPtrTag, spXML46, sp46 );
  1332     ReplaceInString( aPtrTag, spXML46, sp46 );
  1329     _LIT16( spXML47, "&Euml;" );
  1333     _LIT16( spXML47, "&Euml;" );
  1330     _LIT16( sp47, "\u00cb" );
  1334     _LIT16( sp47, "Ë" );
  1331     ReplaceInString( aPtrTag, spXML47, sp47 );
  1335     ReplaceInString( aPtrTag, spXML47, sp47 );
  1332     _LIT16( spXML48, "&Igrave;" );
  1336     _LIT16( spXML48, "&Igrave;" );
  1333     _LIT16( sp48, "\u00cc" );
  1337     _LIT16( sp48, "Ì" );
  1334     ReplaceInString( aPtrTag, spXML48, sp48 );
  1338     ReplaceInString( aPtrTag, spXML48, sp48 );
  1335     _LIT16( spXML49, "&Iacute;" );
  1339     _LIT16( spXML49, "&Iacute;" );
  1336     _LIT16( sp49, "\u00cd" );
  1340     _LIT16( sp49, "Í" );
  1337     ReplaceInString( aPtrTag, spXML49, sp49 );
  1341     ReplaceInString( aPtrTag, spXML49, sp49 );
  1338     _LIT16( spXML50, "&Icirc;" );
  1342     _LIT16( spXML50, "&Icirc;" );
  1339     _LIT16( sp50, "\u00ce" );
  1343     _LIT16( sp50, "Î" );
  1340     ReplaceInString( aPtrTag, spXML50, sp50 );
  1344     ReplaceInString( aPtrTag, spXML50, sp50 );
  1341     _LIT16( spXML51, "&Iuml;" );
  1345     _LIT16( spXML51, "&Iuml;" );
  1342     _LIT16( sp51, "\u00cf" );
  1346     _LIT16( sp51, "Ï" );
  1343     ReplaceInString( aPtrTag, spXML51, sp51 );
  1347     ReplaceInString( aPtrTag, spXML51, sp51 );
  1344     _LIT16( spXML52, "&ETH;" );
  1348     _LIT16( spXML52, "&ETH;" );
  1345     _LIT16( sp52, "\u00d0" );
  1349     _LIT16( sp52, "Ð" );
  1346     ReplaceInString( aPtrTag, spXML52, sp52 );
  1350     ReplaceInString( aPtrTag, spXML52, sp52 );
  1347     _LIT16( spXML53, "&Ntilde;" );
  1351     _LIT16( spXML53, "&Ntilde;" );
  1348     _LIT16( sp53, "\u00d1" );
  1352     _LIT16( sp53, "Ñ" );
  1349     ReplaceInString( aPtrTag, spXML53, sp53 );
  1353     ReplaceInString( aPtrTag, spXML53, sp53 );
  1350     _LIT16( spXML54, "&Ograve;" );
  1354     _LIT16( spXML54, "&Ograve;" );
  1351     _LIT16( sp54, "\u00d2" );
  1355     _LIT16( sp54, "Ò" );
  1352     ReplaceInString( aPtrTag, spXML54, sp54 );
  1356     ReplaceInString( aPtrTag, spXML54, sp54 );
  1353     _LIT16( spXML55, "&Oacute;" );
  1357     _LIT16( spXML55, "&Oacute;" );
  1354     _LIT16( sp55, "\u00d3" );
  1358     _LIT16( sp55, "Ó" );
  1355     ReplaceInString( aPtrTag, spXML55, sp55 );
  1359     ReplaceInString( aPtrTag, spXML55, sp55 );
  1356     _LIT16( spXML56, "&Ocirc;" );
  1360     _LIT16( spXML56, "&Ocirc;" );
  1357     _LIT16( sp56, "\u00d4" );
  1361     _LIT16( sp56, "Ô" );
  1358     ReplaceInString( aPtrTag, spXML56, sp56 );
  1362     ReplaceInString( aPtrTag, spXML56, sp56 );
  1359     _LIT16( spXML57, "&Otilde;" );
  1363     _LIT16( spXML57, "&Otilde;" );
  1360     _LIT16( sp57, "\u00d5" );
  1364     _LIT16( sp57, "Õ" );
  1361     ReplaceInString( aPtrTag, spXML57, sp57 );
  1365     ReplaceInString( aPtrTag, spXML57, sp57 );
  1362     _LIT16( spXML58, "&Ouml;" );
  1366     _LIT16( spXML58, "&Ouml;" );
  1363     _LIT16( sp58, "\u00d6" );
  1367     _LIT16( sp58, "Ö" );
  1364     ReplaceInString( aPtrTag, spXML58, sp58 );
  1368     ReplaceInString( aPtrTag, spXML58, sp58 );
  1365     _LIT16( spXML59, "&times;" );
  1369     _LIT16( spXML59, "&times;" );
  1366     _LIT16( sp59, "\u00d7" );
  1370     _LIT16( sp59, "×" );
  1367     ReplaceInString( aPtrTag, spXML59, sp59 );
  1371     ReplaceInString( aPtrTag, spXML59, sp59 );
  1368     _LIT16( spXML60, "&Oslash;" );
  1372     _LIT16( spXML60, "&Oslash;" );
  1369     _LIT16( sp60, "\u00d8" );
  1373     _LIT16( sp60, "Ø" );
  1370     ReplaceInString( aPtrTag, spXML60, sp60 );
  1374     ReplaceInString( aPtrTag, spXML60, sp60 );
  1371     _LIT16( spXML61, "&Ugrave;" );
  1375     _LIT16( spXML61, "&Ugrave;" );
  1372     _LIT16( sp61, "\u00d9" );
  1376     _LIT16( sp61, "Ù" );
  1373     ReplaceInString( aPtrTag, spXML61, sp61 );
  1377     ReplaceInString( aPtrTag, spXML61, sp61 );
  1374     _LIT16( spXML62, "&Uacute;" );
  1378     _LIT16( spXML62, "&Uacute;" );
  1375     _LIT16( sp62, "\u00da" );
  1379     _LIT16( sp62, "Ú" );
  1376     ReplaceInString( aPtrTag, spXML62, sp62 );
  1380     ReplaceInString( aPtrTag, spXML62, sp62 );
  1377     _LIT16( spXML63, "&Ucirc;" );
  1381     _LIT16( spXML63, "&Ucirc;" );
  1378     _LIT16( sp63, "\u00db" );
  1382     _LIT16( sp63, "Û" );
  1379     ReplaceInString( aPtrTag, spXML63, sp63 );
  1383     ReplaceInString( aPtrTag, spXML63, sp63 );
  1380     _LIT16( spXML64, "&Uuml;" );
  1384     _LIT16( spXML64, "&Uuml;" );
  1381     _LIT16( sp64, "\u00dc" );
  1385     _LIT16( sp64, "Ü" );
  1382     ReplaceInString( aPtrTag, spXML64, sp64 );
  1386     ReplaceInString( aPtrTag, spXML64, sp64 );
  1383     _LIT16( spXML65, "&Yacute;" );
  1387     _LIT16( spXML65, "&Yacute;" );
  1384     _LIT16( sp65, "\u00dd" );
  1388     _LIT16( sp65, "Ý" );
  1385     ReplaceInString( aPtrTag, spXML65, sp65 );
  1389     ReplaceInString( aPtrTag, spXML65, sp65 );
  1386     _LIT16( spXML66, "&THORN;" );
  1390     _LIT16( spXML66, "&THORN;" );
  1387     _LIT16( sp66, "\u00de" );
  1391     _LIT16( sp66, "Þ" );
  1388     ReplaceInString( aPtrTag, spXML66, sp66 );
  1392     ReplaceInString( aPtrTag, spXML66, sp66 );
  1389     _LIT16( spXML67, "&szlig;" );
  1393     _LIT16( spXML67, "&szlig;" );
  1390     _LIT16( sp67, "\u00df" );
  1394     _LIT16( sp67, "ß" );
  1391     ReplaceInString( aPtrTag, spXML67, sp67 );
  1395     ReplaceInString( aPtrTag, spXML67, sp67 );
  1392     _LIT16( spXML68, "&agrave;" );
  1396     _LIT16( spXML68, "&agrave;" );
  1393     _LIT16( sp68, "\u00e0" );
  1397     _LIT16( sp68, "à" );
  1394     ReplaceInString( aPtrTag, spXML68, sp68 );
  1398     ReplaceInString( aPtrTag, spXML68, sp68 );
  1395     _LIT16( spXML69, "&aacute;" );
  1399     _LIT16( spXML69, "&aacute;" );
  1396     _LIT16( sp69, "\u00e1" );
  1400     _LIT16( sp69, "á" );
  1397     ReplaceInString( aPtrTag, spXML69, sp69 );
  1401     ReplaceInString( aPtrTag, spXML69, sp69 );
  1398     _LIT16( spXML70, "&acirc;" );
  1402     _LIT16( spXML70, "&acirc;" );
  1399     _LIT16( sp70, "\u00e2" );
  1403     _LIT16( sp70, "â" );
  1400     ReplaceInString( aPtrTag, spXML70, sp70 );
  1404     ReplaceInString( aPtrTag, spXML70, sp70 );
  1401     _LIT16( spXML71, "&atilde;" );
  1405     _LIT16( spXML71, "&atilde;" );
  1402     _LIT16( sp71, "\u00e3" );
  1406     _LIT16( sp71, "ã" );
  1403     ReplaceInString( aPtrTag, spXML71, sp71 );
  1407     ReplaceInString( aPtrTag, spXML71, sp71 );
  1404     _LIT16( spXML72, "&auml;");
  1408     _LIT16( spXML72, "&auml;");
  1405     _LIT16( sp72, "\u00e4" );
  1409     _LIT16( sp72, "ä" );
  1406     ReplaceInString( aPtrTag, spXML72, sp72 );
  1410     ReplaceInString( aPtrTag, spXML72, sp72 );
  1407     _LIT16( spXML73, "&aring;" );
  1411     _LIT16( spXML73, "&aring;" );
  1408     _LIT16( sp73, "\u00e5" );
  1412     _LIT16( sp73, "å" );
  1409     ReplaceInString( aPtrTag, spXML73, sp73 );
  1413     ReplaceInString( aPtrTag, spXML73, sp73 );
  1410     _LIT16( spXML74, "&aelig;" );
  1414     _LIT16( spXML74, "&aelig;" );
  1411     _LIT16( sp74, "\u00e6" );
  1415     _LIT16( sp74, "æ" );
  1412     ReplaceInString( aPtrTag, spXML74, sp74 );
  1416     ReplaceInString( aPtrTag, spXML74, sp74 );
  1413     _LIT16( spXML75, "&acedil;" );
  1417     _LIT16( spXML75, "&acedil;" );
  1414     _LIT16( sp75, "\u00e7" );
  1418     _LIT16( sp75, "ç" );
  1415     ReplaceInString( aPtrTag, spXML75, sp75 );
  1419     ReplaceInString( aPtrTag, spXML75, sp75 );
  1416     _LIT16( spXML76, "&egrave;" );
  1420     _LIT16( spXML76, "&egrave;" );
  1417     _LIT16( sp76, "\u00e8" );
  1421     _LIT16( sp76, "è" );
  1418     ReplaceInString( aPtrTag, spXML76, sp76 );
  1422     ReplaceInString( aPtrTag, spXML76, sp76 );
  1419     _LIT16( spXML77, "&eacute;" );
  1423     _LIT16( spXML77, "&eacute;" );
  1420     _LIT16( sp77, "\u00e9" );
  1424     _LIT16( sp77, "é" );
  1421     ReplaceInString( aPtrTag, spXML77, sp77 );
  1425     ReplaceInString( aPtrTag, spXML77, sp77 );
  1422     _LIT16( spXML78, "&ecirc;" );
  1426     _LIT16( spXML78, "&ecirc;" );
  1423     _LIT16( sp78, "\u00ea" );
  1427     _LIT16( sp78, "ê" );
  1424     ReplaceInString( aPtrTag, spXML78, sp78 );
  1428     ReplaceInString( aPtrTag, spXML78, sp78 );
  1425     _LIT16( spXML79, "&euml;" );
  1429     _LIT16( spXML79, "&euml;" );
  1426     _LIT16( sp79, "\u00eb" );
  1430     _LIT16( sp79, "ë" );
  1427     ReplaceInString( aPtrTag, spXML79, sp79 );
  1431     ReplaceInString( aPtrTag, spXML79, sp79 );
  1428     _LIT16( spXML80, "&igrave;" );
  1432     _LIT16( spXML80, "&igrave;" );
  1429     _LIT16( sp80, "\u00ec" );
  1433     _LIT16( sp80, "ì" );
  1430     ReplaceInString( aPtrTag, spXML80, sp80 );
  1434     ReplaceInString( aPtrTag, spXML80, sp80 );
  1431     _LIT16( spXML81, "&iacute;" );
  1435     _LIT16( spXML81, "&iacute;" );
  1432     _LIT16( sp81, "\u00ed" );
  1436     _LIT16( sp81, "í" );
  1433     ReplaceInString( aPtrTag, spXML81, sp81 );
  1437     ReplaceInString( aPtrTag, spXML81, sp81 );
  1434     _LIT16( spXML82, "&icirc;" );
  1438     _LIT16( spXML82, "&icirc;" );
  1435     _LIT16( sp82, "\u00ee" );
  1439     _LIT16( sp82, "î" );
  1436     ReplaceInString( aPtrTag, spXML82, sp82 );
  1440     ReplaceInString( aPtrTag, spXML82, sp82 );
  1437     _LIT16( spXML83, "&iuml;" );
  1441     _LIT16( spXML83, "&iuml;" );
  1438     _LIT16( sp83, "\u00ef" );
  1442     _LIT16( sp83, "ï" );
  1439     ReplaceInString( aPtrTag, spXML83, sp83 );
  1443     ReplaceInString( aPtrTag, spXML83, sp83 );
  1440     _LIT16( spXML84, "&eth;" );
  1444     _LIT16( spXML84, "&eth;" );
  1441     _LIT16( sp84, "\u00f0" );
  1445     _LIT16( sp84, "ð" );
  1442     ReplaceInString( aPtrTag, spXML84, sp84 );
  1446     ReplaceInString( aPtrTag, spXML84, sp84 );
  1443     _LIT16( spXML85, "&ntilde;" );
  1447     _LIT16( spXML85, "&ntilde;" );
  1444     _LIT16( sp85, "\u00f1" );
  1448     _LIT16( sp85, "ñ" );
  1445     ReplaceInString( aPtrTag, spXML85, sp85 );
  1449     ReplaceInString( aPtrTag, spXML85, sp85 );
  1446     _LIT16( spXML86, "&ograve;" );
  1450     _LIT16( spXML86, "&ograve;" );
  1447     _LIT16( sp86, "\u00f2" );
  1451     _LIT16( sp86, "ò" );
  1448     ReplaceInString( aPtrTag, spXML86, sp86 );
  1452     ReplaceInString( aPtrTag, spXML86, sp86 );
  1449     _LIT16( spXML87, "&oacute;" );
  1453     _LIT16( spXML87, "&oacute;" );
  1450     _LIT16( sp87, "\u00f3" );
  1454     _LIT16( sp87, "ó" );
  1451     ReplaceInString( aPtrTag, spXML87, sp87 );
  1455     ReplaceInString( aPtrTag, spXML87, sp87 );
  1452     _LIT16( spXML88, "&ocirc;" );
  1456     _LIT16( spXML88, "&ocirc;" );
  1453     _LIT16( sp88, "\u00f4" );
  1457     _LIT16( sp88, "ô" );
  1454     ReplaceInString( aPtrTag, spXML88, sp88 );
  1458     ReplaceInString( aPtrTag, spXML88, sp88 );
  1455     _LIT16( spXML89, "&otilde;" );
  1459     _LIT16( spXML89, "&otilde;" );
  1456     _LIT16( sp89, "\u00f5" );
  1460     _LIT16( sp89, "õ" );
  1457     ReplaceInString( aPtrTag, spXML89, sp89 );
  1461     ReplaceInString( aPtrTag, spXML89, sp89 );
  1458     _LIT16( spXML90, "&ouml;" );
  1462     _LIT16( spXML90, "&ouml;" );
  1459     _LIT16( sp90, "\u00f6" );
  1463     _LIT16( sp90, "ö" );
  1460     ReplaceInString( aPtrTag, spXML90, sp90 );
  1464     ReplaceInString( aPtrTag, spXML90, sp90 );
  1461     _LIT16( spXML91, "&divide;" );
  1465     _LIT16( spXML91, "&divide;" );
  1462     _LIT16( sp91, "\u00f7" );
  1466     _LIT16( sp91, "÷" );
  1463     ReplaceInString( aPtrTag, spXML91, sp91 );
  1467     ReplaceInString( aPtrTag, spXML91, sp91 );
  1464     _LIT16( spXML92, "&oslash;" );
  1468     _LIT16( spXML92, "&oslash;" );
  1465     _LIT16( sp92, "\u00f8" );
  1469     _LIT16( sp92, "ø" );
  1466     ReplaceInString( aPtrTag, spXML92, sp92 );
  1470     ReplaceInString( aPtrTag, spXML92, sp92 );
  1467     _LIT16( spXML93, "&ugrave;" );
  1471     _LIT16( spXML93, "&ugrave;" );
  1468     _LIT16( sp93, "\u00f9" );
  1472     _LIT16( sp93, "ù" );
  1469     ReplaceInString( aPtrTag, spXML93, sp93 );
  1473     ReplaceInString( aPtrTag, spXML93, sp93 );
  1470     _LIT16( spXML94, "&uacute;" );
  1474     _LIT16( spXML94, "&uacute;" );
  1471     _LIT16( sp94, "\u00fa" );
  1475     _LIT16( sp94, "ú" );
  1472     ReplaceInString( aPtrTag, spXML94, sp94 );
  1476     ReplaceInString( aPtrTag, spXML94, sp94 );
  1473     _LIT16( spXML95, "&ucirc;" );
  1477     _LIT16( spXML95, "&ucirc;" );
  1474     _LIT16( sp95, "\u00fb" );
  1478     _LIT16( sp95, "û" );
  1475     ReplaceInString( aPtrTag, spXML95, sp95 );
  1479     ReplaceInString( aPtrTag, spXML95, sp95 );
  1476     _LIT16( spXML96, "&uuml;" );
  1480     _LIT16( spXML96, "&uuml;" );
  1477     _LIT16( sp96, "\u00fc" );
  1481     _LIT16( sp96, "ü" );
  1478     ReplaceInString( aPtrTag, spXML96, sp96 );
  1482     ReplaceInString( aPtrTag, spXML96, sp96 );
  1479     _LIT16( spXML97, "&yacute;" );
  1483     _LIT16( spXML97, "&yacute;" );
  1480     _LIT16( sp97, "\u00fd" );
  1484     _LIT16( sp97, "ý" );
  1481     ReplaceInString( aPtrTag, spXML97, sp97 );
  1485     ReplaceInString( aPtrTag, spXML97, sp97 );
  1482     _LIT16( spXML98, "&thorn;" );
  1486     _LIT16( spXML98, "&thorn;" );
  1483     _LIT16( sp98, "\u00de" );
  1487     _LIT16( sp98, "þ" );
  1484     ReplaceInString( aPtrTag, spXML98, sp98 );
  1488     ReplaceInString( aPtrTag, spXML98, sp98 );
  1485     _LIT16( spXML99, "&yuml;" );
  1489     _LIT16( spXML99, "&yuml;" );
  1486     _LIT16( sp99, "\u00ff" );
  1490     _LIT16( sp99, "ÿ" );
  1487     ReplaceInString( aPtrTag, spXML99, sp99 );
  1491     ReplaceInString( aPtrTag, spXML99, sp99 );
  1488     _LIT16( spXML100, "&OElig;" );
  1492     _LIT16( spXML100, "&OElig;" );
  1489     _LIT16( sp100, "\u0152" );
  1493     _LIT16( sp100, "Œ" );
  1490     ReplaceInString( aPtrTag, spXML100, sp100 );
  1494     ReplaceInString( aPtrTag, spXML100, sp100 );
  1491     _LIT16( spXML101, "&oelig;" );
  1495     _LIT16( spXML101, "&oelig;" );
  1492     _LIT16( sp101, "\u0153" );
  1496     _LIT16( sp101, "œ" );
  1493     ReplaceInString( aPtrTag, spXML101, sp101 );
  1497     ReplaceInString( aPtrTag, spXML101, sp101 );
  1494     _LIT16( spXML102, "&Scaron;" );
  1498     _LIT16( spXML102, "&Scaron;" );
  1495     _LIT16( sp102, "\u0160" );
  1499     _LIT16( sp102, "Š" );
  1496     ReplaceInString( aPtrTag, spXML102, sp102 );
  1500     ReplaceInString( aPtrTag, spXML102, sp102 );
  1497     _LIT16( spXML103, "&scaron;" );
  1501     _LIT16( spXML103, "&scaron;" );
  1498     _LIT16( sp103, "\u0161" );
  1502     _LIT16( sp103, "š" );
  1499     ReplaceInString( aPtrTag, spXML103, sp103 );
  1503     ReplaceInString( aPtrTag, spXML103, sp103 );
  1500     _LIT16( spXML104, "&Yuml;" );
  1504     _LIT16( spXML104, "&Yuml;" );
  1501     _LIT16( sp104, "\u0178" );
  1505     _LIT16( sp104, "Ÿ" );
  1502     ReplaceInString( aPtrTag, spXML104, sp104 );
  1506     ReplaceInString( aPtrTag, spXML104, sp104 );
  1503     _LIT16( spXML105, "&fnof;" );
  1507     _LIT16( spXML105, "&fnof;" );
  1504     _LIT16( sp105, "\u0192" );
  1508     _LIT16( sp105, "ƒ" );
  1505     ReplaceInString( aPtrTag, spXML105, sp105 );
  1509     ReplaceInString( aPtrTag, spXML105, sp105 );
  1506     _LIT16( spXML106, "&circ;" );
  1510     _LIT16( spXML106, "&circ;" );
  1507     _LIT16( sp106, "\u02c6" );
  1511     _LIT16( sp106, "ˆ" );
  1508     ReplaceInString( aPtrTag, spXML106, sp106 );
  1512     ReplaceInString( aPtrTag, spXML106, sp106 );
  1509     _LIT16( spXML107, "&tilde;" );
  1513     _LIT16( spXML107, "&tilde;" );
  1510     _LIT16( sp107, "\u02dc" );
  1514     _LIT16( sp107, "˜" );
  1511     ReplaceInString( aPtrTag, spXML107, sp107 );
  1515     ReplaceInString( aPtrTag, spXML107, sp107 );
  1512     }
  1516     }
  1513 
  1517 
  1514 // ---------------------------------------------------------
  1518 // ---------------------------------------------------------
  1515 // CReaderXML::Replace
  1519 // CReaderXML::Replace
  1636     iWLanParams.Append( EInputParams( EWEPKey4Length,               KWEPKey4Length ) );
  1640     iWLanParams.Append( EInputParams( EWEPKey4Length,               KWEPKey4Length ) );
  1637     iWLanParams.Append( EInputParams( EWEPKey4Format,               KWEPKey4Format ) );
  1641     iWLanParams.Append( EInputParams( EWEPKey4Format,               KWEPKey4Format ) );
  1638     iWLanParams.Append( EInputParams( EWEPKey4Data,                 KWEPKey4Data ) );
  1642     iWLanParams.Append( EInputParams( EWEPKey4Data,                 KWEPKey4Data ) );
  1639     iWLanParams.Append( EInputParams( EWPAPresharedKey,             KWPAPresharedKey ) );
  1643     iWLanParams.Append( EInputParams( EWPAPresharedKey,             KWPAPresharedKey ) );
  1640     iWLanParams.Append( EInputParams( EWPAKeyLength,                KWPAKeyLength ) );
  1644     iWLanParams.Append( EInputParams( EWPAKeyLength,                KWPAKeyLength ) );
  1641     iWLanParams.Append( EInputParams( EWPAEapMethod,                KWPAEapMethod ) );
  1645     iWLanParams.Append( EInputParams( EWPAListOfEAPs,               KWPAListOfEAPs ) );
  1642     iWLanParams.Append( EInputParams( EWPAUseOfPresharedKey,        KWPAUseOfPresharedKey ) );
  1646     iWLanParams.Append( EInputParams( EWPAUseOfPresharedKey,        KWPAUseOfPresharedKey ) );
  1643     iWLanParams.Append( EInputParams( EEapGtcUsername,              KEapGtcUsername ) );
  1647     iWLanParams.Append( EInputParams( EEapGtcUsername,              KEapGtcUsername ) );
  1644     iWLanParams.Append( EInputParams( EEapGtcSessionValidityTime,   KEapGtcSessionValidityTime ) );
  1648     iWLanParams.Append( EInputParams( EEapGtcSessionValidityTime,   KEapGtcSessionValidityTime ) );
  1645     iWLanParams.Append( EInputParams( EEapGtcEncapsulation,         KEapGtcEncapsulation ) );
  1649     iWLanParams.Append( EInputParams( EEapGtcEncapsulation,         KEapGtcEncapsulation ) );
  1646     iWLanParams.Append( EInputParams( EEapTlsUsername,              KEapTlsUsername ) );
  1650     iWLanParams.Append( EInputParams( EEapTlsUsername,              KEapTlsUsername ) );
  1771     iGlobalParams.Append( EInputParams( EUIPriorityCdma2k,      KUIPriorityCdma2k ) );
  1775     iGlobalParams.Append( EInputParams( EUIPriorityCdma2k,      KUIPriorityCdma2k ) );
  1772     iGlobalParams.Append( EInputParams( EUIPriorityDialOut,     KUIPriorityDialOut ) );
  1776     iGlobalParams.Append( EInputParams( EUIPriorityDialOut,     KUIPriorityDialOut ) );
  1773     iGlobalParams.Append( EInputParams( EUIPriorityDialIn,      KUIPriorityDialIn ) );
  1777     iGlobalParams.Append( EInputParams( EUIPriorityDialIn,      KUIPriorityDialIn ) );
  1774     iGlobalParams.Append( EInputParams( EUIPriorityVpn,         KUIPriorityVpn ) );
  1778     iGlobalParams.Append( EInputParams( EUIPriorityVpn,         KUIPriorityVpn ) );
  1775     iGlobalParams.Append( EInputParams( EUIPriorityMip,         KUIPriorityMip ) );
  1779     iGlobalParams.Append( EInputParams( EUIPriorityMip,         KUIPriorityMip ) );
       
  1780     iGlobalParams.Append( EInputParams( EDefaultConnectionType, KDefaultConnectionType ) );
       
  1781     iGlobalParams.Append( EInputParams( EDefaultConnectionName, KDefaultConnectionName ) );
  1776     iGlobalParams.Append( EInputParams( EUsageOfWlan,           KUsageOfWlan ) );
  1782     iGlobalParams.Append( EInputParams( EUsageOfWlan,           KUsageOfWlan ) );
  1777     iGlobalParams.Append( EInputParams( ECellularDataUsageHome,         KCellularDataUsageHome ) );
  1783     iGlobalParams.Append( EInputParams( ECellularDataUsageHome,         KCellularDataUsageHome ) );
  1778     iGlobalParams.Append( EInputParams( ECellularDataUsageVisitor,      KCellularDataUsageVisitor ) );
  1784     iGlobalParams.Append( EInputParams( ECellularDataUsageVisitor,      KCellularDataUsageVisitor ) );
  1779     iGlobalParams.Append( EInputParams( EGprsLastSocketActivityTimeout, KGprsLastSocketActivityTimeout ) );
  1785     iGlobalParams.Append( EInputParams( EGprsLastSocketActivityTimeout, KGprsLastSocketActivityTimeout ) );
  1780     iGlobalParams.Append( EInputParams( EGprsLastSessionClosedTimeout,  KGprsLastSessionClosedTimeout ) );
  1786     iGlobalParams.Append( EInputParams( EGprsLastSessionClosedTimeout,  KGprsLastSessionClosedTimeout ) );
  1815     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName7 ) );
  1821     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName7 ) );
  1816     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName8 ) );
  1822     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName8 ) );
  1817     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName9 ) );
  1823     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName9 ) );
  1818     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName10 ) );   
  1824     iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName10 ) );   
  1819     };
  1825     };
       
  1826 
  1820         
  1827         
  1821 // End of File.
  1828 // End of File.