attribute support
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 07fa458..367f05c 100644
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -288,6 +288,9 @@
 // --------- XMLAttribute ---------- //

 char* XMLAttribute::ParseDeep( char* p )

 {

+	p = ParseText( p, &name, "=" );

+	if ( !p || !*p ) return 0;

+

 	char endTag[2] = { *p, 0 };

 	++p;

 	p = ParseText( p, &value, endTag );

@@ -298,7 +301,8 @@
 

 void XMLAttribute::Print( FILE* cfile )

 {

-	fprintf( cfile, "\"%s\"", value );

+	// fixme: sort out single vs. double quote

+	fprintf( cfile, "%s=\"%s\"", name.GetStr(), value.GetStr() );

 }

 

 

@@ -351,7 +355,7 @@
 		}

 

 		// attribute.

-		if ( *p == SINGLE_QUOTE || *p == DOUBLE_QUOTE ) {

+		if ( IsAlpha( *p ) ) {

 			XMLAttribute* attrib = new XMLAttribute( this );

 			p = attrib->ParseDeep( p );

 			if ( !p ) {

@@ -459,6 +463,7 @@
 	charBuffer = CharBuffer::Construct( p );

 	XMLNode* node = 0;

 	

+	// fixme: clean up

 	char* q = Identify( this, charBuffer->mem, &node );

 	while ( node ) {

 		root->InsertEndChild( node );