// Generated by CoffeeScript 1.12.7
							 | 
						|
								(function() {
							 | 
						|
								  var NodeType, XMLAttribute, XMLNode;
							 | 
						|
								
							 | 
						|
								  NodeType = require('./NodeType');
							 | 
						|
								
							 | 
						|
								  XMLNode = require('./XMLNode');
							 | 
						|
								
							 | 
						|
								  module.exports = XMLAttribute = (function() {
							 | 
						|
								    function XMLAttribute(parent, name, value) {
							 | 
						|
								      this.parent = parent;
							 | 
						|
								      if (this.parent) {
							 | 
						|
								        this.options = this.parent.options;
							 | 
						|
								        this.stringify = this.parent.stringify;
							 | 
						|
								      }
							 | 
						|
								      if (name == null) {
							 | 
						|
								        throw new Error("Missing attribute name. " + this.debugInfo(name));
							 | 
						|
								      }
							 | 
						|
								      this.name = this.stringify.name(name);
							 | 
						|
								      this.value = this.stringify.attValue(value);
							 | 
						|
								      this.type = NodeType.Attribute;
							 | 
						|
								      this.isId = false;
							 | 
						|
								      this.schemaTypeInfo = null;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'nodeType', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return this.type;
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return this.parent;
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'textContent', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return this.value;
							 | 
						|
								      },
							 | 
						|
								      set: function(value) {
							 | 
						|
								        return this.value = value || '';
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return '';
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'prefix', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return '';
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'localName', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return this.name;
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    Object.defineProperty(XMLAttribute.prototype, 'specified', {
							 | 
						|
								      get: function() {
							 | 
						|
								        return true;
							 | 
						|
								      }
							 | 
						|
								    });
							 | 
						|
								
							 | 
						|
								    XMLAttribute.prototype.clone = function() {
							 | 
						|
								      return Object.create(this);
							 | 
						|
								    };
							 | 
						|
								
							 | 
						|
								    XMLAttribute.prototype.toString = function(options) {
							 | 
						|
								      return this.options.writer.attribute(this, this.options.writer.filterOptions(options));
							 | 
						|
								    };
							 | 
						|
								
							 | 
						|
								    XMLAttribute.prototype.debugInfo = function(name) {
							 | 
						|
								      name = name || this.name;
							 | 
						|
								      if (name == null) {
							 | 
						|
								        return "parent: <" + this.parent.name + ">";
							 | 
						|
								      } else {
							 | 
						|
								        return "attribute: {" + name + "}, parent: <" + this.parent.name + ">";
							 | 
						|
								      }
							 | 
						|
								    };
							 | 
						|
								
							 | 
						|
								    XMLAttribute.prototype.isEqualNode = function(node) {
							 | 
						|
								      if (node.namespaceURI !== this.namespaceURI) {
							 | 
						|
								        return false;
							 | 
						|
								      }
							 | 
						|
								      if (node.prefix !== this.prefix) {
							 | 
						|
								        return false;
							 | 
						|
								      }
							 | 
						|
								      if (node.localName !== this.localName) {
							 | 
						|
								        return false;
							 | 
						|
								      }
							 | 
						|
								      if (node.value !== this.value) {
							 | 
						|
								        return false;
							 | 
						|
								      }
							 | 
						|
								      return true;
							 | 
						|
								    };
							 | 
						|
								
							 | 
						|
								    return XMLAttribute;
							 | 
						|
								
							 | 
						|
								  })();
							 | 
						|
								
							 | 
						|
								}).call(this);
							 |