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...
 
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 TiXmlText &copy)
 
virtual TiXmlTextToText ()
 Cast to a more defined type. Will return null not of the requested type. More...
 
virtual const TiXmlTextToText () 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...
 
TiXmlNodeFirstChild ()
 
const TiXmlNodeFirstChild () const
 The first child of this node. Will be null if there are no children. More...
 
TiXmlNodeFirstChild (const char *_value)
 The first child of this node with the matching 'value'. Will be null if none found. More...
 
const TiXmlNodeFirstChild (const char *value) const
 
TiXmlElementFirstChildElement ()
 
const TiXmlElementFirstChildElement () const
 Convenience function to get through elements. More...
 
TiXmlElementFirstChildElement (const char *_value)
 
const TiXmlElementFirstChildElement (const char *_value) const
 Convenience function to get through elements. More...
 
TiXmlDocumentGetDocument ()
 
const TiXmlDocumentGetDocument () const
 
TiXmlNodeInsertAfterChild (TiXmlNode *afterThis, const TiXmlNode &addThis)
 
TiXmlNodeInsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode &addThis)
 
TiXmlNodeInsertEndChild (const TiXmlNode &addThis)
 
TiXmlNodeIterateChildren (const char *_value, 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 TiXmlNode *previous)
 
const TiXmlNodeIterateChildren (const TiXmlNode *previous) const
 
TiXmlNodeLastChild ()
 The last child of this node. Will be null if there are no children. More...
 
const TiXmlNodeLastChild () 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 char *value) const
 
TiXmlNodeLinkEndChild (TiXmlNode *addThis)
 
TiXmlNodeNextSibling ()
 
const TiXmlNodeNextSibling () const
 Navigate to a sibling node. More...
 
const TiXmlNodeNextSibling (const char *) const
 Navigate to a sibling node with the given 'value'. More...
 
TiXmlNodeNextSibling (const char *_next)
 
TiXmlElementNextSiblingElement ()
 
const TiXmlElementNextSiblingElement () const
 
const TiXmlElementNextSiblingElement (const char *) const
 
TiXmlElementNextSiblingElement (const char *_next)
 
bool NoChildren () const
 Returns true if this node has no children. More...
 
TiXmlNodeParent ()
 One step up the DOM. More...
 
const TiXmlNodeParent () const
 
TiXmlNodePreviousSibling ()
 
const TiXmlNodePreviousSibling () const
 Navigate to a sibling node. More...
 
const TiXmlNodePreviousSibling (const char *) const
 Navigate to a sibling node. More...
 
TiXmlNodePreviousSibling (const char *_prev)
 
bool RemoveChild (TiXmlNode *removeThis)
 Delete a child of this node. More...
 
TiXmlNodeReplaceChild (TiXmlNode *replaceThis, const TiXmlNode &withThis)
 
void SetValue (const char *_value)
 
virtual TiXmlCommentToComment ()
 Cast to a more defined type. Will return null if not of the requested type. More...
 
virtual const TiXmlCommentToComment () 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 TiXmlDeclarationToDeclaration () 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 TiXmlDocumentToDocument () 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 TiXmlElementToElement () 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...
 
virtual const TiXmlUnknownToUnknown () 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_STRINGValueTStr () const
 
virtual ~TiXmlNode ()
 
- Public Member Functions inherited from TiXmlBase
int Column () const
 See Row() More...
 
voidGetUserData ()
 Get a pointer to arbitrary user data. More...
 
const voidGetUserData () 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
 
- 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 {
  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
TiXmlNodefirstChild
 
TiXmlNodelastChild
 
TiXmlNodenext
 
TiXmlNodeparent
 
TiXmlNodeprev
 
NodeType type
 
TIXML_STRING value
 
- Protected Attributes inherited from TiXmlBase
TiXmlCursor location
 
voiduserData
 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: