FEDRA emulsion software from the OPERA Collaboration
TiXmlText Class Reference

#include <tinyxml.h>

Inheritance diagram for TiXmlText:
Collaboration diagram for TiXmlText:

Public Member Functions

virtual bool Accept (TiXmlVisitor *content) const
 
bool CDATA () const
 Queries whether this represents text using a CDATA section. More...
 
TiXmlText & 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 TiXmlText &copy)
 
virtual TiXmlText * ToText ()
 Cast to a more defined type. Will return null not of the requested type. More...
 
virtual const TiXmlText * ToText () const
 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...
 
TiXmlNode * FirstChild ()
 
const TiXmlNode * FirstChild () const
 The first child of this node. Will be null if there are no children. More...
 
TiXmlNode * FirstChild (const char *_value)
 The first child of this node with the matching 'value'. Will be null if none found. More...
 
const TiXmlNode * FirstChild (const char *value) const
 
TiXmlElement * FirstChildElement ()
 
const TiXmlElement * FirstChildElement () const
 Convenience function to get through elements. More...
 
TiXmlElement * FirstChildElement (const char *_value)
 
const TiXmlElement * FirstChildElement (const char *_value) const
 Convenience function to get through elements. More...
 
TiXmlDocument * GetDocument ()
 
const TiXmlDocument * GetDocument () const
 
TiXmlNode * InsertAfterChild (TiXmlNode *afterThis, const TiXmlNode &addThis)
 
TiXmlNode * InsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode &addThis)
 
TiXmlNode * InsertEndChild (const TiXmlNode &addThis)
 
TiXmlNode * IterateChildren (const char *_value, const TiXmlNode *previous)
 
const TiXmlNode * IterateChildren (const char *value, const TiXmlNode *previous) const
 This flavor of IterateChildren searches for children with a particular 'value'. More...
 
TiXmlNode * IterateChildren (const TiXmlNode *previous)
 
const TiXmlNode * IterateChildren (const TiXmlNode *previous) const
 
TiXmlNode * LastChild ()
 The last child of this node. Will be null if there are no children. More...
 
const TiXmlNode * LastChild () const
 
TiXmlNode * LastChild (const char *_value)
 The last child of this node matching 'value'. Will be null if there are no children. More...
 
const TiXmlNode * LastChild (const char *value) const
 
TiXmlNode * LinkEndChild (TiXmlNode *addThis)
 
TiXmlNode * NextSibling ()
 
const TiXmlNode * NextSibling () const
 Navigate to a sibling node. More...
 
const TiXmlNode * NextSibling (const char *) const
 Navigate to a sibling node with the given 'value'. More...
 
TiXmlNode * NextSibling (const char *_next)
 
TiXmlElement * NextSiblingElement ()
 
const TiXmlElement * NextSiblingElement () const
 
const TiXmlElement * NextSiblingElement (const char *) const
 
TiXmlElement * NextSiblingElement (const char *_next)
 
bool NoChildren () const
 Returns true if this node has no children. More...
 
TiXmlNode * Parent ()
 One step up the DOM. More...
 
const TiXmlNode * Parent () const
 
TiXmlNode * PreviousSibling ()
 
const TiXmlNode * PreviousSibling () const
 Navigate to a sibling node. More...
 
const TiXmlNode * PreviousSibling (const char *) const
 Navigate to a sibling node. More...
 
TiXmlNode * PreviousSibling (const char *_prev)
 
bool RemoveChild (TiXmlNode *removeThis)
 Delete a child of this node. More...
 
TiXmlNode * ReplaceChild (TiXmlNode *replaceThis, const TiXmlNode &withThis)
 
void SetValue (const char *_value)
 
