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...
 
void operator= (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 TIXML_STRINGValueTStr () 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, TIXML_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 TIXML_STRING &str, TIXML_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, TIXML_STRING *name, TiXmlEncoding encoding)
 
static const char * ReadText (const char *in, TIXML_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, TIXML_STRING *tag)
 
static bool StreamWhiteSpace (std::istream *in, TIXML_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
 
TIXML_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 1205 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 1213 of file tinyxml.h.

References cdata, and TiXmlNode::SetValue().

Referenced by Clone().

1214  {
1215  SetValue( initValue );
1216  cdata = false;
1217  }
void SetValue(const char *_value)
Definition: tinyxml.h:510
bool cdata
Definition: tinyxml.h:1261
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:137
virtual TiXmlText::~TiXmlText ( )
inlinevirtual

Definition at line 1218 of file tinyxml.h.

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

Constructor.

Definition at line 1222 of file tinyxml.h.

1223  {
1224  SetValue( initValue );
1225  cdata = false;
1226  }
void SetValue(const char *_value)
Definition: tinyxml.h:510
bool cdata
Definition: tinyxml.h:1261
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:137
TiXmlText::TiXmlText ( const TiXmlText copy)
inline

Definition at line 1229 of file tinyxml.h.

References CopyTo().

1229 : TiXmlNode( TiXmlNode::TEXT ) { copy.CopyTo( this ); }
TiXmlNode(NodeType _type)
Definition: tinyxml.cc:137
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cc:1358

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 1365 of file tinyxml.cc.

References TiXmlVisitor::Visit().

1366 {
1367  return visitor->Visit( *this );
1368 }
bool TiXmlText::Blank ( ) const
protected

Definition at line 1636 of file tinyxmlparser.cc.

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

Referenced by TiXmlElement::ReadValue().

1637 {
1638  for ( unsigned i=0; i<value.length(); i++ )
1639  if ( !IsWhiteSpace( value[i] ) )
1640  return false;
1641  return true;
1642 }
int i
Definition: DBlmapReader.cc:9
static bool IsWhiteSpace(char c)
Definition: tinyxml.h:292
TIXML_STRING value
Definition: tinyxml.h:763
bool TiXmlText::CDATA ( ) const
inline

Queries whether this represents text using a CDATA section.

Definition at line 1236 of file tinyxml.h.

References cdata.

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

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

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

Implements TiXmlNode.

Definition at line 1371 of file tinyxml.cc.

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

1372 {
1373  TiXmlText* clone = 0;
1374  clone = new TiXmlText( "" );
1375 
1376  if ( !clone )
1377  return 0;
1378 
1379  CopyTo( clone );
1380  return clone;
1381 }
T * clone(const T *tp)
Definition: Ptr.h:42
TiXmlText(const char *initValue)
Definition: tinyxml.h:1213
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cc:1358
void TiXmlText::CopyTo ( TiXmlText target) const
protected

Definition at line 1358 of file tinyxml.cc.

References cdata, and TiXmlNode::CopyTo().

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

1359 {
1360  TiXmlNode::CopyTo( target );
1361  target->cdata = cdata;
1362 }
bool cdata
Definition: tinyxml.h:1261
void CopyTo(TiXmlNode *target) const
Definition: tinyxml.cc:162
void TiXmlText::operator= ( const TiXmlText base)
inline

Definition at line 1230 of file tinyxml.h.

References CopyTo().

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

Implements TiXmlBase.

Definition at line 1503 of file tinyxmlparser.cc.

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

Referenced by TiXmlElement::ReadValue().

1504 {
1505  value = "";
1506  TiXmlDocument* document = GetDocument();
1507 
1508  if ( data )
1509  {
1510  data->Stamp( p, encoding );
1511  location = data->Cursor();
1512  }
1513 
1514  const char* const startTag = "<![CDATA[";
1515  const char* const endTag = "]]>";
1516 
1517  if ( cdata || StringEqual( p, startTag, false, encoding ) )
1518  {
1519  cdata = true;
1520 
1521  if ( !StringEqual( p, startTag, false, encoding ) )
1522  {
1523  document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
1524  return 0;
1525  }
1526  p += strlen( startTag );
1527 
1528  // Keep all the white space, ignore the encoding, etc.
1529  while ( p && *p
1530  && !StringEqual( p, endTag, false, encoding )
1531  )
1532  {
1533  value += *p;
1534  ++p;
1535  }
1536 
1537  TIXML_STRING dummy;
1538  p = ReadText( p, &dummy, false, endTag, false, encoding );
1539  return p;
1540  }
1541  else
1542  {
1543  bool ignoreWhite = true;
1544 
1545  const char* end = "<";
1546  p = ReadText( p, &value, ignoreWhite, end, false, encoding );
1547  if ( p )
1548  return p-1; // don't truncate the '<'
1549  return 0;
1550  }
1551 }
const TiXmlCursor & Cursor()
bool cdata
Definition: tinyxml.h:1261
static const char * ReadText(const char *in, TIXML_STRING *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
TiXmlCursor location
Definition: tinyxml.h:375
#define end
Definition: vmac.h:38
const TiXmlDocument * GetDocument() const
Definition: tinyxml.cc:493
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)
TIXML_STRING value
Definition: tinyxml.h:763
#define TIXML_STRING
Definition: tinyxml.h:51
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 1337 of file tinyxml.cc.

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

1338 {
1339  assert( cfile );
1340  if ( cdata )
1341  {
1342  int i;
1343  fprintf( cfile, "\n" );
1344  for ( i=0; i<depth; i++ ) {
1345  fprintf( cfile, " " );
1346  }
1347  fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
1348  }
1349  else
1350  {
1351  TIXML_STRING buffer;
1352  EncodeString( value, &buffer );
1353  fprintf( cfile, "%s", buffer.c_str() );
1354  }
1355 }
int i
Definition: DBlmapReader.cc:9
bool cdata
Definition: tinyxml.h:1261
static void EncodeString(const TIXML_STRING &str, TIXML_STRING *out)
Definition: tinyxml.cc:53
TIXML_STRING value
Definition: tinyxml.h:763
#define TIXML_STRING
Definition: tinyxml.h:51
void TiXmlText::SetCDATA ( bool  _cdata)
inline

Turns on or off a CDATA representation of text.

Definition at line 1238 of file tinyxml.h.

References cdata.

Referenced by TiXmlNode::Identify().

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

Implements TiXmlNode.

Definition at line 1472 of file tinyxmlparser.cc.

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

Referenced by TiXmlElement::StreamIn().

1473 {
1474  while ( in->good() )
1475  {
1476  int c = in->peek();
1477  if ( !cdata && (c == '<' ) )
1478  {
1479  return;
1480  }
1481  if ( c <= 0 )
1482  {
1483  TiXmlDocument* document = GetDocument();
1484  if ( document )
1486  return;
1487  }
1488 
1489  (*tag) += (char) c;
1490  in->get(); // "commits" the peek made above
1491 
1492  if ( cdata && c == '>' && tag->size() >= 3 ) {
1493  size_t len = tag->size();
1494  if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' ) {
1495  // terminator of cdata.
1496  return;
1497  }
1498  }
1499  }
1500 }
bool cdata
Definition: tinyxml.h:1261
const TiXmlDocument * GetDocument() const
Definition: tinyxml.cc:493
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 1242 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 1243 of file tinyxml.h.

Friends And Related Function Documentation

friend class TiXmlElement
friend

Definition at line 1207 of file tinyxml.h.

Member Data Documentation

bool TiXmlText::cdata
private

Definition at line 1261 of file tinyxml.h.

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