| // Generated by CoffeeScript 1.6.3 |
| (function() { |
| var XMLDTDElement, _; |
| |
| _ = require('lodash-node'); |
| |
| module.exports = XMLDTDElement = (function() { |
| function XMLDTDElement(parent, name, value) { |
| this.stringify = parent.stringify; |
| if (name == null) { |
| throw new Error("Missing DTD element name"); |
| } |
| if (!value) { |
| value = '(#PCDATA)'; |
| } |
| if (_.isArray(value)) { |
| value = '(' + value.join(',') + ')'; |
| } |
| this.name = this.stringify.eleName(name); |
| this.value = this.stringify.dtdElementValue(value); |
| } |
| |
| XMLDTDElement.prototype.clone = function() { |
| return _.create(XMLDTDElement.prototype, this); |
| }; |
| |
| XMLDTDElement.prototype.toString = function(options, level) { |
| var indent, newline, pretty, r, space; |
| pretty = (options != null ? options.pretty : void 0) || false; |
| indent = (options != null ? options.indent : void 0) || ' '; |
| newline = (options != null ? options.newline : void 0) || '\n'; |
| level || (level = 0); |
| space = new Array(level + 1).join(indent); |
| r = ''; |
| if (pretty) { |
| r += space; |
| } |
| r += '<!ELEMENT ' + this.name + ' ' + this.value + '>'; |
| if (pretty) { |
| r += newline; |
| } |
| return r; |
| }; |
| |
| return XMLDTDElement; |
| |
| })(); |
| |
| }).call(this); |