library: libXMLIO #include "TXMLEngine.h" |
TXMLEngine
class description - header file - source file - inheritance tree (.pdf)
protected:
XMLAttrPointer_t AllocateAttr(int namelen, int valuelen, XMLNodePointer_t xmlnode)
XMLNodePointer_t AllocateNode(int namelen, XMLNodePointer_t parent)
void DisplayError(Int_t error, Int_t linenumber)
XMLNsPointer_t FindNs(XMLNodePointer_t xmlnode, const char* nsname)
char* Makenstr(const char* start, int len)
char* Makestr(const char* str)
void OutputValue(Char_t* value, TXMLOutputStream* out)
XMLNodePointer_t ReadNode(XMLNodePointer_t xmlparent, TXMLInputStream* inp, Int_t& resvalue)
void SaveNode(XMLNodePointer_t xmlnode, TXMLOutputStream* out, Int_t layout, Int_t level)
void TruncateNsExtension(XMLNodePointer_t xmlnode)
void UnpackSpecialCharacters(char* target, const char* source, int srclen)
public:
TXMLEngine()
TXMLEngine(const TXMLEngine&)
virtual ~TXMLEngine()
void AddChild(XMLNodePointer_t parent, XMLNodePointer_t child)
void AddChildFirst(XMLNodePointer_t parent, XMLNodePointer_t child)
void AssignDtd(XMLDocPointer_t xmldoc, const char* dtdname, const char* rootname)
static TClass* Class()
void CleanNode(XMLNodePointer_t xmlnode)
XMLNodePointer_t DocGetRootElement(XMLDocPointer_t xmldoc)
void DocSetRootElement(XMLDocPointer_t xmldoc, XMLNodePointer_t xmlnode)
void FreeAllAttr(XMLNodePointer_t xmlnode)
void FreeAttr(XMLNodePointer_t xmlnode, const char* name)
void FreeDoc(XMLDocPointer_t xmldoc)
void FreeNode(XMLNodePointer_t xmlnode)
const char* GetAttr(XMLNodePointer_t xmlnode, const char* name)
const char* GetAttrName(XMLAttrPointer_t xmlattr)
const char* GetAttrValue(XMLAttrPointer_t xmlattr)
XMLNodePointer_t GetChild(XMLNodePointer_t xmlnode)
XMLAttrPointer_t GetFirstAttr(XMLNodePointer_t xmlnode)
Int_t GetIntAttr(XMLNodePointer_t node, const char* name)
XMLNodePointer_t GetNext(XMLNodePointer_t xmlnode)
XMLAttrPointer_t GetNextAttr(XMLAttrPointer_t xmlattr)
const char* GetNodeContent(XMLNodePointer_t xmlnode)
const char* GetNodeName(XMLNodePointer_t xmlnode)
XMLNsPointer_t GetNS(XMLNodePointer_t xmlnode)
const char* GetNSName(XMLNsPointer_t ns)
const char* GetNSReference(XMLNsPointer_t ns)
XMLNodePointer_t GetParent(XMLNodePointer_t xmlnode)
Bool_t HasAttr(XMLNodePointer_t xmlnode, const char* name)
virtual TClass* IsA() const
Bool_t IsEmptyNode(XMLNodePointer_t)
XMLAttrPointer_t NewAttr(XMLNodePointer_t xmlnode, XMLNsPointer_t, const char* name, const char* value)
XMLNodePointer_t NewChild(XMLNodePointer_t parent, XMLNsPointer_t ns, const char* name, const char* content = "0")
XMLDocPointer_t NewDoc(const char* version = "0")
XMLAttrPointer_t NewIntAttr(XMLNodePointer_t xmlnode, const char* name, Int_t value)
XMLNsPointer_t NewNS(XMLNodePointer_t xmlnode, const char* reference, const char* name = "0")
TXMLEngine& operator=(const TXMLEngine&)
XMLDocPointer_t ParseFile(const char* filename)
XMLNodePointer_t ReadSingleNode(const char* src)
void SaveDoc(XMLDocPointer_t xmldoc, const char* filename, Int_t layout = 1)
void SaveSingleNode(XMLNodePointer_t xmlnode, TString* res, Int_t layout = 1)
void ShiftToNext(XMLNodePointer_t& xmlnode)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
void SkipEmpty(XMLNodePointer_t&)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void UnlinkFreeNode(XMLNodePointer_t xmlnode)
void UnlinkNode(XMLNodePointer_t node)
Bool_t ValidateDocument(XMLDocPointer_t, Bool_t = kFALSE)
________________________________________________________________________
TXMLEngine class is used to write and read ROOT XML files - TXMLFile.
It does not conform to complete xml standard and cannot be used
as parser for arbitrary XML files. For such cases TXMLParser should
be used. This class was introduced to exclude dependency from
external libraries (like libxml2) and improve speed / memory consumption.
________________________________________________________________________
XMLNsPointer_t NewNS(XMLNodePointer_t xmlnode, const char* reference, const char* name)
create namespace attribute for xmlnode.
namespace attribute will be always the first in list of node attributes
void SaveDoc(XMLDocPointer_t xmldoc, const char* filename, Int_t layout)
store document content to file
if layout<=0, no any spaces or newlines will be placed between
xmlnodes. Xml file will have minimum size, but nonreadable structure
if (layout>0) each node will be started from new line,
and number of spaces will correspond to structure depth.
void SaveSingleNode(XMLNodePointer_t xmlnode, TString* res, Int_t layout)
convert single xml node (and its child node) to string
if layout<=0, no any spaces or newlines will be placed between
xmlnodes. Xml file will have minimum size, but nonreadable structure
if (layout>0) each node will be started from new line,
and number of spaces will correspond to structure depth.
char* Makestr(const char* str)
creates char* variable with copy of provided string
char* Makenstr(const char* str, int len)
creates char* variable with copy of len symbols from provided string
void UnpackSpecialCharacters(char* target, const char* source, int srclen)
unpack special symbols, used in xml syntax to code characters
these symbols: '<' - <, '>' - >, '&' - &, '"' - "
void OutputValue(char* value, TXMLOutputStream* out)
output value to output stream
if symbols '<' '&' '>' '"' appears in the string, they
will be encoded to appropriate xml symbols: <, &, >, "
XMLNodePointer_t ReadNode(XMLNodePointer_t xmlparent, TXMLInputStream* inp, Int_t& resvalue)
Tries to construct xml node from input stream. Node should be
child of xmlparent node or it can be closing tag of xmlparent.
resvalue <= 0 if error
resvalue == 1 if this is endnode of parent
resvalue == 2 if this is child
Author: Sergey Linev 10.05.2004
Last update: root/xml:$Name: $:$Id: TXMLEngine.cxx,v 1.20 2006/06/22 08:21:22 brun Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.