virtual TiXmlComment * ToComment ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlComment * ToComment () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlDeclaration * ToDeclaration ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlDeclaration * ToDeclaration () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlDocument * ToDocument ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlDocument * ToDocument () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlElement * ToElement ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlElement * ToElement () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual TiXmlUnknown * ToUnknown ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlUnknown * ToUnknown () const
 Cast to a more defined type. Will return null if not of the requested type. More...
 
int Type () const
 
const char * Value () const
 
const TIXML_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 TiXmlNode * Clone () const
 [internal use] Creates a new Element and returns it. More...
 
void CopyTo (TiXmlText *target) const
 
- Protected Member Functions inherited from TiXmlNode
void CopyTo (TiXmlNode *target) const
 
TiXmlNode * Identify (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 {
  TINYXML_DOCUMENT , TINYXML_ELEMENT , TINYXML_COMMENT , TINYXML_UNKNOWN ,
  TINYXML_TEXT , TINYXML_DECLARATION , TINYXML_TYPECOUNT
}
 
- Public Types inherited from TiXmlBase
enum  {
  TIXML_NO_ERROR = 0 , TIXML_ERROR , TIXML_ERROR_OPENING_FILE , 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 StringEqual (const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
 
static int ToLower (int v, TiXmlEncoding encoding)
 
- Protected Attributes inherited from TiXmlNode
TiXmlNode * firstChild
 
TiXmlNode * lastChild
 
TiXmlNode * next
 
TiXmlNode * parent
 
TiXmlNode * prev
 
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().

Constructor & Destructor Documentation

◆ TiXmlText() [1/2]

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'

1221  {
1222  SetValue( initValue );
1223  cdata = false;
1224  }
friend class TiXmlNode
Definition: tinyxml.h:196
void SetValue(const char *_value)
Definition: tinyxml.h:508
@ TINYXML_TEXT
Definition: tinyxml.h:468
bool cdata
Definition: tinyxml.h:1268

◆ ~TiXmlText()

virtual TiXmlText::~TiXmlText ( )
inlinevirtual
1225 {}

◆ TiXmlText() [2/2]

TiXmlText::TiXmlText ( const TiXmlText &  copy)
inline
1236 : TiXmlNode( TiXmlNode::TINYXML_TEXT ) { copy.CopyTo( this ); }
void CopyTo(TiXmlText *target) const
Definition: tinyxml.cpp:1353

Member Function Documentation

◆ Accept()

bool TiXmlText::Accept ( TiXmlVisitor *  content) const
virtual

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

Implements TiXmlNode.

1361 {
1362  return visitor->Visit( *this );
1363 }

◆ Blank()

bool TiXmlText::Blank ( ) const
protected
1632 {
1633  for ( unsigned i=0; i<value.length(); i++ )
1634  if ( !IsWhiteSpace( value[i] ) )
1635  return false;
1636  return true;
1637 }
static bool IsWhiteSpace(char c)
Definition: tinyxml.h:290
TIXML_STRING value
Definition: tinyxml.h:761

◆ CDATA()

bool TiXmlText::CDATA ( ) const
inline

Queries whether this represents text using a CDATA section.

1243 { return cdata; }

◆ Clone()

TiXmlNode * TiXmlText::Clone ( ) const
protectedvirtual

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

Implements TiXmlNode.

1367 {
1368  TiXmlText* clone = 0;
1369  clone = new TiXmlText( "" );
1370 
1371  if ( !clone )
1372  return 0;
1373 
1374  CopyTo( clone );
1375  return clone;
1376 }
Definition: tinyxml.h:1213
TiXmlText(const char *initValue)
Definition: tinyxml.h:1220

◆ CopyTo()

void TiXmlText::CopyTo ( TiXmlText *  target) const
protected
1354 {
1355  TiXmlNode::CopyTo( target );
1356  target->cdata = cdata;
1357 }
void CopyTo(TiXmlNode *target) const
Definition: tinyxml.cpp:161

◆ operator=()

TiXmlText& TiXmlText::operator= ( const TiXmlText &  base)
inline
1237 { base.CopyTo( this ); return *this; }

◆ Parse()

const char * TiXmlText::Parse ( const char *  p,
TiXmlParsingData *  data,
TiXmlEncoding  encoding 
)
virtual

Implements TiXmlBase.

1498 {
1499  value = "";
1500  TiXmlDocument* document = GetDocument();
1501 
1502  if ( data )
1503  {
1504  data->Stamp( p, encoding );
1505  location = data->Cursor();
1506  }
1507 
1508  const char* const startTag = "<![CDATA[";
1509  const char* const endTag = "]]>";
1510 
1511  if ( cdata || StringEqual( p, startTag, false, encoding ) )
1512  {
1513  cdata = true;
1514 
1515  if ( !StringEqual( p, startTag, false, encoding ) )
1516  {
1517  if ( document )
1518  document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
1519  return 0;
1520  }
1521  p += strlen( startTag );
1522 
1523  // Keep all the white space, ignore the encoding, etc.
1524  while ( p && *p
1525  && !StringEqual( p, endTag, false, encoding )
1526  )
1527  {
1528  value += *p;
1529  ++p;
1530  }
1531 
1533  p = ReadText( p, &dummy, false, endTag, false, encoding );
1534  return p;
1535  }
1536  else
1537  {
1538  bool ignoreWhite = true;
1539 
1540  const char* end = "<";
1541  p = ReadText( p, &value, ignoreWhite, end, false, encoding );
1542  if ( p && *p )
1543  return p-1; // don't truncate the '<'
1544  return 0;
1545  }
1546 }
TiXmlCursor location
Definition: tinyxml.h:373
static bool StringEqual(const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
Definition: tinyxmlparser.cpp:534
@ TIXML_ERROR_PARSING_CDATA
Definition: tinyxml.h:280
static const char * ReadText(const char *in, TIXML_STRING *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
Definition: tinyxmlparser.cpp:574
Definition: tinyxml.h:1394
void SetError(int err, const char *errorLocation, TiXmlParsingData *prevData, TiXmlEncoding encoding)
Definition: tinyxmlparser.cpp:798
const TiXmlDocument * GetDocument() const
Definition: tinyxml.cpp:512
const TiXmlCursor & Cursor() const
Definition: tinyxmlparser.cpp:177
void Stamp(const char *now, TiXmlEncoding encoding)
Definition: tinyxmlparser.cpp:196
Int_t dummy
Definition: merge_Energy_SytematicSources_Electron.C:7
p
Definition: testBGReduction_AllMethods.C:8
#define TIXML_STRING
Definition: tinyxml.h:53

◆ Print()

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.

1333 {
1334  assert( cfile );
1335  if ( cdata )
1336  {
1337  int i;
1338  fprintf( cfile, "\n" );
1339  for ( i=0; i<depth; i++ ) {
1340  fprintf( cfile, " " );
1341  }
1342  fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
1343  }
1344  else
1345  {
1346  TIXML_STRING buffer;
1347  EncodeString( value, &buffer );
1348  fprintf( cfile, "%s", buffer.c_str() );
1349  }
1350 }
static void EncodeString(const TIXML_STRING &str, TIXML_STRING *out)
Definition: tinyxml.cpp:52

◆ SetCDATA()

void TiXmlText::SetCDATA ( bool  _cdata)
inline

Turns on or off a CDATA representation of text.

1245 { cdata = _cdata; }

◆ ToText() [1/2]

virtual TiXmlText* TiXmlText::ToText ( )
inlinevirtual

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

Reimplemented from TiXmlNode.

◆ ToText() [2/2]

virtual const TiXmlText* TiXmlText::ToText ( ) const
inlinevirtual

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

Reimplemented from TiXmlNode.

Friends And Related Function Documentation

◆ TiXmlElement

friend class TiXmlElement
friend

Member Data Documentation

◆ cdata

bool TiXmlText::cdata
private

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