 }
 
 extension XMLSubscriptResult : StringProvider {
-    public var stringValue: String {
+    public var stringSource: String {
         if let xml = self.xml {
             if let value = xml.value {
                 return value

    case index(Int)
    case key(String)
}

public enum XMLSubscriptResult {


// MARK: - String extensions

public protocol StringProvider {
    var stringSource: String { get }
}

extension String : StringProvider {
    public var stringSource: String {
        return self
    }
}

extension XML : StringProvider {
    public var stringSource: String {
        if self.value == nil {
            log("xml: \(self.name) don't have any value")
        }
