(UNKNOWN PRODUCT) » TIDY » TMrbTidyNode

class TMrbTidyNode: public TMrbNamedX

__________________________________________________[C++IMPLEMENTATION]

 Name:           TMrbTidy
 Purpose:        MARaBOU utilities: tidy interface
 Description:    Implements class methods to interface the tidy library
 Keywords:
 Author:         R. Lutter
 Mailto:         <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a>
 Revision:       $Id: TMrbTidy.cxx,v 1.34 2007/08/03 10:11:05 Rudolf.Lutter Exp $
 Date:

/* Example of a HTML document (file "tidy.html")
<!DOCTYPE HTML PUBLIC "-// IETF/DTD HTML 2.0// EN">
<html>
<!-- Author: Marabou team (marabou@physik.uni-muenchen.de)  -->
<head><title>TMrbTidyDoc.html</title></head>
<body bgcolor="#ebfcb0">
<h1>TMrbTidyDoc: A MARaBOU class interfacing Dave Raggett's TidyLib</h1>
</body>
</html>

ROOT script to invoke TIDY:

{
    gSystem->Load("$MARABOU/lib/libTMrbUtils.so");
    gSystem->Load("$MARABOU/lib/libTMrbTidy.so");
    gSystem->Load("$MARABOU/lib/libTidy.so");
    TMrbTidyDoc * tdoc = new TMrbTidyDoc("demo", "tidy.html");
    tdoc->Print();
}
Output from method TMrbTidyDoc::Print():
Document demo (file tidy.html): structure as analyzed by D. Raggett's TIDY
----------------------------------------------------------------------------------------------
[ 0] node root: type=Root(0) parent=root
[ 1] . node HTML: type=DOCTYPE(1) parent=root text='<!DOCTYPE HTML><cr><cr>' PUBLIC=
[ 1] . node html: type=StartTag(5) tagid=HTML(48) parent=root
[ 2] .. node comment: type=Comment(2) parent=html text='<!-- Author: Marabou team (marabou@physik.uni-muenchen.de)  --><cr><cr>'
[ 2] .. node head: type=StartTag(5) tagid=HEAD(46) parent=html
[ 3] ... node title: type=StartTag(5) tagid=TITLE(111) parent=head
[ 4] .... node text: type=Text(4) parent=title text='TMrbTidyDoc.html<cr>'
[ 2] .. node body: type=StartTag(5) tagid=BODY(16) parent=html bgcolor=#EBFCB0
[ 3] ... node h1: type=StartTag(5) tagid=H1(40) parent=body
[ 4] .... node text: type=Text(4) parent=h1 text='TMrbTidyDoc: A MARaBOU class interfacing Dave Raggett's TidyLib<cr>'
*/

Function Members (Methods)

public:
TMrbTidyNode()
TMrbTidyNode(TidyTagId NodeId, const Char_t* NodeName, TMrbTidyNode* Parent, TidyNode NodeHandle, TMrbTidyDoc* Doc)
virtual~TMrbTidyNode()
voidTObject::AbstractMethod(const char* method) const
voidAddChild(TMrbTidyNode* Child)
virtual voidTObject::AppendPad(Option_t* option = "")
voidTMrbNamedX::AssignObject(TObject* Obj)
virtual voidTObject::Browse(TBrowser* b)
voidTMrbNamedX::ChangeIndex(Int_t Index)
Bool_tCheckEndTag()
Bool_tCheckMnode()
Bool_tCheckSubstitutions(Bool_t Recursive = kFALSE, Bool_t Verbose = kTRUE)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
voidClearSubstitutions(Bool_t Recursive = kFALSE)
virtual TObject*TNamed::Clone(const char* newname = "") const
Int_tCollectSubstUsedByChilds(TMrbLofNamedX& LofSubst, Bool_t TextChildsOnly = kTRUE)
const Char_t*CollectTextFromChilds(TString& Buffer)
virtual Int_tTMrbNamedX::Compare(const TObject* Nx) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDeleteTree()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillTree()
TMrbTidyNode*Find(const Char_t* NodeName, const Char_t* NodeAttributes = NULL, Bool_t Recursive = kFALSE)
TMrbTidyNode*Find(const Char_t* NodeName, TObjArray& LofAttr, Bool_t Recursive = kFALSE)
Int_tFind(TObjArray& LofNodes, const Char_t* NodeName, const Char_t* NodeAttributes = NULL, Bool_t Recursive = kFALSE)
Int_tFind(TObjArray& LofNodes, const Char_t* NodeName, TObjArray& LofAttr, Bool_t Recursive = kFALSE)
TMrbTidyNode*FindByAttr(const Char_t* AttrName, const Char_t* AttrVal, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
TMrbTidyNode*FindByMcase(const Char_t* Tag, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
TMrbTidyNode*FindByMtag(const Char_t* Tag, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TObject*TMrbNamedX::GetAssignedObject() const
TMrbTidyAttr*GetAttrABBR()
TMrbTidyAttr*GetAttrALINK()
TMrbTidyAttr*GetAttrALT()
TMrbTidyAttr*GetAttrBGCOLOR()
TMrbTidyAttr*GetAttrCHECKED()
TMrbTidyAttr*GetAttrCOLSPAN()
TMrbTidyAttr*GetAttrCONTENT()
TMrbTidyAttr*GetAttrDATAFLD()
TMrbTidyAttr*GetAttrFirst()
TMrbTidyAttr*GetAttrFOR()
TMrbTidyAttr*GetAttrHEIGHT()
TMrbTidyAttr*GetAttrHREF()
TMrbTidyAttr*GetAttrHTTP_EQUIV()
TMrbTidyAttr*GetAttribute(TidyAttrId AttrId)
TMrbTidyAttr*GetAttrID()
TMrbTidyAttr*GetAttrISMAP()
TMrbTidyAttr*GetAttrLANG()
TMrbTidyAttr*GetAttrLANGUAGE()
TMrbTidyAttr*GetAttrLINK()
TMrbTidyAttr*GetAttrLONGDESC()
TMrbTidyAttr*GetAttrNAME()
TMrbTidyAttr*GetAttrNext(TMrbTidyAttr* Attr)
TMrbTidyAttr*GetAttrOnBLUR()
TMrbTidyAttr*GetAttrOnCLICK()
TMrbTidyAttr*GetAttrOnFOCUS()
TMrbTidyAttr*GetAttrOnKEYDOWN()
TMrbTidyAttr*GetAttrOnKEYPRESS()
TMrbTidyAttr*GetAttrOnKEYUP()
TMrbTidyAttr*GetAttrOnMOUSEDOWN()
TMrbTidyAttr*GetAttrOnMOUSEMOVE()
TMrbTidyAttr*GetAttrOnMOUSEOUT()
TMrbTidyAttr*GetAttrOnMOUSEOVER()
TMrbTidyAttr*GetAttrOnMOUSEUP()
TMrbTidyAttr*GetAttrREL()
TMrbTidyAttr*GetAttrROWSPAN()
TMrbTidyAttr*GetAttrSELECTED()
TMrbTidyAttr*GetAttrSRC()
TMrbTidyAttr*GetAttrSTYLE()
TMrbTidyAttr*GetAttrSUMMARY()
TMrbTidyAttr*GetAttrTARGET()
TMrbTidyAttr*GetAttrTEXT()
TMrbTidyAttr*GetAttrTITLE()
TMrbTidyAttr*GetAttrTYPE()
TMrbTidyAttr*GetAttrUSEMAP()
TMrbTidyAttr*GetAttrVALUE()
TMrbTidyAttr*GetAttrVLINK()
TMrbTidyAttr*GetAttrWIDTH()
TMrbTidyAttr*GetAttrXMLNS()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TMrbTidyNode*GetFirst()
const Char_t*TMrbNamedX::GetFullName(TString& FullName, Int_t Base = 10, Bool_t IndexFlag = kFALSE) const
TidyNodeGetHandle()
virtual const char*TObject::GetIconName() const
TidyTagIdGetId()
Int_tGetIndentLevel()
Int_tTMrbNamedX::GetIndex() const
TMrbLofNamedX*GetLofAttr()
TMrbLofNamedX*GetLofChilds()
TMrbLofNamedX*GetLofLinks()
TMrbLofNamedX*GetLofSubstitutions()
virtual const char*TNamed::GetName() const
TMrbTidyNode*GetNext(TMrbTidyNode* Child)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TMrbTidyNode*GetParent()
TMrbTidyNode*GetPrev(TMrbTidyNode* Child)
Int_tGetSubstitutionType(const Char_t* ParamName) const
const Char_t*GetText(TString& Buffer)
TMrbTidyDoc*GetTidyDoc()
virtual const char*TNamed::GetTitle() const
Int_tGetTreeLevel()
TidyNodeTypeGetType()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasChilds()
Bool_tHasEndTag() const
virtual ULong_tTNamed::Hash() const
Bool_tHasText()
Bool_tHasTextChildsOnly()
Bool_tTMrbNamedX::HasTitle() const
voidTMrbNamedX::Help()
TMrbTidyNode*ImplantTreeFromFile(const Char_t* File = NULL, const Char_t* Mtag = NULL)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
Int_tInitLinks(Bool_t Recursive = kFALSE, Bool_t ReInit = kFALSE)
Int_tInitSubstitutions(Bool_t Recursive = kFALSE, Bool_t ReInit = kFALSE)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsAA()
Bool_tIsADDRESS()
Bool_tIsAPPLET()
Bool_tIsAREA()
Bool_tIsB()
Bool_tIsBASE()
Bool_tIsBASEFONT()
Bool_tIsBIG()
Bool_tIsBLINK()
Bool_tIsBLOCKQUOTE()
Bool_tIsBODY()
Bool_tIsBR()
Bool_tIsCAPTION()
Bool_tIsCENTER()
Bool_tIsCOL()
Bool_tIsCOLGROUP()
Bool_tIsComment()
Bool_tIsDD()
Bool_tIsDIR()
Bool_tIsDIV()
Bool_tIsDL()
Bool_tIsDT()
Bool_tIsEM()
Bool_tIsEMBED()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsFONT()
Bool_tIsFORM()
Bool_tIsFRAME()
Bool_tIsFRAMESET()
Bool_tIsH1()
Bool_tIsH2()
Bool_tIsH3()
Bool_tIsH4()
Bool_tIsH5()
Bool_tIsH6()
Bool_tIsHEAD()
Bool_tIsHeader()
Bool_tIsHR()
Bool_tIsHTML()
Bool_tIsI()
Bool_tIsIFRAME()
Bool_tIsIMG()
Bool_tIsINPUT()
Bool_tIsISINDEX()
Bool_tIsLABEL()
Bool_tIsLAYER()
Bool_tIsLI()
Bool_tIsLINK()
Bool_tIsLISTING()
Bool_tIsMAP()
Bool_tIsMARQUEE()
Bool_tIsMENU()
Bool_tIsMETA()
Bool_tIsMnode() const
Bool_tIsNOBR()
Bool_tIsNOFRAMES()
Bool_tIsNOSCRIPT()
Bool_tIsOBJECT()
Bool_tIsOL()
Bool_tTObject::IsOnHeap() const
Bool_tIsOPTGROUP()
Bool_tIsOPTION()
Bool_tIsP()
Bool_tIsPARAM()
Bool_tIsPRE()
Bool_tIsProp()
Bool_tIsQ()
Bool_tIsRoot()
Bool_tIsS()
Bool_tIsSCRIPT()
Bool_tIsSELECT()
Bool_tIsSMALL()
virtual Bool_tTMrbNamedX::IsSortable() const
Bool_tTMrbNamedX::IsSortedByName() const
Bool_tIsSPACER()
Bool_tIsSPAN()
Bool_tIsSTRIKE()
Bool_tIsSTRONG()
Bool_tIsSTYLE()
Bool_tIsTABLE()
Bool_tIsTD()
Bool_tIsText()
Bool_tIsTEXTAREA()
Bool_tIsTH()
Bool_tIsTITLE()
Bool_tIsTR()
Bool_tIsU()
Bool_tIsUL()
Bool_tIsWBR()
Bool_tIsXMP()
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TMrbNamedX&TMrbNamedX::operator=(const TMrbNamedX&)
Bool_tOutputHtml(ostream& Out = cout)
Bool_tOutputHtmlForMnodes(ostream& Out = cout)
voidOutputHtmlTree(ostream& Out = cout)
Bool_tOutputSubstituted(const Char_t* CaseString = NULL, ostream& Out = cout)
Bool_tOutputSubstituted(TObjArray& LofCaseStrings, ostream& Out = cout)
virtual voidTObject::Paint(Option_t* option = "")
TMrbTidyNode*Parent()
virtual voidTObject::Pop()
virtual voidPrint(Option_t* Option) const
voidPrint(ostream& Out = cout, Bool_t Verbose = kFALSE, Bool_t HtmlFlag = kFALSE)
voidPrintSubstitutions(Bool_t Recursive = kFALSE, ostream& Out = cout)
voidPrintTree(ostream& Out = cout, Bool_t Verbose = kFALSE, Bool_t HtmlFlag = kFALSE)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTMrbNamedX::Set(TMrbNamedX* NamedX)
voidTMrbNamedX::Set(Int_t Index, const Char_t* ShortName = 0, const Char_t* LongName = 0)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Int_tSetIndentation()
voidSetIndentLevel(Int_t Level, Bool_t Recursive = kFALSE)
voidTMrbNamedX::SetIndex(Int_t Index)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParent(TMrbTidyNode* Parent)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTreeLevel(Int_t Level)
voidSetTreeLevelFromParent()
voidSetType(TidyNodeType Type)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
voidTMrbNamedX::SortByName(Bool_t SortFlag = kTRUE)
Int_tStepTree(TObjArray& LofNodes)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Bool_tSubstitute(const Char_t* ParamName, const Char_t* ParamValue, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
Bool_tSubstitute(const Char_t* ParamName, Double_t ParamValue, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
Bool_tSubstitute(const Char_t* ParamName, Int_t ParamValue, Int_t ParamBase = 10, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTraceBack(ostream& Out = cout, Int_t NofLevels = 0)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Bool_tCompareAttributes(TObjArray& LofAttr)
Int_tDecodeAttrString(TObjArray& LofAttr, const Char_t* AttrStr)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
const Char_t*Emphasize(TString& String, Bool_t Remove = kFALSE)
voidTObject::MakeZombie()
const Char_t*MarkLinks(TString& Buffer)
const Char_t*MarkSubstitutions(TString& Buffer)
Bool_tOutputHtmlForMB(ostream& Out = cout)
Bool_tOutputHtmlForMC(ostream& Out = cout)
Bool_tOutputHtmlForMH(ostream& Out = cout)
Bool_tOutputHtmlForMI(ostream& Out = cout)
Bool_tOutputHtmlForMS(ostream& Out = cout)
Bool_tOutputHtmlForMX(ostream& Out = cout)
const Char_t*PrepareForCodeOutput(TString& Buffer)
const Char_t*PrepareForHtmlOutput(TString& Buffer)
voidProcessMnodeHeader(ostream& Out, const Char_t* CssClass, Int_t Level)
Int_tReadAttr()
TMrbTidyNode*ScanTidyTree(TidyNode Node, const Char_t* AttrName, const Char_t* AttrString, TMrbTidyDoc* Doc = NULL)

Data Members

public:
enum EMrbTidySubstType { kMrbTidySubstUndefined
kMrbTidySubstLocalDef
kMrbTidySubstInherited
kMrbTidySubstInUse
kMrbTidySubstValueSet
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TidyNodefHandletidy node handle
Bool_tfHasEndTagkTRUE if end tag needed
Bool_tTMrbNamedX::fHasTitle
Int_tfIndentLevelindent level (code)
Int_tTMrbNamedX::fIndex
Bool_tfIsMnodeis special marabou node
TMrbLofNamedXfLofAttrlist of attributes
TMrbLofNamedXfLofChildschild nodes
TMrbLofNamedXfLofLinkscurrent links
TMrbLofNamedXfLofSubstitutionscurrent substitutions
TStringTNamed::fNameobject identifier
TObject*TMrbNamedX::fObject
TMrbTidyNode*fParentparent node
Bool_tTMrbNamedX::fSortedByName
TMrbTidyDoc*fTidyDocassociated tidy document
TStringTNamed::fTitleobject title
Int_tfTreeLeveltree level (mnodes)
TidyNodeTypefTypetype

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMrbTidyNode(TidyTagId NodeId, const Char_t* NodeName, TMrbTidyNode* Parent, TidyNode NodeHandle, TMrbTidyDoc* Doc)
__________________________________________________________________[C++ CTOR]

 Name:           TMrbTidyNode
 Purpose:        A tidy node
 Arguments:      TidyTagId NodeId  	  -- node id
                 Char_t * NodeName      -- name
                 TMrbTidyNode * Parent  -- link to parent node
                 TidyOption NodeHandle  -- ptr to tidy struct
                 TMrbTidyDoc * Doc          -- link to document
 Description:    Ctor to instantiate a tidy node
 Keywords:

const Char_t * GetText(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::GetText()
 Purpose:        Get text from node
 Arguments:      TString & Buffer  -- where to store text
 Results:        Char_t * BufPtr   -- ptr to buffer data
 Exceptions:
 Description:    Reads text portion from node.
 Keywords:

Bool_t HasTextChildsOnly()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::HasTextChildsOnly()
 Purpose:        Check if node has only text in it
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Checks node childs to be text nodes only.
 Keywords:

const Char_t * CollectTextFromChilds(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CollectTextFromChilds()
 Purpose:        Collect text from childs
 Arguments:      TString & Buffer   -- where to store text
 Results:        Char_t * BufPtr    -- ptr to buffer data
 Exceptions:
 Description:    Collect text from childs if it is a pure text node.
 Keywords:

Int_t CollectSubstUsedByChilds(TMrbLofNamedX& LofSubst, Bool_t TextChildsOnly = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CollectSubstUsedByChilds()
 Purpose:        Collect substitutions from childs
 Arguments:      TMrbLofNamedX & LofSubst   -- list of substitutions
 Results:        Int_t NofSubst             -- number of subst in list
 Exceptions:
 Description:    Collects substitutions used by childs.
 Keywords:

void FillTree()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::FillTree()
 Purpose:        Fill document tree
 Arguments:      --
 Results:        --
 Exceptions:
 Description:    Fills document tree recursively.
 Keywords:

TMrbTidyNode * ImplantTreeFromFile(const Char_t* File = NULL, const Char_t* Mtag = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::IncludeExternalNode()
 Purpose:        Insert node from external file
 Arguments:      Char_t * File       -- name of html file
                 Char_t * Mtag       -- marabou tag
 Results:        TMrbTidyNode * Node -- root node of implanted tree
 Exceptions:
 Description:    Opens a html file and searches for a node with given marabou tag.
                 Implants tree starting with this node into local tree.
                 If File and/or Mtag args are missing value will be taken
                 from mfile= and mtag= attributes, resp.
 Keywords:

TMrbTidyNode * ScanTidyTree(TidyNode Node, const Char_t* AttrName, const Char_t* AttrString, TMrbTidyDoc* Doc = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::ScanTidyTree()
 Purpose:        Scan original tidy tree for a given attribute
 Arguments:      TidyNode Node       -- tidy node to start with
                 Char_t * AttrName   -- name of attribute
                 Char_t * AttrString -- attr value
                 TMrbTidyDoc * Doc   -- document
 Results:        TMrbTidyNode * Node -- node with given attr
 Exceptions:
 Description:    Low-level method to scan original tidy tree.
 Keywords:

void DeleteTree()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::DeleteTree()
 Purpose:        Delete document tree
 Arguments:      --
 Results:        --
 Exceptions:
 Description:    Removes any nodes from document tree.
 Keywords:

Int_t ReadAttr()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::ReadAttr
 Purpose:        Read tidy attributes
 Arguments:      --
 Results:        Int_t NofAttr   -- number of attributes read
 Exceptions:
 Description:    Reads node attributes via tidyAttrFirst()/Next()
 Keywords:

Bool_t CheckMnode()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CheckMnode
 Purpose:        Check if special marabou node
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Checks if node is one of special marabou nodes (<mh>, <mb>, ...)
 Keywords:

Bool_t CheckEndTag()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CheckEndTag
 Purpose:        Check if node has end tag
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Checks if node needs to have an end tag
 Keywords:

Bool_t IsText()
{ return(tidyNodeIsText(fHandle)); }
Bool_t IsProp()
{ return(tidyNodeIsProp(fTidyDoc->GetHandle(), fHandle)); }
Bool_t IsHeader()
{ return(tidyNodeIsHeader(fHandle)); }
Bool_t HasText()
{ return(tidyNodeHasText(fTidyDoc->GetHandle(), fHandle)); }
Bool_t IsHTML()
{ return(tidyNodeIsHTML(fHandle)); }
Bool_t IsHEAD()
{ return(tidyNodeIsHEAD(fHandle)); }
Bool_t IsTITLE()
{ return(tidyNodeIsTITLE(fHandle)); }
Bool_t IsBASE()
{ return(tidyNodeIsBASE(fHandle)); }
Bool_t IsMETA()
{ return(tidyNodeIsMETA(fHandle)); }
Bool_t IsBODY()
{ return(tidyNodeIsBODY(fHandle)); }
Bool_t IsFRAMESET()
{ return(tidyNodeIsFRAMESET(fHandle)); }
Bool_t IsFRAME()
{ return(tidyNodeIsFRAME(fHandle)); }
Bool_t IsIFRAME()
{ return(tidyNodeIsIFRAME(fHandle)); }
Bool_t IsNOFRAMES()
{ return(tidyNodeIsNOFRAMES(fHandle)); }
Bool_t IsHR()
{ return(tidyNodeIsHR(fHandle)); }
Bool_t IsH1()
{ return(tidyNodeIsH1(fHandle)); }
Bool_t IsH2()
{ return(tidyNodeIsH2(fHandle)); }
Bool_t IsPRE()
{ return(tidyNodeIsPRE(fHandle)); }
Bool_t IsLISTING()
{ return(tidyNodeIsLISTING(fHandle)); }
Bool_t IsP()
{ return(tidyNodeIsP(fHandle)); }
Bool_t IsUL()
{ return(tidyNodeIsUL(fHandle)); }
Bool_t IsOL()
{ return(tidyNodeIsOL(fHandle)); }
Bool_t IsDL()
{ return(tidyNodeIsDL(fHandle)); }
Bool_t IsDIR()
{ return(tidyNodeIsDIR(fHandle)); }
Bool_t IsLI()
{ return(tidyNodeIsLI(fHandle)); }
Bool_t IsDT()
{ return(tidyNodeIsDT(fHandle)); }
Bool_t IsDD()
{ return(tidyNodeIsDD(fHandle)); }
Bool_t IsTABLE()
{ return(tidyNodeIsTABLE(fHandle)); }
Bool_t IsCAPTION()
{ return(tidyNodeIsCAPTION(fHandle)); }
Bool_t IsTD()
{ return(tidyNodeIsTD(fHandle)); }
Bool_t IsTH()
{ return(tidyNodeIsTH(fHandle)); }
Bool_t IsTR()
{ return(tidyNodeIsTR(fHandle)); }
Bool_t IsCOL()
{ return(tidyNodeIsCOL(fHandle)); }
Bool_t IsCOLGROUP()
{ return(tidyNodeIsCOLGROUP(fHandle)); }
Bool_t IsBR()
{ return(tidyNodeIsBR(fHandle)); }
Bool_t IsAA()
{ return(tidyNodeIsA(fHandle)); }
Bool_t IsLINK()
{ return(tidyNodeIsLINK(fHandle)); }
Bool_t IsB()
{ return(tidyNodeIsB(fHandle)); }
Bool_t IsI()
{ return(tidyNodeIsI(fHandle)); }
Bool_t IsSTRONG()
{ return(tidyNodeIsSTRONG(fHandle)); }
Bool_t IsEM()
{ return(tidyNodeIsEM(fHandle)); }
Bool_t IsBIG()
{ return(tidyNodeIsBIG(fHandle)); }
Bool_t IsSMALL()
{ return(tidyNodeIsSMALL(fHandle)); }
Bool_t IsPARAM()
{ return(tidyNodeIsPARAM(fHandle)); }
Bool_t IsOPTION()
{ return(tidyNodeIsOPTION(fHandle)); }
Bool_t IsOPTGROUP()
{ return(tidyNodeIsOPTGROUP(fHandle)); }
Bool_t IsIMG()
{ return(tidyNodeIsIMG(fHandle)); }
Bool_t IsMAP()
{ return(tidyNodeIsMAP(fHandle)); }
Bool_t IsAREA()
{ return(tidyNodeIsAREA(fHandle)); }
Bool_t IsNOBR()
{ return(tidyNodeIsNOBR(fHandle)); }
Bool_t IsWBR()
{ return(tidyNodeIsWBR(fHandle)); }
Bool_t IsFONT()
{ return(tidyNodeIsFONT(fHandle)); }
Bool_t IsLAYER()
{ return(tidyNodeIsLAYER(fHandle)); }
Bool_t IsSPACER()
{ return(tidyNodeIsSPACER(fHandle)); }
Bool_t IsCENTER()
{ return(tidyNodeIsCENTER(fHandle)); }
Bool_t IsSTYLE()
{ return(tidyNodeIsSTYLE(fHandle)); }
Bool_t IsSCRIPT()
{ return(tidyNodeIsSCRIPT(fHandle)); }
Bool_t IsNOSCRIPT()
{ return(tidyNodeIsNOSCRIPT(fHandle)); }
Bool_t IsFORM()
{ return(tidyNodeIsFORM(fHandle)); }
Bool_t IsTEXTAREA()
{ return(tidyNodeIsTEXTAREA(fHandle)); }
Bool_t IsBLOCKQUOTE()
{ return(tidyNodeIsBLOCKQUOTE(fHandle)); }
Bool_t IsAPPLET()
{ return(tidyNodeIsAPPLET(fHandle)); }
Bool_t IsOBJECT()
{ return(tidyNodeIsOBJECT(fHandle)); }
Bool_t IsDIV()
{ return(tidyNodeIsDIV(fHandle)); }
Bool_t IsSPAN()
{ return(tidyNodeIsSPAN(fHandle)); }
Bool_t IsINPUT()
{ return(tidyNodeIsINPUT(fHandle)); }
Bool_t IsQ()
{ return(tidyNodeIsQ(fHandle)); }
Bool_t IsLABEL()
{ return(tidyNodeIsLABEL(fHandle)); }
Bool_t IsH3()
{ return(tidyNodeIsH3(fHandle)); }
Bool_t IsH4()
{ return(tidyNodeIsH4(fHandle)); }
Bool_t IsH5()
{ return(tidyNodeIsH5(fHandle)); }
Bool_t IsH6()
{ return(tidyNodeIsH6(fHandle)); }
Bool_t IsADDRESS()
{ return(tidyNodeIsADDRESS(fHandle)); }
Bool_t IsXMP()
{ return(tidyNodeIsXMP(fHandle)); }
Bool_t IsSELECT()
{ return(tidyNodeIsSELECT(fHandle)); }
Bool_t IsBLINK()
{ return(tidyNodeIsBLINK(fHandle)); }
Bool_t IsMARQUEE()
{ return(tidyNodeIsMARQUEE(fHandle)); }
Bool_t IsEMBED()
{ return(tidyNodeIsEMBED(fHandle)); }
Bool_t IsBASEFONT()
{ return(tidyNodeIsBASEFONT(fHandle)); }
Bool_t IsISINDEX()
{ return(tidyNodeIsISINDEX(fHandle)); }
Bool_t IsS()
{ return(tidyNodeIsS(fHandle)); }
Bool_t IsSTRIKE()
{ return(tidyNodeIsSTRIKE(fHandle)); }
Bool_t IsU()
{ return(tidyNodeIsU(fHandle)); }
Bool_t IsMENU()
{ return(tidyNodeIsMENU(fHandle)); }
TMrbTidyAttr * GetAttrHREF()
{ return(this->GetAttribute(TidyAttr_HREF)); }
TMrbTidyAttr * GetAttrSRC()
{ return(this->GetAttribute(TidyAttr_SRC)); }
TMrbTidyAttr * GetAttrID()
{ return(this->GetAttribute(TidyAttr_ID)); }
TMrbTidyAttr * GetAttrNAME()
{ return(this->GetAttribute(TidyAttr_NAME)); }
TMrbTidyAttr * GetAttrSUMMARY()
{ return(this->GetAttribute(TidyAttr_SUMMARY)); }
TMrbTidyAttr * GetAttrALT()
{ return(this->GetAttribute(TidyAttr_ALT)); }
TMrbTidyAttr * GetAttrLONGDESC()
{ return(this->GetAttribute(TidyAttr_LONGDESC)); }
TMrbTidyAttr * GetAttrUSEMAP()
{ return(this->GetAttribute(TidyAttr_USEMAP)); }
TMrbTidyAttr * GetAttrISMAP()
{ return(this->GetAttribute(TidyAttr_ISMAP)); }
TMrbTidyAttr * GetAttrLANGUAGE()
{ return(this->GetAttribute(TidyAttr_LANGUAGE)); }
TMrbTidyAttr * GetAttrTYPE()
{ return(this->GetAttribute(TidyAttr_TYPE)); }
TMrbTidyAttr * GetAttrVALUE()
{ return(this->GetAttribute(TidyAttr_VALUE)); }
TMrbTidyAttr * GetAttrCONTENT()
{ return(this->GetAttribute(TidyAttr_CONTENT)); }
TMrbTidyAttr * GetAttrTITLE()
{ return(this->GetAttribute(TidyAttr_TITLE)); }
TMrbTidyAttr * GetAttrXMLNS()
{ return(this->GetAttribute(TidyAttr_XMLNS)); }
TMrbTidyAttr * GetAttrDATAFLD()
{ return(this->GetAttribute(TidyAttr_DATAFLD)); }
TMrbTidyAttr * GetAttrWIDTH()
{ return(this->GetAttribute(TidyAttr_WIDTH)); }
TMrbTidyAttr * GetAttrHEIGHT()
{ return(this->GetAttribute(TidyAttr_HEIGHT)); }
TMrbTidyAttr * GetAttrFOR()
{ return(this->GetAttribute(TidyAttr_FOR)); }
TMrbTidyAttr * GetAttrSELECTED()
{ return(this->GetAttribute(TidyAttr_SELECTED)); }
TMrbTidyAttr * GetAttrCHECKED()
{ return(this->GetAttribute(TidyAttr_CHECKED)); }
TMrbTidyAttr * GetAttrLANG()
{ return(this->GetAttribute(TidyAttr_LANG)); }
TMrbTidyAttr * GetAttrTARGET()
{ return(this->GetAttribute(TidyAttr_TARGET)); }
TMrbTidyAttr * GetAttrHTTP_EQUIV()
{ return(this->GetAttribute(TidyAttr_HTTP_EQUIV)); }
TMrbTidyAttr * GetAttrREL()
{ return(this->GetAttribute(TidyAttr_REL)); }
TMrbTidyAttr * GetAttrOnMOUSEMOVE()
{ return(this->GetAttribute(TidyAttr_OnMOUSEMOVE)); }
TMrbTidyAttr * GetAttrOnMOUSEDOWN()
{ return(this->GetAttribute(TidyAttr_OnMOUSEDOWN)); }
TMrbTidyAttr * GetAttrOnMOUSEUP()
{ return(this->GetAttribute(TidyAttr_OnMOUSEUP)); }
TMrbTidyAttr * GetAttrOnCLICK()
{ return(this->GetAttribute(TidyAttr_OnCLICK)); }
TMrbTidyAttr * GetAttrOnMOUSEOVER()
{ return(this->GetAttribute(TidyAttr_OnMOUSEOVER)); }
TMrbTidyAttr * GetAttrOnMOUSEOUT()
{ return(this->GetAttribute(TidyAttr_OnMOUSEOUT)); }
TMrbTidyAttr * GetAttrOnKEYDOWN()
{ return(this->GetAttribute(TidyAttr_OnKEYDOWN)); }
TMrbTidyAttr * GetAttrOnKEYUP()
{ return(this->GetAttribute(TidyAttr_OnKEYUP)); }
TMrbTidyAttr * GetAttrOnKEYPRESS()
{ return(this->GetAttribute(TidyAttr_OnKEYPRESS)); }
TMrbTidyAttr * GetAttrOnFOCUS()
{ return(this->GetAttribute(TidyAttr_OnFOCUS)); }
TMrbTidyAttr * GetAttrOnBLUR()
{ return(this->GetAttribute(TidyAttr_OnBLUR)); }
TMrbTidyAttr * GetAttrBGCOLOR()
{ return(this->GetAttribute(TidyAttr_BGCOLOR)); }
TMrbTidyAttr * GetAttrLINK()
{ return(this->GetAttribute(TidyAttr_LINK)); }
TMrbTidyAttr * GetAttrALINK()
{ return(this->GetAttribute(TidyAttr_ALINK)); }
TMrbTidyAttr * GetAttrVLINK()
{ return(this->GetAttribute(TidyAttr_VLINK)); }
TMrbTidyAttr * GetAttrTEXT()
{ return(this->GetAttribute(TidyAttr_TEXT)); }
TMrbTidyAttr * GetAttrSTYLE()
{ return(this->GetAttribute(TidyAttr_STYLE)); }
TMrbTidyAttr * GetAttrABBR()
{ return(this->GetAttribute(TidyAttr_ABBR)); }
TMrbTidyAttr * GetAttrCOLSPAN()
{ return(this->GetAttribute(TidyAttr_COLSPAN)); }
TMrbTidyAttr * GetAttrROWSPAN()
{ return(this->GetAttribute(TidyAttr_ROWSPAN)); }
void PrintTree(ostream& Out = cout, Bool_t Verbose = kFALSE, Bool_t HtmlFlag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::PrintTree
 Purpose:        Print data recursively
 Arguments:      ostream & Out    -- output stream
                 Bool_t Verbose   -- kTRUE: print full text strings
                 Bool_t HtmlFlag  -- kTRUE: output html format
 Results:        --
 Exceptions:
 Description:    Prints node data
 Keywords:

Int_t StepTree(TObjArray& LofNodes)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::StepTree
 Purpose:        Step thru tree and collect nodes
 Arguments:      TObjArray & LofNodes  -- where to store nodes
 Results:        Int_t NofNodes        -- number of nodes
 Exceptions:
 Description:    Steps thru node tree and stores nodes in array
 Keywords:

void Print(ostream& Out = cout, Bool_t Verbose = kFALSE, Bool_t HtmlFlag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Print
 Purpose:        Print data
 Arguments:      ostream & Out    -- output stream
                 Bool_t Verbose   -- kTRUE: print full text strings
                 Bool_t HtmlFlag  -- kTRUE: output html format
 Results:        --
 Exceptions:
 Description:    Prints node data
 Keywords:

void TraceBack(ostream& Out = cout, Int_t NofLevels = 0)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::TraceBack
 Purpose:        Output backtrace
 Arguments:      ostream & Out    -- output stream
                 Int_t NofLevels  -- number of levels
 Results:        --
 Exceptions:
 Description:    Prints backtrace data
 Keywords:

void OutputHtmlTree(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlTree
 Purpose:        Output html data recursively
 Arguments:      ostream & Out    -- output stream
 Results:        --
 Exceptions:
 Description:    Outputs node data in html format
 Keywords:

Bool_t OutputHtml(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtml
 Purpose:        Output html data
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data.
                 Special treatment for marabou nodes.
 Keywords:

Bool_t OutputHtmlForMnodes(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMnodes
 Purpose:        Special html output for marabou nodes
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for marabou nodes.
 Keywords:

Bool_t OutputHtmlForMB(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMB
 Purpose:        Special html output for node <mb>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <mb>...</mb> [body]
 Keywords:

Bool_t OutputHtmlForMH(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMH
 Purpose:        Special html output for node <mh>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <mh>...</mh> [header]
 Keywords:

Bool_t OutputHtmlForMX(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMX
 Purpose:        Special html output for node <mx>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <mx> [expand]
 Keywords:

Bool_t OutputHtmlForMC(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMC
 Purpose:        Special html output for node <mc>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <mc>...</mc> [code]
 Keywords:

Bool_t OutputHtmlForMS(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMS
 Purpose:        Special html output for node <ms>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <ms>...</ms> [switch]
 Keywords:

Bool_t OutputHtmlForMI(ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputHtmlForMI
 Purpose:        Special html output for node <mi>
 Arguments:      ostream & Out    -- output stream
 Results:        Bool_t PopUp     -- kTRUE if there is no need to process childs
 Exceptions:
 Description:    Outputs html data for <mi> [include]
 Keywords:

void ProcessMnodeHeader(ostream& Out, const Char_t* CssClass, Int_t Level)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::ProcessMnodeHeader
 Purpose:        Special html output for node <mc>
 Arguments:      ostream & Out     -- output stream
                 Char_t * CssClass -- class name in css style
                 Int_t Level       -- tree level as compared to <mb> tag
 Results:        --
 Exceptions:
 Description:    Outputs html header for marabou nodes
 Keywords:

const Char_t * Emphasize(TString& String, Bool_t Remove = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Emphasize
 Purpose:        Replace special chars by <b>, <i>, <u> etc.
 Arguments:      TString String       -- string containing meta chars
                 Bool_t Remove        -- kTRUE -> remove meta chars
 Results:        Char_t * String      -- string after replacement
 Exceptions:
 Description:    Searches for pairs of           replaces by
                          **                     <b></b>
                          !!                     <i></i>
                          __                     <u></u>
 Keywords:

Int_t SetIndentation()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::SetIndentation
 Purpose:        Set indentation level
 Arguments:      --
 Results:        Int_t IndLevel   -- indentation level
 Exceptions:
 Description:    Calculates indentation from indent attr:
                     indent="+n"  increment by n
                     indent="-n"  decrement by n
                     indent="n"   set indentation to n
 Keywords:

void SetIndentLevel(Int_t Level, Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::SetIndentLevel
 Purpose:        Set indent level down the tree
 Arguments:      --
 Results:        Int_t IndLevel   -- indentation level
                 Bool_t Recursive -- set recursively if kTRUE
 Exceptions:
 Description:    Sets text indentation
 Keywords:

Int_t InitSubstitutions(Bool_t Recursive = kFALSE, Bool_t ReInit = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::InitSubstitutions
 Purpose:        Fill substitution buffer
 Arguments:      Bool_t Recursive -- step down the tree if kTRUE
                 Bool_t ReInit    -- re-initialize if set
 Results:        Int_t NofSubst   -- number of substitutions found
 Exceptions:
 Description:    Resets subst buffer and fills it
                 with items from "subst=..." string
 Keywords:

Int_t InitLinks(Bool_t Recursive = kFALSE, Bool_t ReInit = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::InitLinks
 Purpose:        Fill link buffer
 Arguments:      Bool_t Recursive -- step down the tree if kTRUE
                 Bool_t ReInit    -- re-initialize if set
 Results:        Int_t NofLinks   -- number of links found
 Exceptions:
 Description:    Resets link buffer and fills it
                 with items from "xxx-links=..." string
 Keywords:

void PrintSubstitutions(Bool_t Recursive = kFALSE, ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::PrintSubstitutions
 Purpose:        Output substitutions
 Arguments:      Bool_t Recursive -- step down the tree if kTRUE
                 ostream & Out    -- output stream
 Results:        --
 Exceptions:
 Description:    Outputs subst names (and values) to stream Out.
 Keywords:

void ClearSubstitutions(Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::ClearSubstitutions
 Purpose:        Clear current substitution settings
 Arguments:      Bool_t Recursive -- step down the tree if kTRUE
 Results:        --
 Exceptions:
 Description:    Resets all substitutions to "n.a" (empty).
 Keywords:

Bool_t CheckSubstitutions(Bool_t Recursive = kFALSE, Bool_t Verbose = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CheckSubstitutions
 Purpose:        Check if substitutions are ok
 Arguments:      Bool_t Recursive     -- step down the tree if kTRUE
                 Bool_t VerboseMode   -- error/warning message if kTRUE
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Checks if all substitutions have values assigned.
                 If CheckCode=kTRUE it searches for #param# in text nodes
                 and compares with entries in subst table.
 Keywords:

Int_t GetSubstitutionType(const Char_t* ParamName) const
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::GetSubstitutionType
 Purpose:        Return type of substitution
 Arguments:      Char_t * ParamName     -- name of subst parameter
 Results:        EMrbTidySubstType Type -- type: local, parent, cleared
 Exceptions:
 Description:    Returns type of a substitution.
 Keywords:

Bool_t Substitute(const Char_t* ParamName, const Char_t* ParamValue, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Substitute
 Purpose:        Substitute param with value
 Arguments:      Char_t * ParamName    -- param name
                 Char_t * ParamValue   -- value to be substituted
                 Bool_t Recursive      -- step down the tree if kTRUE
                 Bool_t Verbose        -- kTRUE if verbose mode
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Substitutes given param (#param#) with string.
 Keywords:

Bool_t Substitute(const Char_t* ParamName, Int_t ParamValue, Int_t ParamBase = 10, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Substitute
 Purpose:        Substitute param with value
 Arguments:      Char_t * ParamName    -- param name
                 Int_t ParamValue      -- value to be substituted
                 Int_t ParamBase       -- num base to be used for conversion
                 Bool_t Recursive      -- step down the tree if kTRUE
                 Bool_t Verbose        -- kTRUE if verbose mode
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Substitutes given param (#param#) with int.
 Keywords:

Bool_t Substitute(const Char_t* ParamName, Double_t ParamValue, Bool_t Recursive = kFALSE, Bool_t Verbose = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Substitute
 Purpose:        Substitute param with value
 Arguments:      Char_t * ParamName    -- param name
                 Double_t ParamValue   -- value to be substituted
                 Bool_t Recursive      -- step down the tree if kTRUE
                 Bool_t Verbose        -- kTRUE if verbose mode
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Substitutes given param (#param#) with double.
 Keywords:

Bool_t OutputSubstituted(const Char_t* CaseString = NULL, ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputSubstituted
 Purpose:        Output text with substitutions
 Arguments:      Char_t * CaseString    -- attribute "case=..."
                 ostream & Out          -- output stream
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Replaces params by their substitutions and outputs text.
 Keywords:

Bool_t OutputSubstituted(TObjArray& LofCaseStrings, ostream& Out = cout)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::OutputSubstituted
 Purpose:        Output text with substitutions
 Arguments:      TObjArray & LofCaseStrings	 -- array containing attributes "case=..."
                 ostream & Out                 -- output stream
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Replaces params by their substitutions and outputs text.
                 Works for pure text nodes as well as for
                 nodes with attr "string=..."
 Keywords:

const Char_t * PrepareForCodeOutput(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::PrepareForCodeOutput
 Purpose:        Prepare buffer to be output as plain code
 Arguments:      TString & Buffer          -- buffer containing text
 Results:        Char_t * BufPtr           -- points to 'Buffer'
 Exceptions:
 Description:    Do some finish before starting real code output.
 Keywords:

const Char_t * PrepareForHtmlOutput(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::PrepareForHtmlOutput
 Purpose:        Prepare buffer to be output as html
 Arguments:      TString & Buffer          -- buffer containing text
 Results:        Char_t * BufPtr           -- points to 'Buffer'
 Exceptions:
 Description:    Do some finish before starting html output.
 Keywords:

const Char_t * MarkSubstitutions(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::MarkSubstitutions
 Purpose:        Mark substitutions for html output
 Arguments:      TString & Buffer          -- buffer containing text
 Results:        Char_t * BufPtr           -- points to 'Buffer'
 Exceptions:
 Description:    Marks (= changes background color) for all substitutions in text
 Keywords:

const Char_t * MarkLinks(TString& Buffer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::MarkLinks
 Purpose:        Mark links for html output
 Arguments:      TString & Buffer          -- buffer containing text
 Results:        Char_t * BufPtr           -- points to 'Buffer'
 Exceptions:
 Description:    Marks (= inserts href tags) for all links in buffer
 Keywords:

TMrbTidyNode * Find(const Char_t* NodeName, const Char_t* NodeAttributes = NULL, Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Find
 Purpose:        Find a specified node
 Arguments:      Char_t * NodeName         -- name
                 Char_t * NodeAttributes   -- attributes
                 Bool_t Recursive          -- kTRUE if to be searched recursively
 Results:        TMrbTidyNode * Node       -- resulting node
 Exceptions:
 Description:    Searches for a specified node
 Keywords:

TMrbTidyNode * Find(const Char_t* NodeName, TObjArray& LofAttr, Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Find
 Purpose:        Find a specified node
 Arguments:      Char_t * NodeName         -- name
                 TObjArray & LofAttr       -- attributes
                 Bool_t Recursive          -- kTRUE if to be searched recursively
 Results:        TMrbTidyNode * Node       -- resulting node
 Exceptions:
 Description:    Searches for a specified node
 Keywords:

Int_t Find(TObjArray& LofNodes, const Char_t* NodeName, const Char_t* NodeAttributes = NULL, Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Find
 Purpose:        Find a specified node
 Arguments:      TObjArray & LofNodes      -- list of nodes
                 Char_t * NodeName         -- name
                 Char_t * NodeAttributes   -- attributes
                 Bool_t Recursive          -- kTRUE if to be searched recursively
 Results:        Int_t NofNodes            -- number of nodes found
 Exceptions:
 Description:    Searches for a specified node
 Keywords:

Int_t Find(TObjArray& LofNodes, const Char_t* NodeName, TObjArray& LofAttr, Bool_t Recursive = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::Find
 Purpose:        Find a specified node
 Arguments:      TObjArray & LofNodes      -- list of nodes
                 Char_t * NodeName         -- name
                 TObjArray & LofAttr       -- attributes
                 Bool_t Recursive          -- kTRUE if to be searched recursively
 Results:        Int_t NofNodes            -- number of nodes found
 Exceptions:
 Description:    Searches for a specified node
 Keywords:

TMrbTidyNode * FindByAttr(const Char_t* AttrName, const Char_t* AttrVal, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::FindByAttr
 Purpose:        Find a node by its attr
 Arguments:      const Char_t * AttrName   -- attr name
                 const Char_t * AttrValue  -- ... value
                 Bool_t Recursive          -- kTRUE if to be searched recursively
                 Bool_t IncludeTopLevel    -- start search from caller level
 Results:        TMrbTidyNode * Node       -- resulting node
 Exceptions:
 Description:    Searches for a specified node
 Keywords:

Int_t DecodeAttrString(TObjArray& LofAttr, const Char_t* AttrStr)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::DecodeAttrString
 Purpose:        Decode string of attributes
 Arguments:      TObjArray & LofAttr       -- attributes
                 Char_t * NodeAttributes   -- string of attributes
 Results:        Int_t NofAttr             -- number of attributes found
 Exceptions:
 Description:    Decodes a string of attributes.
                 Format: "attr1=val1 attr2=val2 ..."
 Keywords:

Bool_t CompareAttributes(TObjArray& LofAttr)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTidyNode::CompareAttributes
 Purpose:        Compare attributes
 Arguments:      TObjArray & LofAttr       -- attributes
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Compares attributes in list with node attributes.
 Keywords:

TidyOptionId GetId()
{ return((TidyOptionId) this->GetIndex()); }
TidyOptionType GetType()
{ return(fType); }
void SetType(TidyNodeType Type)
{ fType = Type; }
void Print(Option_t* Option) const
{ TObject::Print(Option); }
TidyOption GetHandle()
{ return(fHandle); }
TMrbTidyDoc * GetTidyDoc()
{ return(fTidyDoc); }
TMrbTidyNode()
{}
virtual ~TMrbTidyNode()
{}
TMrbTidyNode * GetFirst()
{ return((TMrbTidyNode *) fLofChilds.First()); }
TMrbTidyNode * GetParent()
{ return(fParent); }
TMrbTidyNode * GetNext(TMrbTidyNode* Child)
{ return((TMrbTidyNode *) fLofChilds.After((TMrbTidyNode *) Child)); }
TMrbTidyNode * GetPrev(TMrbTidyNode* Child)
{ return((TMrbTidyNode *) fLofChilds.Before((TMrbTidyNode *) Child)); }
void SetParent(TMrbTidyNode* Parent)
{ fParent = Parent; }
Int_t GetTreeLevel()
{ return(fTreeLevel); }
void SetTreeLevel(Int_t Level)
{ fTreeLevel = Level; }
void SetTreeLevelFromParent()
{ fTreeLevel = fParent ? fParent->GetTreeLevel() + 1 : 1; }
Int_t GetIndentLevel()
{ return(fIndentLevel); }
TMrbTidyNode * Parent()
{ return(fParent); }
TMrbLofNamedX * GetLofChilds()
{ return(&fLofChilds); }
TMrbLofNamedX * GetLofAttr()
{ return(&fLofAttr); }
Bool_t IsRoot()
{ return(this->GetType() == TidyNode_Root); }
Bool_t IsComment()
{ return(this->GetType() == TidyNode_Comment); }
TMrbTidyAttr * GetAttribute(TidyAttrId AttrId)
{ return((TMrbTidyAttr *) fLofAttr.FindByIndex((Int_t) AttrId)); }
TMrbTidyAttr * GetAttrFirst()
{ return((TMrbTidyAttr *) fLofAttr.First()); }
TMrbTidyAttr * GetAttrNext(TMrbTidyAttr* Attr)
{ return((TMrbTidyAttr *) fLofAttr.After((TMrbTidyAttr *) Attr)); }
Bool_t IsMnode() const
{ return(fIsMnode); }
Bool_t HasEndTag() const
{ return(fHasEndTag); }
TMrbTidyNode * FindByMtag(const Char_t* Tag, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
TMrbTidyNode * FindByMcase(const Char_t* Tag, Bool_t Recursive = kFALSE, Bool_t IncludeTopLevel = kFALSE)
Bool_t HasChilds()
{ return(this->GetLofChilds()->GetEntries() > 0); }
TMrbLofNamedX * GetLofSubstitutions()
{ return(&fLofSubstitutions); }
TMrbLofNamedX * GetLofLinks()
{ return(&fLofLinks); }
void AddChild(TMrbTidyNode* Child)
{ fLofChilds.Add(Child); }



Revision: $Id: TMrbTidy.h,v 1.22 2007/08/03 10:11:05 Rudolf.Lutter Exp $

ROOT page - Home page - Class index - Top of the page

This page has been automatically generated by use of ROOT's THtml class. If you have any comments or suggestions about the page layout send a mail to Marabou Support.