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.
242 lines
7.7 KiB
242 lines
7.7 KiB
// Generated by CoffeeScript 1.12.7 |
|
(function() { |
|
var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject, |
|
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, |
|
hasProp = {}.hasOwnProperty; |
|
|
|
isPlainObject = require('./Utility').isPlainObject; |
|
|
|
XMLDOMImplementation = require('./XMLDOMImplementation'); |
|
|
|
XMLDOMConfiguration = require('./XMLDOMConfiguration'); |
|
|
|
XMLNode = require('./XMLNode'); |
|
|
|
NodeType = require('./NodeType'); |
|
|
|
XMLStringifier = require('./XMLStringifier'); |
|
|
|
XMLStringWriter = require('./XMLStringWriter'); |
|
|
|
module.exports = XMLDocument = (function(superClass) { |
|
extend(XMLDocument, superClass); |
|
|
|
function XMLDocument(options) { |
|
XMLDocument.__super__.constructor.call(this, null); |
|
this.name = "#document"; |
|
this.type = NodeType.Document; |
|
this.documentURI = null; |
|
this.domConfig = new XMLDOMConfiguration(); |
|
options || (options = {}); |
|
if (!options.writer) { |
|
options.writer = new XMLStringWriter(); |
|
} |
|
this.options = options; |
|
this.stringify = new XMLStringifier(options); |
|
} |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'implementation', { |
|
value: new XMLDOMImplementation() |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'doctype', { |
|
get: function() { |
|
var child, i, len, ref; |
|
ref = this.children; |
|
for (i = 0, len = ref.length; i < len; i++) { |
|
child = ref[i]; |
|
if (child.type === NodeType.DocType) { |
|
return child; |
|
} |
|
} |
|
return null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'documentElement', { |
|
get: function() { |
|
return this.rootObject || null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'inputEncoding', { |
|
get: function() { |
|
return null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', { |
|
get: function() { |
|
return false; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', { |
|
get: function() { |
|
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { |
|
return this.children[0].encoding; |
|
} else { |
|
return null; |
|
} |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', { |
|
get: function() { |
|
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { |
|
return this.children[0].standalone === 'yes'; |
|
} else { |
|
return false; |
|
} |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'xmlVersion', { |
|
get: function() { |
|
if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) { |
|
return this.children[0].version; |
|
} else { |
|
return "1.0"; |
|
} |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'URL', { |
|
get: function() { |
|
return this.documentURI; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'origin', { |
|
get: function() { |
|
return null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'compatMode', { |
|
get: function() { |
|
return null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'characterSet', { |
|
get: function() { |
|
return null; |
|
} |
|
}); |
|
|
|
Object.defineProperty(XMLDocument.prototype, 'contentType', { |
|
get: function() { |
|
return null; |
|
} |
|
}); |
|
|
|
XMLDocument.prototype.end = function(writer) { |
|
var writerOptions; |
|
writerOptions = {}; |
|
if (!writer) { |
|
writer = this.options.writer; |
|
} else if (isPlainObject(writer)) { |
|
writerOptions = writer; |
|
writer = this.options.writer; |
|
} |
|
return writer.document(this, writer.filterOptions(writerOptions)); |
|
}; |
|
|
|
XMLDocument.prototype.toString = function(options) { |
|
return this.options.writer.document(this, this.options.writer.filterOptions(options)); |
|
}; |
|
|
|
XMLDocument.prototype.createElement = function(tagName) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createDocumentFragment = function() { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createTextNode = function(data) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createComment = function(data) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createCDATASection = function(data) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createProcessingInstruction = function(target, data) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createAttribute = function(name) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createEntityReference = function(name) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.getElementsByTagName = function(tagname) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.importNode = function(importedNode, deep) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.getElementById = function(elementId) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.adoptNode = function(source) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.normalizeDocument = function() { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.getElementsByClassName = function(classNames) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createEvent = function(eventInterface) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createRange = function() { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) { |
|
throw new Error("This DOM method is not implemented." + this.debugInfo()); |
|
}; |
|
|
|
return XMLDocument; |
|
|
|
})(XMLNode); |
|
|
|
}).call(this);
|
|
|