SNAP Library 2.1, User Reference  2013-09-25 10:47:25
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
THtmlLx Class Reference

#include <html.h>

List of all members.

Public Types

typedef TStrKdV TArgNmValV

Public Member Functions

 THtmlLx (const PSIn &_SIn, const bool &_DoParseArg=true)
THtmlLxoperator= (const THtmlLx &)
void PutCh (const char &_Ch)
void PutStr (const TStr &Str)
THtmlLxSym GetSym ()
PHtmlTok GetTok (const bool &DoUc=true)
TStr GetPreSpaceStr () const
int GetArgs () const
TStr GetArgNm (const int &ArgN) const
TStr GetArgVal (const int &ArgN) const
bool IsArg (const TStr &ArgNm) const
TStr GetArg (const TStr &ArgNm, const TStr &DfArgVal=TStr()) const
void PutArg (const TStr &ArgNm, const TStr &ArgVal)
TStr GetFullBTagStr () const
void MoveToStrOrEof (const TStr &Str)
void MoveToBTagOrEof (const TStr &TagNm)
void MoveToBTag2OrEof (const TStr &TagNm1, const TStr &TagNm2)
void MoveToBTag3OrEof (const TStr &TagNm1, const TStr &TagNm2, const TStr &TagNm3)
void MoveToBTagOrETagOrEof (const TStr &BTagNm, const TStr &ETagNm)
void MoveToBTagArgOrEof (const TStr &TagNm, const TStr &ArgNm, const TStr &ArgVal)
void MoveToBTagArg2OrEof (const TStr &TagNm, const TStr &ArgNm1, const TStr &ArgVal1, const TStr &ArgNm2, const TStr &ArgVal2, const bool &AndOpP=true)
void MoveToBTagOrEof (const TStr &TagNm1, const TStr &ArgNm1, const TStr &ArgVal1, const TStr &TagNm2, const TStr &ArgNm2, const TStr &ArgVal2)
void MoveToETagOrEof (const TStr &TagNm)
TStr GetTextOnlyStrToEof ()
TStr GetStrToBTag (const TStr &TagNm, const bool &TxtOnlyP=false)
TStr GetStrToBTag (const TStr &TagNm, const TStr &ArgNm, const TStr &ArgVal, const bool &TxtOnlyP=false)
TStr GetStrToETag (const TStr &TagNm, const bool &TxtOnlyP=false)
TStr GetStrToETag2 (const TStr &TagNm1, const TStr &TagNm2, const bool &TxtOnlyP=false)
TStr GetStrInTag (const TStr &TagNm, const bool &TxtOnlyP=false)
TStr GetHRefBeforeStr (const TStr &Str)
bool IsGetBTag (const TStr &TagNm)
bool IsGetETag (const TStr &TagNm)

Static Public Member Functions

static TStr GetSymStr (const THtmlLxSym &Sym)
static TStr GetEscapedStr (const TChA &ChA)
static TStr GetAsciiStr (const TChA &ChA, const char &GenericCh='_')
static void GetTokStrV (const TStr &Str, TStrV &TokStrV)
static TStr GetNoTag (const TStr &Str)

Public Attributes

THtmlLxSym Sym
int SymBChX
int SymEChX
TChA ChA
TChA UcChA
TChA SymChA
int PreSpaces
TChA PreSpaceChA
TArgNmValV ArgNmValV

Private Member Functions

void GetCh ()
void GetEscCh ()
void GetMetaTag ()
void GetTag ()

Private Attributes

PSIn SIn
TSInRSIn
bool DoParseArg
TChA ChStack
char Ch
int ChX
bool EscCh
TChA EscChA
TChA ArgNm
TChA ArgVal

Static Private Attributes

static THtmlLxChDef ChDef

Detailed Description

Definition at line 82 of file html.h.


Member Typedef Documentation

Definition at line 114 of file html.h.


Constructor & Destructor Documentation

THtmlLx::THtmlLx ( const PSIn _SIn,
const bool &  _DoParseArg = true 
) [inline]

Definition at line 117 of file html.h.

                                                         :
    SIn(_SIn), RSIn(*SIn), DoParseArg(_DoParseArg),
    ChStack(), Ch(' '), ChX(0), EscCh(false),
    EscChA(), ArgNm(), ArgVal(),
    Sym(hsyUndef), SymBChX(0), SymEChX(0), ChA(), UcChA(),
    PreSpaces(0), PreSpaceChA(), ArgNmValV(){}

Member Function Documentation

TStr THtmlLx::GetArg ( const TStr ArgNm,
const TStr DfArgVal = TStr() 
) const [inline]

Definition at line 139 of file html.h.

                                                                    {
    int ArgN=ArgNmValV.SearchForw(TStrKd(ArgNm));
    if (ArgN==-1){return DfArgVal;} else {return ArgNmValV[ArgN].Dat;}}
TStr THtmlLx::GetArgNm ( const int &  ArgN) const [inline]

Definition at line 136 of file html.h.

{return ArgNmValV[ArgN].Key;}
int THtmlLx::GetArgs ( ) const [inline]

Definition at line 135 of file html.h.

{return ArgNmValV.Len();}
TStr THtmlLx::GetArgVal ( const int &  ArgN) const [inline]

Definition at line 137 of file html.h.

{return ArgNmValV[ArgN].Dat;}
TStr THtmlLx::GetAsciiStr ( const TChA ChA,
const char &  GenericCh = '_' 
) [static]

Definition at line 584 of file html.cpp.

                                                               {
  TChA AsciiChA;
  for (int ChN=0; ChN<ChA.Len(); ChN++){
    char Ch=ChA[ChN];
    if ((Ch<' ')||('~'<Ch)){
      Ch=GenericCh;}
    AsciiChA+=Ch;
  }
  return AsciiChA;
}
void THtmlLx::GetCh ( ) [inline, private]

Definition at line 95 of file html.h.

              {
    if (ChStack.Empty()){
      if (RSIn.Eof()){Ch=TCh::EofCh;} else {Ch=RSIn.GetCh(); ChX++;}
    } else {
      Ch=ChStack.Pop(); ChX++;
    }
    SymChA+=Ch;
  }
TStr THtmlLx::GetEscapedStr ( const TChA ChA) [static]

Definition at line 568 of file html.cpp.

                                          {
  TChA EscapedChA;
  for (int ChN=0; ChN<ChA.Len(); ChN++){
    char Ch=ChA[ChN];
    switch (Ch){
      case '"': EscapedChA+="&quot;"; break;
      case '&': EscapedChA+="&amp;"; break;
      case '\'': EscapedChA+="&apos;"; break;
      case '<': EscapedChA+="&lt;"; break;
      case '>': EscapedChA+="&gt;"; break;
      default: EscapedChA+=Ch;
    }
  }
  return EscapedChA;
}
void THtmlLx::GetEscCh ( ) [private]

Definition at line 195 of file html.cpp.

                      {
  GetCh();
  EscCh=(Ch=='&');
  if (EscCh){
    EscChA.Clr(); EscChA.AddCh(Ch); GetCh();
    if (Ch=='#'){
      EscChA.AddCh(Ch); GetCh();
      if (('0'<=Ch)&&(Ch<='9')){
        do {EscChA.AddCh(Ch); GetCh();} while (('0'<=Ch)&&(Ch<='9'));
        if (Ch==';'){GetCh();}
        PutStr(ChDef.GetEscStr(EscChA));
      } else {
        PutCh('#'); PutCh('&');
      }
    } else
    if ((('a'<=Ch)&&(Ch<='z'))||(('A'<=Ch)&&(Ch<='Z'))){
      do {
        EscChA.AddCh(Ch); GetCh();
      } while ((('A'<=Ch)&&(Ch<='Z'))||(('a'<=Ch)&&(Ch<='z'))||(('0'<=Ch)&&(Ch<='9')));
      if (Ch==';'){
        GetCh(); PutStr(ChDef.GetEscStr(EscChA));
      } else {
        PutStr(EscChA);
      }      
    } else {
      PutCh('&');
    }
  }
}

