You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
989 B
36 lines
989 B
"use strict";
|
|
module.exports = DocumentType;
|
|
|
|
var Node = require('./Node.js');
|
|
var Leaf = require('./Leaf.js');
|
|
var ChildNode = require('./ChildNode.js');
|
|
|
|
function DocumentType(ownerDocument, name, publicId, systemId) {
|
|
Leaf.call(this);
|
|
this.nodeType = Node.DOCUMENT_TYPE_NODE;
|
|
this.ownerDocument = ownerDocument || null;
|
|
this.name = name;
|
|
this.publicId = publicId || "";
|
|
this.systemId = systemId || "";
|
|
}
|
|
|
|
DocumentType.prototype = Object.create(Leaf.prototype, {
|
|
nodeName: { get: function() { return this.name; }},
|
|
nodeValue: {
|
|
get: function() { return null; },
|
|
set: function() {}
|
|
},
|
|
|
|
// Utility methods
|
|
clone: { value: function clone() {
|
|
return new DocumentType(this.ownerDocument, this.name, this.publicId, this.systemId);
|
|
}},
|
|
|
|
isEqual: { value: function isEqual(n) {
|
|
return this.name === n.name &&
|
|
this.publicId === n.publicId &&
|
|
this.systemId === n.systemId;
|
|
}}
|
|
});
|
|
|
|
Object.defineProperties(DocumentType.prototype, ChildNode);
|