| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# XmlCode Class Reference

`#include <DataListenerSvc/XmlCode.h>`

Collaboration diagram for XmlCode:

[legend]

List of all members.

## Detailed Description

XmlCode contains methods to write out XML tags.

It is used in conjunction with DataListenerSvc to create the XML log files which can be subsequently later parsed. Indent levels are specified manually by the user who must make sure everything is consistent.

Author:
  Ben King

Date:
  2006-07-06

Definition at line 21 of file XmlCode.h.

## Public Member Functions
| XmlCode ()
| Standard constructor.
virtual | ~XmlCode ()
| Destructor.
std::string | tagBegin (std::string data, int level, std::string attribute, std::string val)
| returns an opening XML tag
std::string | tagBegin (std::string data, int level)
| return an opening XML tag
std::string | tagEnd (std::string data, int level)
| return a closing XML tag
std::string | data (std::string data)
| Return just the data given to the function.
std::string | declaration (std::string vers, std::string cod, std::string stand)
| XML declaration.
## Private Attributes
std::string | tag

## Constructor & Destructor Documentation

XmlCode::XmlCode | ( |  | ) | `[inline]`

Standard constructor.

Definition at line 25 of file XmlCode.h.

    00025 {};

virtual XmlCode::~XmlCode | ( |  | ) | `[inline, virtual]`

Destructor.

Definition at line 28 of file XmlCode.h.

    00028 {};

## Member Function Documentation

std::string XmlCode::tagBegin | ( | std::string | data,
|  | int | level,
|  | std::string | attribute,
|  | std::string | val |
| ) |  |  | `[inline]`

returns an opening XML tag

Parameters:

  | data | Name of the tag
  | level | Amount of indenting to print, i.e. what generation of tag
  | attribute | Attribute to include in tag (if used)
  | val | Value of the Attribute (if used) with this class. Return an opening XML tag which takes "attribute:value" pair

Definition at line 39 of file XmlCode.h.

    00040   {
    00041     std::string indent="";
    00042
    00043     for (int i=0; i<level; i++){
    00044       indent = indent + "  ";
    00045     }
    00046
    00047     return "\n" + indent + "<" + data + " " + attribute + "=\"" + val + "\">"; // A start tag will start a line
    00048   }

std::string XmlCode::tagBegin | ( | std::string | data,
|  | int | level |
| ) |  |  | `[inline]`

return an opening XML tag

Definition at line 51 of file XmlCode.h.

    00052   {
    00053     std::string indent="";
    00054
    00055     for (int i=0; i<level; i++){
    00056       indent = indent + "  ";
    00057     }
    00058
    00059     return "\n" + indent + "<" + data + ">"; // A start tag will start a line
    00060   }

std::string XmlCode::tagEnd | ( | std::string | data,
|  | int | level |
| ) |  |  | `[inline]`

return a closing XML tag

Will return a new line if the tag is given any indent, i.e. it is a parent tag

Definition at line 66 of file XmlCode.h.

    00067   {
    00068
    00069     if (level != 0) {
    00070       std::string indent="";
    00071
    00072       for (int i=0; i<level; i++){
    00073         indent = indent + "  ";
    00074       }
    00075
    00076       return "\n" + indent + "</" + data + ">\n";
    00077     }
    00078     else {
    00079       return "</" + data + ">"; // An end tag will end a line
    00080     }
    00081
    00082   }

std::string XmlCode::data | ( | std::string | data | ) | `[inline]`

Return just the data given to the function.

Definition at line 85 of file XmlCode.h.

    00086   {
    00087     return data; // Data will come after a string so no new line
    00088   }

std::string XmlCode::declaration | ( | std::string | vers,
|  | std::string | cod,
|  | std::string | stand |
| ) |  |  | `[inline]`

XML declaration.

Parameters:

  | vers | XML version number
  | cod | XML encoding
  | stand | XML standalone

Definition at line 99 of file XmlCode.h.

    00100   {
    00101     return "<?xml version=\"" + vers + "\" encoding=\"" + cod + "\" standalone=\"" + stand + "\"?>";
    00102   }

## Member Data Documentation

std::string XmlCode::tag`[private]`

Definition at line 112 of file XmlCode.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r3/GaudiMonitor/src/DataListenerSvc/XmlCode.h