109 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// 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);
 |