type XMLError. fix some comments

This commit is contained in:
Lee Thomason 2012-11-09 12:37:46 -08:00
parent 67abded7f7
commit 2fa8172236
3 changed files with 67 additions and 58 deletions

View File

@ -1072,7 +1072,7 @@ void XMLAttribute::SetName( const char* n )
}
int XMLAttribute::QueryIntValue( int* value ) const
XMLError XMLAttribute::QueryIntValue( int* value ) const
{
if ( XMLUtil::ToInt( Value(), value )) {
return XML_NO_ERROR;
@ -1081,7 +1081,7 @@ int XMLAttribute::QueryIntValue( int* value ) const
}
int XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
{
if ( XMLUtil::ToUnsigned( Value(), value )) {
return XML_NO_ERROR;
@ -1090,7 +1090,7 @@ int XMLAttribute::QueryUnsignedValue( unsigned int* value ) const
}
int XMLAttribute::QueryBoolValue( bool* value ) const
XMLError XMLAttribute::QueryBoolValue( bool* value ) const
{
if ( XMLUtil::ToBool( Value(), value )) {
return XML_NO_ERROR;
@ -1099,7 +1099,7 @@ int XMLAttribute::QueryBoolValue( bool* value ) const
}
int XMLAttribute::QueryFloatValue( float* value ) const
XMLError XMLAttribute::QueryFloatValue( float* value ) const
{
if ( XMLUtil::ToFloat( Value(), value )) {
return XML_NO_ERROR;
@ -1108,7 +1108,7 @@ int XMLAttribute::QueryFloatValue( float* value ) const
}
int XMLAttribute::QueryDoubleValue( double* value ) const
XMLError XMLAttribute::QueryDoubleValue( double* value ) const
{
if ( XMLUtil::ToDouble( Value(), value )) {
return XML_NO_ERROR;
@ -1225,7 +1225,7 @@ const char* XMLElement::GetText() const
}
int XMLElement::QueryIntText( int* _value ) const
XMLError XMLElement::QueryIntText( int* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@ -1238,7 +1238,7 @@ int XMLElement::QueryIntText( int* _value ) const
}
int XMLElement::QueryUnsignedText( unsigned* _value ) const
XMLError XMLElement::QueryUnsignedText( unsigned* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@ -1251,7 +1251,7 @@ int XMLElement::QueryUnsignedText( unsigned* _value ) const
}
int XMLElement::QueryBoolText( bool* _value ) const
XMLError XMLElement::QueryBoolText( bool* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@ -1264,7 +1264,7 @@ int XMLElement::QueryBoolText( bool* _value ) const
}
int XMLElement::QueryDoubleText( double* _value ) const
XMLError XMLElement::QueryDoubleText( double* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@ -1277,7 +1277,7 @@ int XMLElement::QueryDoubleText( double* _value ) const
}
int XMLElement::QueryFloatText( float* _value ) const
XMLError XMLElement::QueryFloatText( float* _value ) const
{
if ( FirstChild() && FirstChild()->ToText() ) {
const char* t = FirstChild()->ToText()->Value();
@ -1484,7 +1484,7 @@ XMLDocument::XMLDocument( bool processEntities, Whitespace whitespace ) :
XMLNode( 0 ),
_writeBOM( false ),
_processEntities( processEntities ),
_errorID( 0 ),
_errorID( XML_NO_ERROR ),
_whitespace( whitespace ),
_errorStr1( 0 ),
_errorStr2( 0 ),
@ -1569,7 +1569,7 @@ XMLUnknown* XMLDocument::NewUnknown( const char* str )
}
int XMLDocument::LoadFile( const char* filename )
XMLError XMLDocument::LoadFile( const char* filename )
{
DeleteChildren();
InitDocument();
@ -1591,7 +1591,7 @@ int XMLDocument::LoadFile( const char* filename )
}
int XMLDocument::LoadFile( FILE* fp )
XMLError XMLDocument::LoadFile( FILE* fp )
{
DeleteChildren();
InitDocument();
@ -1626,7 +1626,7 @@ int XMLDocument::LoadFile( FILE* fp )
}
int XMLDocument::SaveFile( const char* filename, bool compact )
XMLError XMLDocument::SaveFile( const char* filename, bool compact )
{
FILE* fp = 0;
#if defined(_MSC_VER) && (_MSC_VER >= 1400 )
@ -1645,7 +1645,7 @@ int XMLDocument::SaveFile( const char* filename, bool compact )
}
int XMLDocument::SaveFile( FILE* fp, bool compact )
XMLError XMLDocument::SaveFile( FILE* fp, bool compact )
{
XMLPrinter stream( fp, compact );
Print( &stream );
@ -1653,7 +1653,7 @@ int XMLDocument::SaveFile( FILE* fp, bool compact )
}
int XMLDocument::Parse( const char* p, size_t len )
XMLError XMLDocument::Parse( const char* p, size_t len )
{
DeleteChildren();
InitDocument();
@ -1691,7 +1691,7 @@ void XMLDocument::Print( XMLPrinter* streamer )
}
void XMLDocument::SetError( int error, const char* str1, const char* str2 )
void XMLDocument::SetError( XMLError error, const char* str1, const char* str2 )
{
_errorID = error;
_errorStr1 = str1;

View File

@ -541,23 +541,29 @@ public:
return _document;
}
/// Safely cast to an Element, or null.
virtual XMLElement* ToElement() {
return 0; ///< Safely cast to an Element, or null.
return 0;
}
/// Safely cast to Text, or null.
virtual XMLText* ToText() {
return 0; ///< Safely cast to Text, or null.
return 0;
}
/// Safely cast to a Comment, or null.
virtual XMLComment* ToComment() {
return 0; ///< Safely cast to a Comment, or null.
return 0;
}
/// Safely cast to a Document, or null.
virtual XMLDocument* ToDocument() {
return 0; ///< Safely cast to a Document, or null.
return 0;
}
/// Safely cast to a Declaration, or null.
virtual XMLDeclaration* ToDeclaration() {
return 0; ///< Safely cast to a Declaration, or null.
return 0;
}
/// Safely cast to an Unknown, or null.
virtual XMLUnknown* ToUnknown() {
return 0; ///< Safely cast to an Unknown, or null.
return 0;
}
virtual const XMLElement* ToElement() const {
@ -920,7 +926,7 @@ protected:
};
enum {
enum XMLError {
XML_NO_ERROR = 0,
XML_SUCCESS = 0,
@ -958,14 +964,17 @@ class XMLAttribute
{
friend class XMLElement;
public:
/// The name of the attribute.
const char* Name() const {
return _name.GetStr(); ///< The name of the attribute.
return _name.GetStr();
}
/// The value of the attribute.
const char* Value() const {
return _value.GetStr(); ///< The value of the attribute.
return _value.GetStr();
}
/// The next attribute in the list.
const XMLAttribute* Next() const {
return _next; ///< The next attribute in the list.
return _next;
}
/** IntAttribute interprets the attribute as an integer, and returns the value.
@ -1006,15 +1015,15 @@ public:
in the provided paremeter. The function will return XML_NO_ERROR on success,
and XML_WRONG_ATTRIBUTE_TYPE if the conversion is not successful.
*/
int QueryIntValue( int* value ) const;
XMLError QueryIntValue( int* value ) const;
/// See QueryIntAttribute
int QueryUnsignedValue( unsigned int* value ) const;
XMLError QueryUnsignedValue( unsigned int* value ) const;
/// See QueryIntAttribute
int QueryBoolValue( bool* value ) const;
XMLError QueryBoolValue( bool* value ) const;
/// See QueryIntAttribute
int QueryDoubleValue( double* value ) const;
XMLError QueryDoubleValue( double* value ) const;
/// See QueryIntAttribute
int QueryFloatValue( float* value ) const;
XMLError QueryFloatValue( float* value ) const;
/// Set the attribute to a string value.
void SetAttribute( const char* value );
@ -1147,7 +1156,7 @@ public:
QueryIntAttribute( "foo", &value ); // if "foo" isn't found, value will still be 10
@endverbatim
*/
int QueryIntAttribute( const char* name, int* value ) const {
XMLError QueryIntAttribute( const char* name, int* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@ -1155,7 +1164,7 @@ public:
return a->QueryIntValue( value );
}
/// See QueryIntAttribute()
int QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@ -1163,7 +1172,7 @@ public:
return a->QueryUnsignedValue( value );
}
/// See QueryIntAttribute()
int QueryBoolAttribute( const char* name, bool* value ) const {
XMLError QueryBoolAttribute( const char* name, bool* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@ -1171,7 +1180,7 @@ public:
return a->QueryBoolValue( value );
}
/// See QueryIntAttribute()
int QueryDoubleAttribute( const char* name, double* value ) const {
XMLError QueryDoubleAttribute( const char* name, double* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@ -1179,7 +1188,7 @@ public:
return a->QueryDoubleValue( value );
}
/// See QueryIntAttribute()
int QueryFloatAttribute( const char* name, float* value ) const {
XMLError QueryFloatAttribute( const char* name, float* value ) const {
const XMLAttribute* a = FindAttribute( name );
if ( !a ) {
return XML_NO_ATTRIBUTE;
@ -1281,15 +1290,15 @@ public:
to the requested type, and XML_NO_TEXT_NODE if there is no child text to query.
*/
int QueryIntText( int* _value ) const;
XMLError QueryIntText( int* _value ) const;
/// See QueryIntText()
int QueryUnsignedText( unsigned* _value ) const;
XMLError QueryUnsignedText( unsigned* _value ) const;
/// See QueryIntText()
int QueryBoolText( bool* _value ) const;
XMLError QueryBoolText( bool* _value ) const;
/// See QueryIntText()
int QueryDoubleText( double* _value ) const;
XMLError QueryDoubleText( double* _value ) const;
/// See QueryIntText()
int QueryFloatText( float* _value ) const;
XMLError QueryFloatText( float* _value ) const;
// internal:
enum {
@ -1359,14 +1368,14 @@ public:
specified, TinyXML will assume 'xml' points to a
null terminated string.
*/
int Parse( const char* xml, size_t nBytes=(size_t)(-1) );
XMLError Parse( const char* xml, size_t nBytes=(size_t)(-1) );
/**
Load an XML file from disk.
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
int LoadFile( const char* filename );
XMLError LoadFile( const char* filename );
/**
Load an XML file from disk. You are responsible
@ -1375,14 +1384,14 @@ public:
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
int LoadFile( std::FILE* );
XMLError LoadFile( std::FILE* );
/**
Save the XML file to disk.
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
int SaveFile( const char* filename, bool compact = false );
XMLError SaveFile( const char* filename, bool compact = false );
/**
Save the XML file to disk. You are responsible
@ -1391,7 +1400,7 @@ public:
Returns XML_NO_ERROR (0) on success, or
an errorID.
*/
int SaveFile( std::FILE* fp, bool compact = false );
XMLError SaveFile( std::FILE* fp, bool compact = false );
bool ProcessEntities() const {
return _processEntities;
@ -1484,14 +1493,14 @@ public:
node->_parent->DeleteChild( node );
}
void SetError( int error, const char* str1, const char* str2 );
void SetError( XMLError error, const char* str1, const char* str2 );
/// Return true if there was an error parsing the document.
bool Error() const {
return _errorID != XML_NO_ERROR;
}
/// Return the errorID.
int ErrorID() const {
XMLError ErrorID() const {
return _errorID;
}
/// Return a possibly helpful diagnostic location or string.
@ -1522,7 +1531,7 @@ private:
bool _writeBOM;
bool _processEntities;
int _errorID;
XMLError _errorID;
Whitespace _whitespace;
const char* _errorStr1;
const char* _errorStr2;

View File

@ -334,7 +334,7 @@ int main( int /*argc*/, const char ** /*argv*/ )
XMLDocument doc;
doc.Parse( error );
XMLTest( "Bad XML", doc.ErrorID(), (int)XML_ERROR_PARSING_ATTRIBUTE );
XMLTest( "Bad XML", doc.ErrorID(), XML_ERROR_PARSING_ATTRIBUTE );
}
{
@ -633,7 +633,7 @@ int main( int /*argc*/, const char ** /*argv*/ )
XMLDocument doc;
doc.Parse( doctype );
XMLTest( "Parsing repeated attributes.", (int)XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() ); // is an error to tinyxml (didn't use to be, but caused issues)
XMLTest( "Parsing repeated attributes.", XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() ); // is an error to tinyxml (didn't use to be, but caused issues)
doc.PrintError();
}
@ -651,7 +651,7 @@ int main( int /*argc*/, const char ** /*argv*/ )
const char* str = " ";
XMLDocument doc;
doc.Parse( str );
XMLTest( "Empty document error", (int)XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );
XMLTest( "Empty document error", XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );
}
{
@ -678,7 +678,7 @@ int main( int /*argc*/, const char ** /*argv*/ )
xml.Parse("<x> ");
XMLTest("Missing end tag with trailing whitespace", xml.Error(), true);
xml.Parse("<x></y>");
XMLTest("Mismatched tags", xml.ErrorID(), (int)XML_ERROR_MISMATCHED_ELEMENT);
XMLTest("Mismatched tags", xml.ErrorID(), XML_ERROR_MISMATCHED_ELEMENT);
}