Cantera  2.0
Public Member Functions | Public Attributes | Protected Attributes | List of all members
XML_Reader Class Reference

Class XML_Reader reads an XML file into an XML_Node object. More...

#include <xml.h>

Public Member Functions

 XML_Reader (std::istream &input)
 Sole Constructor for the XML_Reader class.
 
void getchr (char &ch)
 Read a single character from the input stream and returns it.
 
std::string strip (const std::string &aline) const
 Returns string 'aline' stripped of leading and trailing white space.
 
std::string inquotes (const std::string &aline) const
 Looks for a substring within 'aline' enclosed in double quotes, and returns this substring (without the quotes) if found.
 
int findQuotedString (const std::string &aline, std::string &rstring) const
 Searches a string for the first occurrence of a valid quoted string.
 
void parseTag (std::string tag, std::string &name, std::map< std::string, std::string > &attribs) const
 parseTag parses XML tags, i.e., the XML elements that are in between angle brackets.
 
std::string readTag (std::map< std::string, std::string > &attribs)
 Reads an XML tag into a string.
 
std::string readValue ()
 Return the value portion of an XML element.
 

Public Attributes

int m_line
 Line count.
 

Protected Attributes

std::istream & m_s
 Input stream containing the XML file.
 

Detailed Description

Class XML_Reader reads an XML file into an XML_Node object.

Class XML_Reader is designed for internal use.

Definition at line 32 of file xml.h.

Constructor & Destructor Documentation

XML_Reader ( std::istream &  input)

Sole Constructor for the XML_Reader class.

Parameters
inputReference to the istream object containing the XML file

Definition at line 157 of file xml.cpp.

Member Function Documentation

void getchr ( char &  ch)

Read a single character from the input stream and returns it.

Get a single character from the input stream.

All low level reads occur through this function. The function also keeps track of the line numbers.

Parameters
chCharacter to be returned.

If the character is a new-line character, then increment the line count.

Definition at line 168 of file xml.cpp.

References XML_Reader::m_line, and XML_Reader::m_s.

Referenced by XML_Reader::readTag(), and XML_Reader::readValue().

std::string strip ( const std::string &  aline) const

Returns string 'aline' stripped of leading and trailing white space.

White space is defined by the ISO C function isspace(), and includes tabs, spaces, \n. \r, \v, and \f.

Parameters
alineInput line to be stripped
Returns
Returns a string stripped of leading and trailing white space.
Deprecated:
Use stripws (in stringUtils.h)

Definition at line 180 of file xml.cpp.

std::string inquotes ( const std::string &  aline) const

Looks for a substring within 'aline' enclosed in double quotes, and returns this substring (without the quotes) if found.

If not, an empty string is returned.

Parameters
alineThis is the input string to be searched
Deprecated:
why is this a class method?

If not, an empty string is returned.

Todo:
why is this a class method?

Definition at line 205 of file xml.cpp.

int findQuotedString ( const std::string &  aline,
std::string &  rstring 
) const

Searches a string for the first occurrence of a valid quoted string.

Quotes can start with either a single quote or a double quote, but must also end with the same type. Quotes may be commented out by preceding with a backslash character, '\'.

Parameters
alineThis is the input string to be searched
rstringReturn value of the string that is found. The quotes are stripped from the string.
Returns
Returns the integer position just after the quoted string.

Definition at line 261 of file xml.cpp.

References Cantera::findUnbackslashed(), and Cantera::npos.

Referenced by XML_Reader::parseTag().

void parseTag ( std::string  tag,
std::string &  name,
std::map< std::string, std::string > &  attribs 
) const

parseTag parses XML tags, i.e., the XML elements that are in between angle brackets.

Parameters
tagTag to be parsed - input
nameOutput string containing name of the XML
attribsmap of attribute name and attribute value - output

Definition at line 304 of file xml.cpp.

References XML_Reader::findQuotedString(), Cantera::npos, and Cantera::stripws().

Referenced by XML_Reader::readTag().

std::string readTag ( std::map< std::string, std::string > &  attribs)

Reads an XML tag into a string.

This function advances the input streams pointer

Parameters
attribsmap of attribute name and attribute value - output
Returns
Output string containing name of the XML

Definition at line 344 of file xml.cpp.

References XML_Reader::getchr(), XML_Reader::m_s, and XML_Reader::parseTag().

Referenced by XML_Node::build().

std::string readValue ( )

Return the value portion of an XML element.

This function advances the input streams pointer

Definition at line 390 of file xml.cpp.

References XML_Reader::getchr(), XML_Reader::m_s, and Cantera::stripws().

Referenced by XML_Node::build().

Member Data Documentation

std::istream& m_s
protected

Input stream containing the XML file.

Definition at line 129 of file xml.h.

Referenced by XML_Reader::getchr(), XML_Reader::readTag(), and XML_Reader::readValue().

int m_line

Line count.

Definition at line 134 of file xml.h.

Referenced by XML_Node::build(), and XML_Reader::getchr().


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