Definition at line 358 of file html.cpp.

                                   {
  IAssert(Sym==hsyBTag);
  TChA BTagChA;
  BTagChA+=ChA; BTagChA.Pop();
  for (int ArgN=0; ArgN<GetArgs(); ArgN++){
    BTagChA+=' '; BTagChA+=GetArgNm(ArgN);
    BTagChA+='='; BTagChA+='"'; BTagChA+=GetArgVal(ArgN); BTagChA+='"';
  }
  BTagChA+='>';
  return BTagChA;
}

Definition at line 530 of file html.cpp.

                                             {
  TStr HRefStr;
  forever {
    GetSym();
    if (Sym==hsyEof){HRefStr=""; break;}
    if ((Sym==hsyBTag)&&(UcChA=="<A>")){HRefStr=GetArg("HREF");}
    if ((Sym==hsyStr)&&(ChA==Str)){break;}
  }
  return HRefStr;
}
void THtmlLx::GetMetaTag ( ) [private]

Definition at line 225 of file html.cpp.

                        {
  Sym=hsyMTag;
  if (Ch=='-'){
    char PCh=' ';
    while ((Ch!=TCh::EofCh) && ((PCh!='-')||(Ch!='>'))){PCh=Ch; GetCh();}
  } else {
    while ((Ch!=TCh::EofCh) && (Ch!='>')){GetCh();}
  }
  if (Ch!=TCh::EofCh){GetEscCh();}
}
TStr THtmlLx::GetNoTag ( const TStr Str) [static]

Definition at line 606 of file html.cpp.

                                      {
  PSIn SIn=TStrIn::New(Str);
  THtmlLx Lx(SIn);
  Lx.GetSym();
  TChA ChA;
  while (Lx.Sym!=hsyEof){
    switch (Lx.Sym){
          case hsyUndef: 
          case hsyStr: 
          case hsyNum: 
          case hsySSym:
                if (Lx.PreSpaces > 0) { ChA += ' '; }
                ChA += Lx.ChA;
          default: break;
        }
        Lx.GetSym();
  }
  return ChA;
}
TStr THtmlLx::GetPreSpaceStr ( ) const [inline]

Definition at line 132 of file html.h.

TStr THtmlLx::GetStrInTag ( const TStr TagNm,
const bool &  TxtOnlyP = false 
)

Definition at line 525 of file html.cpp.

                                                                {
  MoveToBTagOrEof(TagNm);
  return GetStrToETag(TagNm, TxtOnlyP);
}
TStr THtmlLx::GetStrToBTag ( const TStr TagNm,
const bool &  TxtOnlyP = false 
)

Definition at line 462 of file html.cpp.

                                                                 {
  TChA OutChA;
  forever {
    GetSym();
    if ((Sym==hsyEof)||((Sym==hsyBTag)&&(UcChA==TagNm))){
      break;
    } else {
      if (PreSpaces>0){OutChA+=' ';}
      if ((TxtOnlyP&&(Sym!=hsyBTag)&&(Sym!=hsyETag))||(!TxtOnlyP)){
        OutChA+=ChA;}
    }
  }
  return OutChA;
}
TStr THtmlLx::GetStrToBTag ( const TStr TagNm,
const TStr ArgNm,
const TStr ArgVal,
const bool &  TxtOnlyP = false 
)

Definition at line 477 of file html.cpp.

                                          {
  TChA OutChA;
  forever {
    GetSym();
    if ((Sym==hsyEof)||((Sym==hsyBTag)&&(UcChA==TagNm)&&
     (IsArg(ArgNm))&&(GetArg(ArgNm)==ArgVal))){
      break;
    } else {
      if (PreSpaces>0){OutChA+=' ';}
      if ((TxtOnlyP&&(Sym!=hsyBTag)&&(Sym!=hsyETag))||(!TxtOnlyP)){
        OutChA+=ChA;}
    }
  }
  return OutChA;
}
TStr THtmlLx::GetStrToETag ( const TStr TagNm,
const bool &  TxtOnlyP = false 
)

