CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes | Friends
TiXmlText Class Reference

#include <tinyxml.h>

Inheritance diagram for TiXmlText:
TiXmlNode TiXmlBase

Public Member Functions

virtual bool Accept (TiXmlVisitor *content) const
 
bool CDATA () const
 Queries whether this represents text using a CDATA section. More...
 
TiXmlTextoperator= (const TiXmlText &base)
 
virtual const char * Parse (const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)
 
virtual void Print (FILE *cfile, int depth) const
 
void SetCDATA (bool _cdata)
 Turns on or off a CDATA representation of text. More...
 
 TiXmlText (const char *initValue)
 
 TiXmlText (const std::string &initValue)
 Constructor. More...
 
 TiXmlText (const TiXmlText &copy)
 
virtual const TiXmlTextToText () const
 Cast to a more defined type. Will return null not of the requested type. More...
 
virtual TiXmlTextToText ()
 Cast to a more defined type. Will return null not of the requested type. More...
 
virtual ~TiXmlText ()
 
- Public Member Functions inherited from TiXmlNode
void Clear ()
 Delete all the children of this node. Does not affect 'this'. More...
 
const TiXmlNodeFirstChild () const
 The first child of this node. Will be null if there are no children. More...
 
TiXmlNodeFirstChild ()
 
const TiXmlNodeFirstChild (const char *value) const
 
TiXmlNodeFirstChild (const char *_value)
 The first child of this node with the matching 'value'. Will be null if none found. More...
 
const TiXmlNodeFirstChild (const std::string &_value) const
 STL std::string form. More...
 
TiXmlNodeFirstChild (const std::string &_value)
 STL std::string form. More...
 
const TiXmlElementFirstChildElement () const
 Convenience function to get through elements. More...
 
TiXmlElementFirstChildElement ()
 
const TiXmlElementFirstChildElement (const char *_value) const
 Convenience function to get through elements. More...
 
TiXmlElementFirstChildElement (const char *_value)
 
const TiXmlElementFirstChildElement (const std::string &_value) const
 STL std::string form. More...
 
TiXmlElementFirstChildElement (const std::string &_value)
 STL std::string form. More...
 
const TiXmlDocumentGetDocument () const
 
TiXmlDocumentGetDocument ()
 
TiXmlNodeInsertAfterChild (TiXmlNode *afterThis, const TiXmlNode &addThis)
 
TiXmlNodeInsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode &addThis)
 
TiXmlNodeInsertEndChild (const TiXmlNode &addThis)
 
const TiXmlNodeIterateChildren (const TiXmlNode *previous) const
 
TiXmlNodeIterateChildren (const TiXmlNode *previous)
 
const TiXmlNodeIterateChildren (const char *value, const TiXmlNode *previous) const
 This flavor of IterateChildren searches for children with a particular 'value'. More...
 
TiXmlNodeIterateChildren (const char *_value, const TiXmlNode *previous)
 
const TiXmlNodeIterateChildren (const std::string &_value, const TiXmlNode *previous) const
 STL std::string form. More...
 
TiXmlNodeIterateChildren (const std::string &_value, const TiXmlNode *previous)
 STL std::string form. More...
 
const TiXmlNodeLastChild () const
 
TiXmlNodeLastChild ()
 The last child of this node. Will be null if there are no children. More...
 
const TiXmlNodeLastChild (const char *value) const
 
TiXmlNodeLastChild (const char *_value)
 The last child of this node matching 'value'. Will be null if there are no children. More...
 
const TiXmlNodeLastChild (const std::string &_value) const
 STL std::string form. More...
 
TiXmlNodeLastChild (const std::string &_value)
 STL std::string form. More...
 
TiXmlNodeLinkEndChild (TiXmlNode *addThis)
 
const TiXmlNodeNextSibling (const std::string &_value) const
 STL std::string form. More...
 
TiXmlNodeNextSibling (const std::string &_value)
 STL std::string form. More...
 
const TiXmlNodeNextSibling () const
 Navigate to a sibling node. More...
 
TiXmlNodeNextSibling ()
 
const TiXmlNodeNextSibling (const char *) const
 Navigate to a sibling node with the given 'value'. More...
 
TiXmlNodeNextSibling (const char *_next)
 
const TiXmlElementNextSiblingElement () const
 
TiXmlElementNextSiblingElement ()
 
const TiXmlElementNextSiblingElement (const char *) const
 
TiXmlElementNextSiblingElement (const char *_next)
 
const TiXmlElementNextSiblingElement (const std::string &_value) const
 STL std::string form. More...
 
TiXmlElementNextSiblingElement (const std::string &_value)
 STL std::string form. More...
 
bool NoChildren () const
 Returns true if this node has no children. More...
 
TiXmlNodeParent ()
 One step up the DOM. More...
 
const TiXmlNodeParent () const
 
const TiXmlNodePreviousSibling () const
 Navigate to a sibling node. More...
 
TiXmlNodePreviousSibling ()
 
const TiXmlNodePreviousSibling (const char *) const
 Navigate to a sibling node. More...
 
TiXmlNodePreviousSibling (const char *_prev)
 
const TiXmlNodePreviousSibling (const std::string &_value) const
 STL std::string form. More...
 
TiXmlNodePreviousSibling (const std::string &_value)
 STL std::string form. More...
 
bool RemoveChild (TiXmlNode *removeThis)
 Delete a child of this node. More...
 
TiXmlNodeReplaceChild (TiXmlNode *replaceThis, const TiXmlNode &withThis)
 
void SetValue (const char *_value)
 
void SetValue (const std::string &_value)
 STL std::string form. More...
 
virtual const TiXmlCommentToComment () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlCommentToComment ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlDeclarationToDeclaration () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlDeclarationToDeclaration ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlDocumentToDocument () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlDocumentToDocument ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlElementToElement () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlElementToElement ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlUnknownToUnknown () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlUnknownToUnknown ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
int Type () const
 
const char * Value () const
 
const std::string & ValueStr () const
 
const std::string & ValueTStr () const
 
virtual ~TiXmlNode ()
 
- Public Member Functions inherited from TiXmlBase
int Column () const
 See Row() More...
 
void * GetUserData ()
 Get a pointer to arbitrary user data. More...
 
const void * GetUserData () const
 Get a pointer to arbitrary user data. More...
 
int Row () const
 
void SetUserData (void *user)
 Set a pointer to arbitrary user data. More...
 
 TiXmlBase ()
 
virtual ~TiXmlBase ()
 

Protected Member Functions

bool Blank () const
 
virtual TiXmlNodeClone () const
 [internal use] Creates a new Element and returns it. More...
 
void CopyTo (TiXmlText *target) const
 
virtual void StreamIn (std::istream *in, std::string *tag)
 
- Protected Member Functions inherited from TiXmlNode
void CopyTo (TiXmlNode *target) const
 
TiXmlNodeIdentify (const char *start, TiXmlEncoding encoding)
 
 TiXmlNode (NodeType _type)
 

Private Attributes

bool cdata
 

Friends

class TiXmlElement
 

Additional Inherited Members

- Public Types inherited from TiXmlNode
enum  NodeType {
  DOCUMENT, ELEMENT, COMMENT, UNKNOWN,
  TEXT, DECLARATION, TYPECOUNT
}
 
- Public Types inherited from TiXmlBase
enum  {
  TIXML_NO_ERROR = 0, TIXML_ERROR, TIXML_ERROR_OPENING_FILE, TIXML_ERROR_OUT_OF_MEMORY,
  TIXML_ERROR_PARSING_ELEMENT, TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, TIXML_ERROR_READING_ELEMENT_VALUE, TIXML_ERROR_READING_ATTRIBUTES,
  TIXML_ERROR_PARSING_EMPTY, TIXML_ERROR_READING_END_TAG, TIXML_ERROR_PARSING_UNKNOWN, TIXML_ERROR_PARSING_COMMENT,
  TIXML_ERROR_PARSING_DECLARATION, TIXML_ERROR_DOCUMENT_EMPTY, TIXML_ERROR_EMBEDDED_NULL, TIXML_ERROR_PARSING_CDATA,
  TIXML_ERROR_DOCUMENT_TOP_ONLY, TIXML_ERROR_STRING_COUNT
}
 
- Static Public Member Functions inherited from TiXmlBase
static void EncodeString (const std::string &str, std::string *out)
 
static bool IsWhiteSpaceCondensed ()
 Return the current white space setting. More...
 
static void SetCondenseWhiteSpace (bool condense)
 
- Static Public Attributes inherited from TiXmlBase
static const int utf8ByteTable [256]
 
- Static Protected Member Functions inherited from TiXmlBase
static void ConvertUTF32ToUTF8 (unsigned long input, char *output, int *length)
 
static const char * GetChar (const char *p, char *_value, int *length, TiXmlEncoding encoding)
 
static const char * GetEntity (const char *in, char *value, int *length, TiXmlEncoding encoding)
 
static int IsAlpha (unsigned char anyByte, TiXmlEncoding encoding)
 
static int IsAlphaNum (unsigned char anyByte, TiXmlEncoding encoding)
 
static bool IsWhiteSpace (char c)
 
static bool IsWhiteSpace (int c)
 
static const char * ReadName (const char *p, std::string *name, TiXmlEncoding encoding)
 
static const char * ReadText (const char *in, std::string *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
 
static const char * SkipWhiteSpace (const char *, TiXmlEncoding encoding)
 
static bool StreamTo (std::istream *in, int character, std::string *tag)
 
static bool StreamWhiteSpace (std::istream *in, std::string *tag)
 
static bool StringEqual (const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
 
static int ToLower (int v, TiXmlEncoding encoding)
 
- Protected Attributes inherited from TiXmlNode
TiXmlNodefirstChild
 
TiXmlNodelastChild
 
TiXmlNodenext
 
TiXmlNodeparent
 
TiXmlNodeprev
 
NodeType type
 
std::string value
 
- Protected Attributes inherited from TiXmlBase
TiXmlCursor location
 
void * userData
 Field containing a generic user pointer. More...
 
- Static Protected Attributes inherited from TiXmlBase
static const char * errorString [TIXML_ERROR_STRING_COUNT]
 

Detailed Description

XML text. A text node can have 2 ways to output the next. "normal" output and CDATA. It will default to the mode it was parsed from the XML file and you generally want to leave it alone, but you can change the output mode with SetCDATA() and query it with CDATA().

Definition at line 1207 of file tinyxml.h.

Constructor & Destructor Documentation

TiXmlText::TiXmlText ( const char *  initValue)
inline

Constructor for text element. By default, it is treated as normal, encoded text. If you want it be output as a CDATA text element, set the parameter _cdata to 'true'

Definition at line 1215 of file tinyxml.h.

References cdata, and TiXmlNode::SetValue().

Referenced by Clone().

1216  {
1217  SetValue( initValue );
1218  cdata = false;
1219  }
void SetValue(const char *_value)
Definition: tinyxml.h:512
bool cdata
Definition: tinyxml.h:1263
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:143
virtual TiXmlText::~TiXmlText ( )
inlinevirtual

Definition at line 1220 of file tinyxml.h.

1220 {}
TiXmlText::TiXmlText ( const std::string &  initValue)
inline

Constructor.

Definition at line 1224 of file tinyxml.h.

1225  {
1226  SetValue( initValue );
1227  cdata = false;
1228  }
void SetValue(const char *_value)
Definition: tinyxml.h:512
bool cdata
Definition: tinyxml.h:1263
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:143
TiXmlText::TiXmlText ( const TiXmlText copy)
inline

Definition at line 1231 of file tinyxml.h.

References CopyTo().

1231 : TiXmlNode( TiXmlNode::TEXT ) { copy.CopyTo( this ); }
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:143
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cc:1373

Member Function Documentation

bool TiXmlText::Accept ( TiXmlVisitor content) const
virtual

Walk the XML tree visiting this node and all of its children.

Implements TiXmlNode.

Definition at line 1380 of file tinyxml.cc.

References TiXmlVisitor::Visit().

1381 {
1382  return visitor->Visit( *this );
1383 }
bool TiXmlText::Blank ( ) const
protected

Definition at line 1645 of file tinyxmlparser.cc.

References i, TiXmlBase::IsWhiteSpace(), and TiXmlNode::value.

Referenced by TiXmlElement::ReadValue().

1646 {
1647  for ( unsigned i=0; i<value.length(); i++ )
1648  if ( !IsWhiteSpace( value[i] ) )
1649  return false;
1650  return true;
1651 }
int i
Definition: DBlmapReader.cc:9
std::string value
Definition: tinyxml.h:765
static bool IsWhiteSpace(char c)
Definition: tinyxml.h:294
bool TiXmlText::CDATA ( ) const
inline

Queries whether this represents text using a CDATA section.

Definition at line 1238 of file tinyxml.h.

References cdata.

Referenced by TiXmlPrinter::Visit(), and TiXmlPrinter::VisitEnter().

1238 { return cdata; }
bool cdata
Definition: tinyxml.h:1263
TiXmlNode * TiXmlText::Clone ( ) const
protectedvirtual

[internal use] Creates a new Element and returns it.

Implements TiXmlNode.

Definition at line 1386 of file tinyxml.cc.

References clone(), CopyTo(), and TiXmlText().

1387 {
1388  TiXmlText* clone = 0;
1389  clone = new TiXmlText( "" );
1390 
1391  if ( !clone )
1392  return 0;
1393 
1394  CopyTo( clone );
1395  return clone;
1396 }
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
TiXmlText(const char *initValue)
Definition: tinyxml.h:1215
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cc:1373
void TiXmlText::CopyTo ( TiXmlText target) const
protected

Definition at line 1373 of file tinyxml.cc.

References cdata, and TiXmlNode::CopyTo().

Referenced by Clone(), operator=(), and TiXmlText().

1374 {
1375  TiXmlNode::CopyTo( target );
1376  target->cdata = cdata;
1377 }
bool cdata
Definition: tinyxml.h:1263
void CopyTo(TiXmlNode *target) const
Definition: tinyxml.cc:168
TiXmlText& TiXmlText::operator= ( const TiXmlText base)
inline

Definition at line 1232 of file tinyxml.h.

References CopyTo().

1232 { base.CopyTo( this ); return *this;}
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cc:1373
const char * TiXmlText::Parse ( const char *  p,
TiXmlParsingData data,
TiXmlEncoding  encoding 
)
virtual

Implements TiXmlBase.

Definition at line 1512 of file tinyxmlparser.cc.

References cdata, TiXmlParsingData::Cursor(), end, TiXmlNode::GetDocument(), TiXmlBase::location, AlCaHLTBitMon_ParallelJobs::p, TiXmlBase::ReadText(), TiXmlDocument::SetError(), TiXmlParsingData::Stamp(), TiXmlBase::StringEqual(), TiXmlBase::TIXML_ERROR_PARSING_CDATA, TIXML_STRING, and TiXmlNode::value.

Referenced by TiXmlElement::ReadValue().

1513 {
1514  value = "";
1515  TiXmlDocument* document = GetDocument();
1516 
1517  if ( data )
1518  {
1519  data->Stamp( p, encoding );
1520  location = data->Cursor();
1521  }
1522 
1523  const char* const startTag = "<![CDATA[";
1524  const char* const endTag = "]]>";
1525 
1526  if ( cdata || StringEqual( p, startTag, false, encoding ) )
1527  {
1528  cdata = true;
1529 
1530  if ( !StringEqual( p, startTag, false, encoding ) )
1531  {
1532  document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
1533  return 0;
1534  }
1535  p += strlen( startTag );
1536 
1537  // Keep all the white space, ignore the encoding, etc.
1538  while ( p && *p
1539  && !StringEqual( p, endTag, false, encoding )
1540  )
1541  {
1542  value += *p;
1543  ++p;
1544  }
1545 
1546  TIXML_STRING dummy;
1547  p = ReadText( p, &dummy, false, endTag, false, encoding );
1548  return p;
1549  }
1550  else
1551  {
1552  bool ignoreWhite = true;
1553 
1554  const char* end = "<";
1555  p = ReadText( p, &value, ignoreWhite, end, false, encoding );
1556  if ( p )
1557  return p-1; // don't truncate the '<'
1558  return 0;
1559  }
1560 }
std::string value
Definition: tinyxml.h:765
const TiXmlCursor & Cursor()
bool cdata
Definition: tinyxml.h:1263
TiXmlCursor location
Definition: tinyxml.h:377
#define end
Definition: vmac.h:37
const TiXmlDocument * GetDocument() const
Definition: tinyxml.cc:499
static bool StringEqual(const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
void SetError(int err, const char *errorLocation, TiXmlParsingData *prevData, TiXmlEncoding encoding)
void Stamp(const char *now, TiXmlEncoding encoding)
static const char * ReadText(const char *in, std::string *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
#define TIXML_STRING
Definition: tinyxml.h:57
void TiXmlText::Print ( FILE *  cfile,
int  depth 
) const
virtual

All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.) Either or both cfile and str can be null.

This is a formatted print, and will insert tabs and newlines.

(For an unformatted stream, use the << operator.)

Implements TiXmlBase.

Definition at line 1352 of file tinyxml.cc.

References cdata, TiXmlBase::EncodeString(), i, TIXML_STRING, and TiXmlNode::value.

1353 {
1354  assert( cfile );
1355  if ( cdata )
1356  {
1357  int i;
1358  fprintf( cfile, "\n" );
1359  for ( i=0; i<depth; i++ ) {
1360  fprintf( cfile, " " );
1361  }
1362  fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
1363  }
1364  else
1365  {
1366  TIXML_STRING buffer;
1367  EncodeString( value, &buffer );
1368  fprintf( cfile, "%s", buffer.c_str() );
1369  }
1370 }
int i
Definition: DBlmapReader.cc:9
static void EncodeString(const std::string &str, std::string *out)
Definition: tinyxml.cc:59
std::string value
Definition: tinyxml.h:765
bool cdata
Definition: tinyxml.h:1263
#define TIXML_STRING
Definition: tinyxml.h:57
void TiXmlText::SetCDATA ( bool  _cdata)
inline

Turns on or off a CDATA representation of text.

Definition at line 1240 of file tinyxml.h.

References cdata.

Referenced by TiXmlNode::Identify().

1240 { cdata = _cdata; }
bool cdata
Definition: tinyxml.h:1263
void TiXmlText::StreamIn ( std::istream *  in,
std::string *  tag 
)
protectedvirtual

Implements TiXmlNode.

Definition at line 1481 of file tinyxmlparser.cc.

References trackerHits::c, cdata, hitfit::char, TiXmlNode::GetDocument(), TiXmlDocument::SetError(), TIXML_ENCODING_UNKNOWN, and TiXmlBase::TIXML_ERROR_EMBEDDED_NULL.

Referenced by TiXmlElement::StreamIn().

1482 {
1483  while ( in->good() )
1484  {
1485  int c = in->peek();
1486  if ( !cdata && (c == '<' ) )
1487  {
1488  return;
1489  }
1490  if ( c <= 0 )
1491  {
1492  TiXmlDocument* document = GetDocument();
1493  if ( document )
1495  return;
1496  }
1497 
1498  (*tag) += (char) c;
1499  in->get(); // "commits" the peek made above
1500 
1501  if ( cdata && c == '>' && tag->size() >= 3 ) {
1502  size_t len = tag->size();
1503  if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' ) {
1504  // terminator of cdata.
1505  return;
1506  }
1507  }
1508  }
1509 }
bool cdata
Definition: tinyxml.h:1263
const TiXmlDocument * GetDocument() const
Definition: tinyxml.cc:499
void SetError(int err, const char *errorLocation, TiXmlParsingData *prevData, TiXmlEncoding encoding)
virtual const TiXmlText* TiXmlText::ToText ( ) const
inlinevirtual

Cast to a more defined type. Will return null not of the requested type.

Reimplemented from TiXmlNode.

Definition at line 1244 of file tinyxml.h.

virtual TiXmlText* TiXmlText::ToText ( )
inlinevirtual

Cast to a more defined type. Will return null not of the requested type.

Reimplemented from TiXmlNode.

Definition at line 1245 of file tinyxml.h.

Friends And Related Function Documentation

friend class TiXmlElement
friend

Definition at line 1209 of file tinyxml.h.

Member Data Documentation

bool TiXmlText::cdata
private

Definition at line 1263 of file tinyxml.h.

Referenced by CDATA(), CopyTo(), Parse(), Print(), SetCDATA(), StreamIn(), and TiXmlText().