| // 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);
 |