Definition at line 494 of file html.cpp.

                                                                 {
  TChA OutChA;
  forever {
    GetSym();
    if ((Sym==hsyEof)||((Sym==hsyETag)&&(UcChA==TagNm))){
      break;
    } else {
      if (PreSpaces>0){OutChA+=' ';}
      if ((TxtOnlyP&&(Sym!=hsyBTag)&&(Sym!=hsyETag))||(!TxtOnlyP)){
        OutChA+=ChA;}
    }
  }
  return OutChA;
}
TStr THtmlLx::GetStrToETag2 ( const TStr TagNm1,
const TStr TagNm2,
const bool &  TxtOnlyP = false 
)

Definition at line 509 of file html.cpp.

                                          {
  TChA OutChA;
  forever {
    GetSym();
    if ((Sym==hsyEof)||((Sym==hsyETag)&&(UcChA==TagNm1))||((Sym==hsyETag)&&(UcChA==TagNm2))){
      break;
    } else {
      if (PreSpaces>0){OutChA+=' ';}
      if ((TxtOnlyP&&(Sym!=hsyBTag)&&(Sym!=hsyETag))||(!TxtOnlyP)){
        OutChA+=ChA;}
    }
  }
  return OutChA;
}

Definition at line 277 of file html.cpp.

                          {
  // prepare symbol descriptions
  ChA.Clr(); UcChA.Clr();
  PreSpaces=0; PreSpaceChA.Clr();
  ArgNmValV.Clr();
  // skip white-space
  while (ChDef.IsSpace(Ch)){
    if (ChX>0){PreSpaceChA+=Ch; PreSpaces++;} GetEscCh();}
  // parse symbol
  SymChA.Clr(); SymChA+=Ch; SymBChX=ChX;
  switch (ChDef.GetChTy(Ch)){
    case hlctAlpha:
      Sym=hsyStr;
      forever{
        do {
          ChA.AddCh(Ch); UcChA.AddCh(ChDef.GetUc(Ch)); GetEscCh();
        } while (ChDef.IsAlNum(Ch));
        if (Ch=='.'){
          GetCh();
          if (ChDef.IsAlNum(Ch)){ChA.AddCh('.'); UcChA.AddCh('.');}
          else {PutCh(Ch); Ch='.'; break;}
        } else {break;}
      }
      break;
    case hlctNum:
      Sym=hsyNum;
      forever{
        do {
          ChA.AddCh(Ch); UcChA.AddCh(Ch); GetEscCh();
        } while (ChDef.IsNum(Ch));
        if (Ch=='.'){
          GetCh();
          if (ChDef.IsAlNum(Ch)){ChA.AddCh('.'); UcChA.AddCh('.');}
          else {PutCh(Ch); Ch='.'; break;}
        } else if (ChDef.IsAlpha(Ch)){
          Sym=hsyStr;
        } else {
          break;
        }
      }
      break;
    case hlctSym:
      Sym=hsySSym; ChA.AddCh(Ch); UcChA.AddCh(Ch); GetEscCh();
      if ((ChA.LastCh()=='.')&&(ChDef.IsAlNum(Ch))){
        Sym=hsyStr;
        do {
          ChA.AddCh(Ch); UcChA.AddCh(ChDef.GetUc(Ch)); GetEscCh();
        } while (ChDef.IsAlNum(Ch));
      }
      break;
    case hlctLTag:
      if (EscCh){
        Sym=hsySSym; ChA.AddCh(Ch); UcChA.AddCh(Ch); GetEscCh();
      } else {
        GetCh();
        if (Ch=='!'){GetCh(); GetMetaTag();} else {GetTag();}
      }
      break;
    case hlctRTag:
      if (EscCh){
        Sym=hsySSym; ChA.AddCh(Ch); UcChA.AddCh(Ch); GetEscCh();
      } else {
        Sym=hsySSym; ChA.AddCh(Ch); UcChA.AddCh(Ch);  GetEscCh();
      }
      break;
    case hlctEof: Sym=hsyEof; break;
    default: Sym=hsyUndef; GetEscCh();
  }
  // set symbol last-character-position
  SymEChX=ChX-1;
  // delete last character
  if (!SymChA.Empty()){SymChA.Pop();}
  // return symbol
  return Sym;
}
TStr THtmlLx::GetSymStr ( const THtmlLxSym Sym) [static]

