2016-11-16 01:59:39 +01:00
|
|
|
// Generated by CoffeeScript 1.9.1
|
2016-11-03 01:33:53 +01:00
|
|
|
(function() {
|
2016-11-16 01:59:39 +01:00
|
|
|
var XMLDTDNotation, create;
|
2016-11-03 01:33:53 +01:00
|
|
|
|
2016-11-16 01:59:39 +01:00
|
|
|
create = require('lodash/create');
|
2016-11-03 01:33:53 +01:00
|
|
|
|
2016-11-16 01:59:39 +01:00
|
|
|
module.exports = XMLDTDNotation = (function() {
|
2016-11-03 01:33:53 +01:00
|
|
|
function XMLDTDNotation(parent, name, value) {
|
2016-11-16 01:59:39 +01:00
|
|
|
this.stringify = parent.stringify;
|
2016-11-03 01:33:53 +01:00
|
|
|
if (name == null) {
|
|
|
|
throw new Error("Missing notation name");
|
|
|
|
}
|
|
|
|
if (!value.pubID && !value.sysID) {
|
|
|
|
throw new Error("Public or system identifiers are required for an external entity");
|
|
|
|
}
|
|
|
|
this.name = this.stringify.eleName(name);
|
|
|
|
if (value.pubID != null) {
|
|
|
|
this.pubID = this.stringify.dtdPubID(value.pubID);
|
|
|
|
}
|
|
|
|
if (value.sysID != null) {
|
|
|
|
this.sysID = this.stringify.dtdSysID(value.sysID);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-11-16 01:59:39 +01:00
|
|
|
XMLDTDNotation.prototype.toString = function(options, level) {
|
|
|
|
var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
|
|
|
|
pretty = (options != null ? options.pretty : void 0) || false;
|
|
|
|
indent = (ref = options != null ? options.indent : void 0) != null ? ref : ' ';
|
|
|
|
offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
|
|
|
|
newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
|
|
|
|
level || (level = 0);
|
|
|
|
space = new Array(level + offset + 1).join(indent);
|
|
|
|
r = '';
|
|
|
|
if (pretty) {
|
|
|
|
r += space;
|
|
|
|
}
|
|
|
|
r += '<!NOTATION ' + this.name;
|
|
|
|
if (this.pubID && this.sysID) {
|
|
|
|
r += ' PUBLIC "' + this.pubID + '" "' + this.sysID + '"';
|
|
|
|
} else if (this.pubID) {
|
|
|
|
r += ' PUBLIC "' + this.pubID + '"';
|
|
|
|
} else if (this.sysID) {
|
|
|
|
r += ' SYSTEM "' + this.sysID + '"';
|
|
|
|
}
|
|
|
|
r += '>';
|
|
|
|
if (pretty) {
|
|
|
|
r += newline;
|
|
|
|
}
|
|
|
|
return r;
|
2016-11-03 01:33:53 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
return XMLDTDNotation;
|
|
|
|
|
2016-11-16 01:59:39 +01:00
|
|
|
})();
|
2016-11-03 01:33:53 +01:00
|
|
|
|
|
|
|
}).call(this);
|