|
osgEarth 2.1.1
|
#include <tinyxml.h>
Inheritance diagram for TiXmlDeclaration:
Collaboration diagram for TiXmlDeclaration:Public Member Functions | |
| TiXmlDeclaration () | |
| Construct an empty declaration. | |
| TiXmlDeclaration (const char *_version, const char *_encoding, const char *_standalone) | |
| Construct. | |
| TiXmlDeclaration (const TiXmlDeclaration ©) | |
| void | operator= (const TiXmlDeclaration ©) |
| virtual | ~TiXmlDeclaration () |
| const char * | Version () const |
| Version. Will return an empty string if none was found. | |
| const char * | Encoding () const |
| Encoding. Will return an empty string if none was found. | |
| const char * | Standalone () const |
| Is this a standalone document? | |
| virtual TiXmlNode * | Clone () const |
| Creates a copy of this Declaration and returns it. | |
| virtual void | Print (FILE *cfile, int depth, TIXML_STRING *str) const |
| virtual void | Print (FILE *cfile, int depth) const |
| virtual const char * | Parse (const char *p, TiXmlParsingData *data, TiXmlEncoding encoding) |
| virtual const TiXmlDeclaration * | ToDeclaration () const |
| Cast to a more defined type. Will return null not of the requested type. | |
| virtual TiXmlDeclaration * | ToDeclaration () |
| Cast to a more defined type. Will return null not of the requested type. | |
| virtual bool | Accept (TiXmlVisitor *visitor) const |
Protected Member Functions | |
| void | CopyTo (TiXmlDeclaration *target) const |
Private Attributes | |
| TIXML_STRING | version |
| TIXML_STRING | encoding |
| TIXML_STRING | standalone |
In correct XML the declaration is the first entry in the file.
<?xml version="1.0" standalone="yes"?>
TinyXml will happily read or write files without a declaration, however. There are 3 possible attributes to the declaration: version, encoding, and standalone.
Note: In this version of the code, the attributes are handled as special cases, not generic attributes, simply because there can only be at most 3 and they are always the same.
| TiXmlDeclaration::TiXmlDeclaration | ( | ) | [inline] |
| TiXmlDeclaration::TiXmlDeclaration | ( | const char * | _version, |
| const char * | _encoding, | ||
| const char * | _standalone | ||
| ) |
Construct.
Definition at line 1333 of file tinyxml.cpp.
: TiXmlNode( TiXmlNode::TINYXML_DECLARATION ) { version = _version; encoding = _encoding; standalone = _standalone; }
| TiXmlDeclaration::TiXmlDeclaration | ( | const TiXmlDeclaration & | copy | ) |
Definition at line 1357 of file tinyxml.cpp.
: TiXmlNode( TiXmlNode::TINYXML_DECLARATION ) { copy.CopyTo( this ); }
Here is the call graph for this function:| virtual TiXmlDeclaration::~TiXmlDeclaration | ( | ) | [inline, virtual] |
| bool TiXmlDeclaration::Accept | ( | TiXmlVisitor * | visitor | ) | const [virtual] |
Walk the XML tree visiting this node and all of its children.
Implements TiXmlNode.
Definition at line 1403 of file tinyxml.cpp.
{
return visitor->Visit( *this );
}
Here is the call graph for this function:| TiXmlNode * TiXmlDeclaration::Clone | ( | ) | const [virtual] |
Creates a copy of this Declaration and returns it.
Implements TiXmlNode.
Definition at line 1409 of file tinyxml.cpp.
{
TiXmlDeclaration* clone = new TiXmlDeclaration();
if ( !clone )
return 0;
CopyTo( clone );
return clone;
}
Here is the call graph for this function:| void TiXmlDeclaration::CopyTo | ( | TiXmlDeclaration * | target | ) | const [protected] |
Definition at line 1393 of file tinyxml.cpp.
{
TiXmlNode::CopyTo( target );
target->version = version;
target->encoding = encoding;
target->standalone = standalone;
}
Here is the caller graph for this function:| const char* TiXmlDeclaration::Encoding | ( | ) | const [inline] |
| void TiXmlDeclaration::operator= | ( | const TiXmlDeclaration & | copy | ) |
| const char * TiXmlDeclaration::Parse | ( | const char * | p, |
| TiXmlParsingData * | data, | ||
| TiXmlEncoding | encoding | ||
| ) | [virtual] |
Implements TiXmlBase.
Definition at line 1569 of file tinyxmlparser.cpp.
{
p = SkipWhiteSpace( p, _encoding );
// Find the beginning, find the end, and look for
// the stuff in-between.
TiXmlDocument* document = GetDocument();
if ( !p || !*p || !StringEqual( p, "<?xml", true, _encoding ) )
{
if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION, 0, 0, _encoding );
return 0;
}
if ( data )
{
data->Stamp( p, _encoding );
location = data->Cursor();
}
p += 5;
version = "";
encoding = "";
standalone = "";
while ( p && *p )
{
if ( *p == '>' )
{
++p;
return p;
}
p = SkipWhiteSpace( p, _encoding );
if ( StringEqual( p, "version", true, _encoding ) )
{
TiXmlAttribute attrib;
p = attrib.Parse( p, data, _encoding );
version = attrib.Value();
}
else if ( StringEqual( p, "encoding", true, _encoding ) )
{
TiXmlAttribute attrib;
p = attrib.Parse( p, data, _encoding );
encoding = attrib.Value();
}
else if ( StringEqual( p, "standalone", true, _encoding ) )
{
TiXmlAttribute attrib;
p = attrib.Parse( p, data, _encoding );
standalone = attrib.Value();
}
else
{
// Read over whatever it is.
while( p && *p && *p != '>' && !IsWhiteSpace( *p ) )
++p;
}
}
return 0;
}
Here is the call graph for this function:| void TiXmlDeclaration::Print | ( | FILE * | cfile, |
| int | depth, | ||
| TIXML_STRING * | str | ||
| ) | const [virtual] |
Definition at line 1371 of file tinyxml.cpp.
{
if ( cfile ) fprintf( cfile, "<?xml " );
if ( str ) (*str) += "<?xml ";
if ( !version.empty() ) {
if ( cfile ) fprintf (cfile, "version=\"%s\" ", version.c_str ());
if ( str ) { (*str) += "version=\""; (*str) += version; (*str) += "\" "; }
}
if ( !encoding.empty() ) {
if ( cfile ) fprintf (cfile, "encoding=\"%s\" ", encoding.c_str ());
if ( str ) { (*str) += "encoding=\""; (*str) += encoding; (*str) += "\" "; }
}
if ( !standalone.empty() ) {
if ( cfile ) fprintf (cfile, "standalone=\"%s\" ", standalone.c_str ());
if ( str ) { (*str) += "standalone=\""; (*str) += standalone; (*str) += "\" "; }
}
if ( cfile ) fprintf( cfile, "?>" );
if ( str ) (*str) += "?>";
}
Here is the caller graph for this function:| virtual void TiXmlDeclaration::Print | ( | FILE * | cfile, |
| int | depth | ||
| ) | const [inline, 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 1312 of file tinyxml.h.
{
Print( cfile, depth, 0 );
}
Here is the call graph for this function:| const char* TiXmlDeclaration::Standalone | ( | ) | const [inline] |
Is this a standalone document?
Definition at line 1306 of file tinyxml.h.
{ return standalone.c_str (); }
| virtual TiXmlDeclaration* TiXmlDeclaration::ToDeclaration | ( | ) | [inline, virtual] |
| virtual const TiXmlDeclaration* TiXmlDeclaration::ToDeclaration | ( | ) | const [inline, virtual] |
| const char* TiXmlDeclaration::Version | ( | ) | const [inline] |
TIXML_STRING TiXmlDeclaration::encoding [private] |
TIXML_STRING TiXmlDeclaration::standalone [private] |
TIXML_STRING TiXmlDeclaration::version [private] |
1.7.3