Definition at line 553 of file html.cpp.

                                            {
  switch (Sym){
    case hsyUndef: return "Undef";
    case hsyStr: return "Str";
    case hsyNum: return "Num";
    case hsySSym: return "SSym";
    case hsyUrl: return "Url";
    case hsyBTag: return "BTag";
    case hsyETag: return "ETag";
    case hsyMTag: return "MTag";
    case hsyEof: return "Eof";
    default: Fail; return TStr();
  }
}
void THtmlLx::GetTag ( ) [private]

Definition at line 236 of file html.cpp.

                    {
  if (Ch=='/'){Sym=hsyETag; GetCh();} else {Sym=hsyBTag;}
  UcChA.AddCh('<');
  while (ChDef.IsAlNum(Ch)||(Ch==':')){
    UcChA.AddCh(ChDef.GetUc(Ch)); GetCh();}
  UcChA.AddCh('>');
  ChA=UcChA;

  if (DoParseArg){
    while ((Ch!='>')&&(Ch!=TCh::EofCh)){
      while ((!ChDef.IsAlpha(Ch))&&(Ch!='>')&&(Ch!=TCh::EofCh)){GetCh();}
      if (ChDef.IsAlpha(Ch)){
        ArgNm.Clr(); ArgVal.Clr();
        while (ChDef.IsAlNum(Ch)||(Ch=='-')){ArgNm.AddCh(ChDef.GetUc(Ch)); GetCh();}
        while (ChDef.IsWs(Ch)){GetCh();}
        if (Ch=='='){
          GetCh(); while (ChDef.IsWs(Ch)){GetCh();}
          if (Ch=='"'){
            GetCh();
            while ((Ch!=TCh::EofCh)&&(Ch!='"')&&(Ch!='>')){
              if (!ChDef.IsEoln(Ch)){ArgVal.AddCh(Ch);} GetCh();}
            if (Ch=='"'){GetCh();}
          } else if (Ch=='\''){
            GetCh();
            while ((Ch!=TCh::EofCh)&&(Ch!='\'')&&(Ch!='>')){
              if (!ChDef.IsEoln(Ch)){ArgVal.AddCh(Ch);} GetCh();}
            if (Ch=='\''){GetCh();}
          } else {
            while ((!ChDef.IsWs(Ch))&&(Ch!='>')&&(Ch!=TCh::EofCh)){
              ArgVal.AddCh(Ch); GetCh();}
          }
          ArgNmValV.Add(TStrKd(ArgNm, ArgVal));
        }
      }
    }
  } else {
    while ((Ch!='>')&&(Ch!=TCh::EofCh)){GetCh();}
  }
  if (Ch!=TCh::EofCh){GetEscCh();}
}

Definition at line 447 of file html.cpp.

                                 {
  TChA OutChA;
  forever {
    GetSym();
    if (Sym==hsyEof){
      break;
    } else {
      if (PreSpaces>0){OutChA+=' ';}
      if ((Sym!=hsyBTag)&&(Sym!=hsyETag)){
        OutChA+=ChA;}
    }
  }
  return OutChA;
}
PHtmlTok THtmlLx::GetTok ( const bool &  DoUc = true)

Definition at line 353 of file html.cpp.

                                        {
  if (DoUc){return PHtmlTok(new THtmlTok(Sym, UcChA, ArgNmValV));}
  else {return PHtmlTok(new THtmlTok(Sym, ChA, ArgNmValV));}
}
void THtmlLx::GetTokStrV ( const TStr Str,
TStrV TokStrV 
) [static]

Definition at line 595 of file html.cpp.

                                                       {
  PSIn SIn=TStrIn::New(Str);
  THtmlLx Lx(SIn);
  Lx.GetSym();
  TokStrV.Clr();
  while (Lx.Sym!=hsyEof){
    TokStrV.Add(Lx.ChA);
    Lx.GetSym();
  }
}
bool THtmlLx::IsArg ( const TStr ArgNm) const [inline]

Definition at line 138 of file html.h.

{return ArgNmValV.IsIn(TStrKd(ArgNm));}
bool THtmlLx::IsGetBTag ( const TStr TagNm)

Definition at line 541 of file html.cpp.

                                        {
  if (GetSym()==hsyBTag){
    return ChA==TagNm;
  } else {return false;}
}
bool THtmlLx::IsGetETag ( const TStr TagNm)

Definition at line 547 of file html.cpp.

                                        {
  if (GetSym()==hsyETag){
    return ChA==TagNm;
  } else {return false;}
}
void THtmlLx::MoveToBTag2OrEof ( const TStr TagNm1,
const TStr TagNm2 
)

Definition at line 382 of file html.cpp.

                                                                    {
  do {
    GetSym();
  } while ((Sym!=hsyEof)&&((Sym!=hsyBTag)||((UcChA!=TagNm1)&&(UcChA!=TagNm2))));
}
void THtmlLx::MoveToBTag3OrEof ( const TStr TagNm1,
const TStr TagNm2,
const TStr TagNm3 
)

Definition at line 388 of file html.cpp.

                                                                                        {
  do {
    GetSym();
  } while ((Sym!=hsyEof)&&((Sym!=hsyBTag)||((UcChA!=TagNm1)&&(UcChA!=TagNm2)&&(UcChA!=TagNm3))));
}
void THtmlLx::MoveToBTagArg2OrEof ( const TStr TagNm,
const TStr ArgNm1,
const TStr ArgVal1,
const TStr ArgNm2,
const TStr ArgVal2,
const bool &  AndOpP = true 
)

Definition at line 410 of file html.cpp.

                                                             {
  forever {
    GetSym();
    if (Sym==hsyEof){break;}
    if (AndOpP){
      if ((Sym==hsyBTag)&&(UcChA==TagNm)&&
       (IsArg(ArgNm1))&&(GetArg(ArgNm1)==ArgVal1)&&
       (IsArg(ArgNm2))&&(GetArg(ArgNm2)==ArgVal2)){break;}
    } else {
      if ((Sym==hsyBTag)&&(UcChA==TagNm)&&
       (((IsArg(ArgNm1))&&(GetArg(ArgNm1)==ArgVal1))||
        ((IsArg(ArgNm2))&&(GetArg(ArgNm2)==ArgVal2)))){break;}
    }
  }
}
void THtmlLx::MoveToBTagArgOrEof ( const TStr TagNm,
const TStr ArgNm,
const TStr ArgVal 
)

Definition at line 400 of file html.cpp.

                                                          {
  forever {
    GetSym();
    if (Sym==hsyEof){break;}
    if ((Sym==hsyBTag)&&(UcChA==TagNm)&&
     (IsArg(ArgNm))&&(GetArg(ArgNm)==ArgVal)){break;}
  }
}
void THtmlLx::MoveToBTagOrEof ( const TStr TagNm)

Definition at line 376 of file html.cpp.

                                              {
  do {
    GetSym();
  } while ((Sym!=hsyEof)&&((Sym!=hsyBTag)||(UcChA!=TagNm)));
}
void THtmlLx::MoveToBTagOrEof ( const TStr TagNm1,
const TStr ArgNm1,
const TStr ArgVal1,
const TStr TagNm2,
const TStr ArgNm2,
const TStr ArgVal2 
)

