fix up error system issues
diff --git a/tinyxml2.h b/tinyxml2.h
index ecab407..c9850f6 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -1634,6 +1634,13 @@
 class TINYXML2_LIB XMLDocument : public XMLNode

 {

     friend class XMLElement;

+    // Gives access to SetError, but over-access for everything else.

+    // Wishing C++ had "internal" scope.

+    friend class XMLNode;       

+    friend class XMLText;

+    friend class XMLComment;

+    friend class XMLDeclaration;

+    friend class XMLUnknown;

 public:

     /// constructor

     XMLDocument( bool processEntities = true, Whitespace whitespaceMode = PRESERVE_WHITESPACE );

@@ -1785,8 +1792,6 @@
     */

     void DeleteNode( XMLNode* node );

 

-    void SetError( XMLError error, int lineNum, const char* format, ... );

-

     void ClearError() {

         SetError(XML_SUCCESS, 0, 0);

     }

@@ -1802,16 +1807,19 @@
 	const char* ErrorName() const;

     static const char* ErrorIDToName(XMLError errorID);

 

-    /// Return a possibly helpful diagnostic location or string.

-	const char* GetErrorStr() const;

+    /** Returns a "long form" error description. A hopefully helpful 

+        diagnostic with location, line number, and/or additional info.

+    */

+	const char* ErrorStr() const;

+

+    /// A (trivial) utility function that prints the ErrorStr() to stdout.

+    void PrintError() const;

 

     /// Return the line where the error occured, or zero if unknown.

-    int GetErrorLineNum() const

+    int ErrorLineNum() const

     {

         return _errorLineNum;

     }

-    /// If there is an error, print it to stdout.

-    void PrintError() const;

     

     /// Clear the document, resetting it to the initial state.

     void Clear();

@@ -1867,6 +1875,8 @@
 

     void Parse();

 

+    void SetError( XMLError error, int lineNum, const char* format, ... );

+

     template<class NodeType, int PoolElementSize>

     NodeType* CreateUnlinkedNode( MemPoolT<PoolElementSize>& pool );

 };