12 #ifndef ROOT_TXMLSetup 
   13 #define ROOT_TXMLSetup 
   29 extern const char *Root;
 
   30 extern const char *Setup;
 
   31 extern const char *ClassVersion;
 
   32 extern const char *IOVersion;
 
   33 extern const char *OnlyVersion;
 
   34 extern const char *Ptr;
 
   35 extern const char *Ref;
 
   36 extern const char *Null;
 
   37 extern const char *IdBase;
 
   38 extern const char *Size;
 
   39 extern const char *Xmlobject;
 
   40 extern const char *Xmlkey;
 
   41 extern const char *Cycle;
 
   42 extern const char *XmlBlock;
 
   43 extern const char *Zip;
 
   44 extern const char *Object;
 
   45 extern const char *ObjClass;
 
   46 extern const char *Class;
 
   47 extern const char *Member;
 
   48 extern const char *Item;
 
   49 extern const char *Name;
 
   50 extern const char *Title;
 
   51 extern const char *CreateTm;
 
   52 extern const char *ModifyTm;
 
   53 extern const char *ObjectUUID;
 
   54 extern const char *Type;
 
   55 extern const char *Value;
 
   57 extern const char *cnt;
 
   58 extern const char *True;
 
   59 extern const char *False;
 
   60 extern const char *SInfos;
 
   62 extern const char *Array;
 
   63 extern const char *Bool;
 
   64 extern const char *Char;
 
   65 extern const char *Short;
 
   66 extern const char *Int;
 
   67 extern const char *Long;
 
   68 extern const char *Long64;
 
   69 extern const char *Float;
 
   70 extern const char *Double;
 
   71 extern const char *UChar;
 
   72 extern const char *UShort;
 
   73 extern const char *UInt;
 
   74 extern const char *ULong;
 
   75 extern const char *ULong64;
 
   76 extern const char *String;
 
   77 extern const char *CharStar;
 
   80 class TStreamerElement;
 
   84    enum EXMLLayout { kSpecialized = 2, kGeneralized = 3 };
 
   86    TXMLSetup() = 
default;
 
   87    TXMLSetup(
const char *opt);
 
   88    TXMLSetup(
const TXMLSetup &src);
 
   89    virtual ~TXMLSetup() = 
default;
 
   91    TXMLSetup &operator=(
const TXMLSetup &rhs);
 
   93    TString GetSetupAsString();
 
   97    EXMLLayout GetXmlLayout()
 const { 
return fXmlLayout; }
 
   98    Bool_t IsStoreStreamerInfos()
 const { 
return fStoreStreamerInfos; }
 
   99    Bool_t IsUseDtd()
 const { 
return fUseDtd; }
 
  100    Bool_t IsUseNamespaces()
 const { 
return fUseNamespaces; }
 
  102    virtual void SetXmlLayout(EXMLLayout layout) { fXmlLayout = layout; }
 
  103    virtual void SetStoreStreamerInfos(Bool_t iConvert = kTRUE) { fStoreStreamerInfos = iConvert; }
 
  104    virtual void SetUsedDtd(Bool_t use = kTRUE) { fUseDtd = use; }
 
  105    virtual void SetUseNamespaces(Bool_t iUseNamespaces = kTRUE) { fUseNamespaces = iUseNamespaces; }
 
  107    const char *XmlConvertClassName(
const char *name);
 
  108    const char *XmlClassNameSpaceRef(
const TClass *cl);
 
  109    const char *XmlGetElementName(
const TStreamerElement *el);
 
  111    Int_t GetNextRefCounter() { 
return fRefCounter++; }
 
  113    static TString DefaultXmlSetup();
 
  114    static void SetNameSpaceBase(
const char *namespacebase);
 
  117    TClass *XmlDefineClass(
const char *xmlClassName);
 
  118    const char *GetElItemName(TStreamerElement *el);
 
  120    Bool_t IsValidXmlSetup(
const char *setupstr);
 
  121    Bool_t ReadSetupFromStr(
const char *setupstr);
 
  123    Int_t AtoI(
const char *sbuf, Int_t def = 0, 
const char *errinfo = 
nullptr);
 
  125    EXMLLayout fXmlLayout{kSpecialized};
 
  126    Bool_t fStoreStreamerInfos{kTRUE};
 
  127    Bool_t fUseDtd{kFALSE};
 
  128    Bool_t fUseNamespaces{kFALSE};
 
  130    Int_t fRefCounter{0}; 
 
  134    static TString fgNameSpaceBase;
 
  136    ClassDef(TXMLSetup, 1)