 
     /// Allowed attribute values
     ///
-    enum Value: Equatable {
+    enum Value: Equatable, Hashable {
         case none
         case string(String)
         case inlineCss([CSSProperty])

    // MARK - Hashable

    override var hashValue: Int {
        return name.hashValue ^ value.hashValue()
    }

    // MARK: - NSCoding


        // MARK: - Hashable

        var hashValue: Int {
            switch(self) {
            case .none:
                return 0
