library: libRXML #include "TXMLEngine.h"

# TXMLEngine

class description - source file - inheritance tree (.ps)

## class TXMLEngine : public TObject

| Inheritance Chart:

`TObject`

<-

`TXMLEngine`

        public:

                          TXMLEngine()
                          TXMLEngine(const TXMLEngine&)
                  virtual ~TXMLEngine()
                     void AddChild(xmlNodePointer parent, xmlNodePointer child)
                     void AssignDtd(xmlDocPointer doc, const char* dtdname, const char* rootname)
           static TClass* Class()
                     void CleanNode(xmlNodePointer node)
           xmlNodePointer DocGetRootElement(xmlDocPointer doc)
                     void DocSetRootElement(xmlDocPointer doc, xmlNodePointer node)
                     void FreeAttr(xmlNodePointer node, const char* name)
                     void FreeDoc(xmlDocPointer doc)
                     void FreeNode(xmlNodePointer node)
              const char* GetAttr(xmlNodePointer node, const char* name) const
           xmlNodePointer GetChild(xmlNodePointer node)
                    Int_t GetIntAttr(xmlNodePointer node, const char* name)
           xmlNodePointer GetNext(xmlNodePointer node)
              const char* GetNodeContent(xmlNodePointer node) const
              const char* GetNodeName(xmlNodePointer node) const
           xmlNodePointer GetParent(xmlNodePointer node)
                   Bool_t HasAttr(xmlNodePointer node, const char* name)
          virtual TClass* IsA() const
                   Bool_t IsEmptyNode(xmlNodePointer node)
           xmlAttrPointer NewAttr(xmlNodePointer node, xmlNsPointer ns, const char* name, const char* value)
           xmlNodePointer NewChild(xmlNodePointer parent, xmlNsPointer ns, const char* name, const char* content = "0")
            xmlDocPointer NewDoc(const char* version = "0")
           xmlAttrPointer NewIntAttr(xmlNodePointer node, const char* name, Int_t value)
             xmlNsPointer NewNS(xmlNodePointer node, const char* reference, const char* name = "0")
              TXMLEngine& operator=(const TXMLEngine&)
            xmlDocPointer ParseFile(const char* filename)
                     void SaveDoc(xmlDocPointer doc, const char* filename, Int_t layout = 1)
                     void ShiftToNext(xmlNodePointer& node, Bool_t skipempty = kTRUE)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
                     void SkipEmpty(xmlNodePointer& node)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                     void UnlinkFreeNode(xmlNodePointer node)
                     void UnlinkNode(xmlNodePointer node)
                   Bool_t ValidateDocument(xmlDocPointer doc, Bool_t doout = kFALSE)

### Data Members

        protected:

          TString fStrBuf  !

## Class Description

      The aim of TXMLEngine class is to provide interface to libxml2 library.
      It defines only used in ROOT functions of libxml2
      There is a problem to parse libxml2 include files through CINT,
      therefore several wrappers for libxml2 types are defined.
      More information about libxml2 itself can be found in http://xmlsoft.org
    ________________________________________________________________________

TXMLEngine()

~TXMLEngine()

Bool_t HasAttr(xmlNodePointer node, const char* name)

const char* GetAttr(xmlNodePointer node, const char* name)

Int_t GetIntAttr(xmlNodePointer node, const char* name)

xmlAttrPointer NewAttr(xmlNodePointer node, xmlNsPointer ns, const char* name, const char* value)

xmlAttrPointer NewIntAttr(xmlNodePointer node, const char* name, Int_t value)

void FreeAttr(xmlNodePointer node, const char* name)

xmlNodePointer NewChild(xmlNodePointer parent, xmlNsPointer ns, const char* name, const char* content)

xmlNsPointer NewNS(xmlNodePointer node, const char* reference, const char* name)

void AddChild(xmlNodePointer parent, xmlNodePointer child)

void UnlinkNode(xmlNodePointer node)

void FreeNode(xmlNodePointer node)

void UnlinkFreeNode(xmlNodePointer node)

const char* GetNodeName(xmlNodePointer node)

const char* GetNodeContent(xmlNodePointer node)

xmlNodePointer GetChild(xmlNodePointer node)

xmlNodePointer GetParent(xmlNodePointer node)

xmlNodePointer GetNext(xmlNodePointer node)

Bool_t IsEmptyNode(xmlNodePointer node)

     checks if provided node is empty

void CleanNode(xmlNodePointer node)

void ShiftToNext(xmlNodePointer &node, Bool_t skipempty)

void SkipEmpty(xmlNodePointer &node)

xmlDocPointer NewDoc(const char* version)

void AssignDtd(xmlDocPointer doc, const char* dtdname, const char* rootname)

void FreeDoc(xmlDocPointer doc)

void SaveDoc(xmlDocPointer doc, const char* filename, Int_t layout)

void DocSetRootElement(xmlDocPointer doc, xmlNodePointer node)

xmlNodePointer DocGetRootElement(xmlDocPointer doc)

xmlDocPointer ParseFile(const char* filename)

Bool_t ValidateDocument(xmlDocPointer doc, Bool_t doout)

### Inline Functions

                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
             TXMLEngine TXMLEngine(const TXMLEngine&)
            TXMLEngine& operator=(const TXMLEngine&)

Author: Sergey Linev 10.05.2004
Last update: root/xml:$Name: $:$Id: TXMLEngine.cxx,v 1.9 2004/06/29 14:45:38 brun Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *