123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Generated by CoffeeScript 2.4.1
- (function() {
- var NodeType, XMLDTDNotation, XMLNode;
-
- XMLNode = require('./XMLNode');
-
- NodeType = require('./NodeType');
-
- // Represents a NOTATION entry in the DTD
- module.exports = XMLDTDNotation = (function() {
- class XMLDTDNotation extends XMLNode {
- // Initializes a new instance of `XMLDTDNotation`
-
- // `parent` the parent `XMLDocType` element
- // `name` the name of the notation
- // `value` an object with external entity details
- // `value.pubID` public identifier
- // `value.sysID` system identifier
- constructor(parent, name, value) {
- super(parent);
- if (name == null) {
- throw new Error("Missing DTD notation name. " + this.debugInfo(name));
- }
- if (!value.pubID && !value.sysID) {
- throw new Error("Public or system identifiers are required for an external entity. " + this.debugInfo(name));
- }
- this.name = this.stringify.name(name);
- this.type = NodeType.NotationDeclaration;
- if (value.pubID != null) {
- this.pubID = this.stringify.dtdPubID(value.pubID);
- }
- if (value.sysID != null) {
- this.sysID = this.stringify.dtdSysID(value.sysID);
- }
- }
-
- // Converts the XML fragment to string
-
- // `options.pretty` pretty prints the result
- // `options.indent` indentation for pretty print
- // `options.offset` how many indentations to add to every line for pretty print
- // `options.newline` newline sequence for pretty print
- toString(options) {
- return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));
- }
-
- };
-
- // DOM level 1
- Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {
- get: function() {
- return this.pubID;
- }
- });
-
- Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {
- get: function() {
- return this.sysID;
- }
- });
-
- return XMLDTDNotation;
-
- }).call(this);
-
- }).call(this);
|