Definition at line 428 of file html.cpp.

                                                             {
  forever {
    GetSym();
    if (Sym==hsyEof){break;}
    if ((Sym==hsyBTag)&&(UcChA==TagNm1)&&
     (IsArg(ArgNm1))&&(GetArg(ArgNm1)==ArgVal1)){break;}
    if ((Sym==hsyBTag)&&(UcChA==TagNm2)&&
     (IsArg(ArgNm2))&&(GetArg(ArgNm2)==ArgVal2)){break;}
  }
}
void THtmlLx::MoveToBTagOrETagOrEof ( const TStr BTagNm,
const TStr ETagNm 
)

Definition at line 394 of file html.cpp.

                                                                         {
  do {
    GetSym();
  } while ((Sym!=hsyEof) && ((Sym!=hsyBTag)||(UcChA!=BTagNm)) && ((Sym!=hsyETag) || (UcChA!=ETagNm)));
}
void THtmlLx::MoveToETagOrEof ( const TStr TagNm)

Definition at line 441 of file html.cpp.

                                              {
  do {
    GetSym();
  } while ((Sym!=hsyEof)&&((Sym!=hsyETag)||(UcChA!=TagNm)));
}
void THtmlLx::MoveToStrOrEof ( const TStr Str)

Definition at line 370 of file html.cpp.

                                           {
  do {
    GetSym();
  } while ((Sym!=hsyEof)&&((Sym!=hsyStr)||(ChA!=Str)));
}
THtmlLx& THtmlLx::operator= ( const THtmlLx ) [inline]

Definition at line 124 of file html.h.

{Fail; return *this;}
void THtmlLx::PutArg ( const TStr ArgNm,
const TStr ArgVal 
) [inline]

Definition at line 142 of file html.h.

                                                    {
    int ArgN=ArgNmValV.SearchForw(TStrKd(ArgNm));
    if (ArgN==-1){ArgNmValV.Add(TStrKd(ArgNm, ArgVal));}
    else {ArgNmValV[ArgN]=TStrKd(ArgNm, ArgVal);}}
void THtmlLx::PutCh ( const char &  _Ch) [inline]

Definition at line 126 of file html.h.

                             {
    ChStack.Push(Ch); if (!SymChA.Empty()){SymChA.Pop();} Ch=_Ch; ChX--;}
void THtmlLx::PutStr ( const TStr Str) [inline]

Definition at line 128 of file html.h.

                              {
    for (int ChN=Str.Len()-1; ChN>=0; ChN--){PutCh(Str[ChN]);}}

Member Data Documentation

TChA THtmlLx::ArgNm [private]

Definition at line 93 of file html.h.

Definition at line 115 of file html.h.

TChA THtmlLx::ArgVal [private]

Definition at line 94 of file html.h.

char THtmlLx::Ch [private]

Definition at line 89 of file html.h.

Definition at line 109 of file html.h.

THtmlLxChDef THtmlLx::ChDef [static, private]

Definition at line 84 of file html.h.

Definition at line 88 of file html.h.

int THtmlLx::ChX [private]

Definition at line 90 of file html.h.

bool THtmlLx::DoParseArg [private]

Definition at line 87 of file html.h.

bool THtmlLx::EscCh [private]

Definition at line 91 of file html.h.

TChA THtmlLx::EscChA [private]

Definition at line 92 of file html.h.

Definition at line 113 of file html.h.

Definition at line 112 of file html.h.

TSIn& THtmlLx::RSIn [private]

Definition at line 86 of file html.h.

PSIn THtmlLx::SIn [private]

Definition at line 85 of file html.h.

Definition at line 107 of file html.h.

Definition at line 108 of file html.h.

Definition at line 111 of file html.h.

Definition at line 108 of file html.h.

Definition at line 110 of file html.h.


The documentation for this class was generated from the following files: