     /// String representation of self with XML special characters escaped.
     public var xmlEscaped: String {
         // we need to make sure "&" is escaped first. Not doing this may break escaping the other characters
-        var escapedString = stringByReplacingOccurrencesOfString("&", withString: "&amp;", options: .LiteralSearch)
+        var escaped = stringByReplacingOccurrencesOfString("&", withString: "&amp;", options: .LiteralSearch)
         
         // replace the other four special characters
         let escapeChars = ["<" : "&lt;", ">" : "&gt;", "'" : "&apos;", "\"" : "&quot;"]
         for (char, echar) in escapeChars {
-            escapedString = escapedString.stringByReplacingOccurrencesOfString(char, withString: echar, options: .LiteralSearch)
-        }
-        
-        return escapedString
+            escaped = escaped.stringByReplacingOccurrencesOfString(char, withString: echar, options: .LiteralSearch)
+        }
+        
+        return escaped
     }
     
 }
 
-// MARK: -
+// MARK: - AEXMLDocument
 
 /**
     This class is inherited from `AEXMLElement` and has a few addons to represent **XML Document**.

    /**
        Adds child XML element to `self`.
        
        :param: name Child XML element name.
        :param: value Child XML element value.
        :param: attributes Child XML element attributes.
        
        :returns: Child XML element with `self` as `parent`.
    */
    public func addChild(name name: String, value: String? = nil, attributes: [String : String]? = nil) -> AEXMLElement {
        let child = AEXMLElement(name, value: value, attributes: attributes)

    
}

// MARK: - AEXMLParser

private class AEXMLParser: NSObject, NSXMLParserDelegate {
    
