Added default values TypeText accessors
diff --git a/tinyxml2.h b/tinyxml2.h
index 4379f01..cafc422 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -1231,41 +1231,41 @@
     	returned if there is an error. For a method with error

     	checking, see QueryIntAttribute()

     */

-    int		 IntAttribute( const char* name ) const		{

-        int i=0;

+    int		 IntAttribute(const char* name, int defaultValue = 0) const		{

+        int i=defaultValue;

         QueryIntAttribute( name, &i );

         return i;

     }

 

     /// See IntAttribute()

-    unsigned UnsignedAttribute( const char* name ) const {

-        unsigned i=0;

+    unsigned UnsignedAttribute(const char* name , unsigned defaultValue = 0) const {

+        unsigned i=defaultValue;

         QueryUnsignedAttribute( name, &i );

         return i;

     }

 

 	/// See IntAttribute()

-	int64_t Int64Attribute(const char* name) const {

-		int64_t i = 0;

+	int64_t Int64Attribute(const char* name, int64_t defaultValue = 0) const {

+		int64_t i = defaultValue;

 		QueryInt64Attribute(name, &i);

 		return i;

 	}

 

 	/// See IntAttribute()

-    bool BoolAttribute( const char* name ) const	{

-        bool b=false;

+    bool BoolAttribute( const char* name, bool defaultValue = false ) const	{

+        bool b=defaultValue;

         QueryBoolAttribute( name, &b );

         return b;

     }

     /// See IntAttribute()

-    double DoubleAttribute( const char* name ) const	{

-        double d=0;

+    double DoubleAttribute( const char* name, double defaultValue=0 ) const	{

+        double d=defaultValue;

         QueryDoubleAttribute( name, &d );

         return d;

     }

     /// See IntAttribute()

-    float FloatAttribute( const char* name ) const	{

-        float f=0;

+    float FloatAttribute( const char* name, float defaultValue=0 ) const	{

+        float f=defaultValue;

         QueryFloatAttribute( name, &f );

         return f;

     }

@@ -1542,6 +1542,48 @@
     /// See QueryIntText()

     XMLError QueryFloatText( float* fval ) const;

 

+	int IntText(int defaultValue = 0) const

+	{

+		int i = defaultValue;

+		QueryIntText(&i);

+		return i;

+	}

+	/// See QueryIntText()

+	unsigned UnsignedText(unsigned defaultValue = 0) const

+	{

+		unsigned i = defaultValue;

+		QueryUnsignedText(&i);

+		return i;

+	}

+	/// See QueryIntText()

+	int64_t Int64Text(int64_t defaultValue = 0) const

+	{

+		int64_t i = defaultValue;

+		QueryInt64Text(&i);

+		return i;

+	}

+	/// See QueryIntText()

+	bool BoolText(bool defaultValue = false) const

+	{

+		bool b = defaultValue;

+		QueryBoolText(&b);

+		return b;

+	}

+	/// See QueryIntText()

+	double DoubleText(double defaultValue = 0) const

+	{

+		double d = defaultValue;

+		QueryDoubleText(&d);

+		return d;

+	}

+	/// See QueryIntText()

+	float FloatText(float defaultValue = 0) const

+	{

+		float f = defaultValue;

+		QueryFloatText(&f);

+		return f;

+	}

+

     // internal:

     enum {

         OPEN,		// <foo>