PYTHIA
8.312
|
#include <LHEF3.h>
Public Types | |
typedef string::size_type | pos_t |
Convenient typdef. | |
Public Member Functions | |
~XMLTag () | |
The destructor also destroys any sub-tags. | |
bool | getattr (string n, double &v) const |
bool | getattr (string n, bool &v) const |
bool | getattr (string n, long &v) const |
bool | getattr (string n, int &v) const |
bool | getattr (string n, string &v) const |
void | list (ostream &os) const |
Print out this tag to a stream. | |
Static Public Member Functions | |
static vector< XMLTag * > | findXMLTags (string str, string *leftover=0) |
Public Attributes | |
string | name |
The name of this tag. | |
map< string, string > | attr |
The attributes of this tag. | |
vector< XMLTag * > | tags |
A vector of sub-tags. | |
string | contents |
The contents of this tag. | |
Static Public Attributes | |
static const pos_t | end = string::npos |
Convenient alias for npos. More... | |
The XMLTag struct is used to represent all information within an XML tag. It contains the attributes as a map, any sub-tags as a vector of pointers to other XMLTag objects, and any other information as a single string. The XMLTag struct written by Leif Lonnblad.
|
inlinestatic |
Scan the given string and return all XML tags found as a vector of pointers to XMLTag objects.
Find the first tag.
Skip tags in lines beginning with #.
Logic: Last newline before begin was before last pound sign (or there was no last newline at all, i.e. this is the special case of the first line), and hence the pound sign was before the tag was opened (at begin) with '<'. Thus, skip forward to next new line.
Skip xml-style comments.
Also skip CDATA statements. Used for text data that should not be parsed by the XML parser. (e.g., JavaScript code contains a lot of "<" or "&" characters which XML would erroneously interpret as the start of a new element or the start of a character entity, respectively.) See eg http:///www.w3schools.com/xml/xml_cdata.asp
Find the tag name.
Now skip some white space to see if we can find an attribute.
OK now find the beginning and end of the atribute.
|
inline |
Find an attribute named n and set the double variable v to the corresponding value. Return false if no attribute was found.
|
inline |
Find an attribute named n and set the bool variable v to true if the corresponding value is "yes". Return false if no attribute was found.
|
inline |
Find an attribute named n and set the long variable v to the corresponding value. Return false if no attribute was found.
|
inline |
Find an attribute named n and set the long variable v to the corresponding value. Return false if no attribute was found.
|
inline |
Find an attribute named n and set the string variable v to the corresponding value. Return false if no attribute was found.
|
static |