diff --git a/chrome/content/zotero/xpcom/citeproc-prereqs.js b/chrome/content/zotero/xpcom/citeproc-prereqs.js
deleted file mode 100644
index 8f4bcd07d..000000000
--- a/chrome/content/zotero/xpcom/citeproc-prereqs.js
+++ /dev/null
@@ -1,390 +0,0 @@
-var CSL_HOST = {
- debug: function (str) {
- Zotero.debug("CSL: " + str);
- },
- error: function (str) {
- Zotero.debug("CSL error: " + str);
- }
-};
-function DOMParser() {
- return Components.classes["@mozilla.org/xmlextras/domparser;1"]
- .createInstance(Components.interfaces.nsIDOMParser);
-};
-
-var CSL_IS_IE;
-var CSL_CHROME = function () {
- if ("undefined" == typeof DOMParser || CSL_IS_IE) {
- CSL_IS_IE = true;
- DOMParser = function() {};
- DOMParser.prototype.parseFromString = function(str, contentType) {
- if ("undefined" != typeof ActiveXObject) {
- var xmldata = new ActiveXObject('MSXML.DomDocument');
- xmldata.async = false;
- xmldata.loadXML(str);
- return xmldata;
- } else if ("undefined" != typeof XMLHttpRequest) {
- var xmldata = new XMLHttpRequest;
- if (!contentType) {
- contentType = 'text/xml';
- }
- xmldata.open('GET', 'data:' + contentType + ';charset=utf-8,' + encodeURIComponent(str), false);
- if(xmldata.overrideMimeType) {
- xmldata.overrideMimeType(contentType);
- }
- xmldata.send(null);
- return xmldata.responseXML;
- }
- };
- this.hasAttributes = function (node) {
- var ret;
- if (node.attributes && node.attributes.length) {
- ret = true;
- } else {
- ret = false;
- }
- return ret;
- };
- } else {
- this.hasAttributes = function (node) {
- var ret;
- if (node.attributes && node.attributes.length) {
- ret = true;
- } else {
- ret = false;
- }
- return ret;
- };
- }
- this.importNode = function (doc, srcElement) {
- if ("undefined" == typeof doc.importNode) {
- var ret = this._importNode(doc, srcElement, true);
- } else {
- var ret = doc.importNode(srcElement, true);
- }
- return ret;
- };
- this._importNode = function(doc, node, allChildren) {
- switch (node.nodeType) {
- case 1:
- var newNode = doc.createElement(node.nodeName);
- if (node.attributes && node.attributes.length > 0)
- for (var i = 0, il = node.attributes.length; i < il;)
- newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i++].nodeName));
- if (allChildren && node.childNodes && node.childNodes.length > 0)
- for (var i = 0, il = node.childNodes.length; i < il;)
- newNode.appendChild(this._importNode(doc, node.childNodes[i++], allChildren));
- return newNode;
- break;
- case 3:
- case 4:
- case 8:
- }
- };
- this.parser = new DOMParser();
- var str = "";
- var inst_doc = this.parser.parseFromString(str, "text/xml");
- var inst_node = inst_doc.getElementsByTagName("institution");
- this.institution = inst_node.item(0);
- var inst_part_node = inst_doc.getElementsByTagName("institution-part");
- this.institutionpart = inst_part_node.item(0);
- this.ns = "http://purl.org/net/xbiblio/csl";
-};
-CSL_CHROME.prototype.clean = function (xml) {
- xml = xml.replace(/<\?[^?]+\?>/g, "");
- xml = xml.replace(/]+>/g, "");
- xml = xml.replace(/^\s+/, "");
- xml = xml.replace(/\s+$/, "");
- xml = xml.replace(/^\n*/, "");
- return xml;
-};
-CSL_CHROME.prototype.getStyleId = function (myxml, styleName) {
- var text = "";
- var tagName = "id";
- if (styleName) {
- tagName = "title";
- }
- var node = myxml.getElementsByTagName(tagName);
- if (node && node.length) {
- node = node.item(0);
- }
- if (node) {
- text = node.textContent;
- }
- if (!text) {
- text = node.innerText;
- }
- if (!text) {
- text = node.innerHTML;
- }
- return text;
-};
-CSL_CHROME.prototype.children = function (myxml) {
- var children, pos, len, ret;
- if (myxml) {
- ret = [];
- children = myxml.childNodes;
- for (pos = 0, len = children.length; pos < len; pos += 1) {
- if (children[pos].nodeName != "#text") {
- ret.push(children[pos]);
- }
- }
- return ret;
- } else {
- return [];
- }
-};
-CSL_CHROME.prototype.nodename = function (myxml) {
- var ret = myxml.nodeName;
- return ret;
-};
-CSL_CHROME.prototype.attributes = function (myxml) {
- var ret, attrs, attr, key, xml, pos, len;
- ret = new Object();
- if (myxml && this.hasAttributes(myxml)) {
- attrs = myxml.attributes;
- for (pos = 0, len=attrs.length; pos < len; pos += 1) {
- attr = attrs[pos];
- ret["@" + attr.name] = attr.value;
- }
- }
- return ret;
-};
-CSL_CHROME.prototype.content = function (myxml) {
- var ret;
- if ("undefined" != typeof myxml.textContent) {
- ret = myxml.textContent;
- } else if ("undefined" != typeof myxml.innerText) {
- ret = myxml.innerText;
- } else {
- ret = myxml.txt;
- }
- return ret;
-};
-CSL_CHROME.prototype.namespace = {
- "xml":"http://www.w3.org/XML/1998/namespace"
-}
-CSL_CHROME.prototype.numberofnodes = function (myxml) {
- if (myxml) {
- return myxml.length;
- } else {
- return 0;
- }
-};
-CSL_CHROME.prototype.getAttributeName = function (attr) {
- var ret = attr.name;
- return ret;
-}
-CSL_CHROME.prototype.getAttributeValue = function (myxml,name,namespace) {
- var ret = "";
- if (namespace) {
- name = namespace+":"+name;
- }
- if (myxml && this.hasAttributes(myxml) && myxml.getAttribute(name)) {
- ret = myxml.getAttribute(name);
- }
- return ret;
-}
-CSL_CHROME.prototype.getNodeValue = function (myxml,name) {
- var ret = null;
- if (name){
- var vals = myxml.getElementsByTagName(name);
- if (vals.length > 0) {
- if ("undefined" != typeof vals[0].textContent) {
- ret = vals[0].textContent;
- } else if ("undefined" != typeof vals[0].innerText) {
- ret = vals[0].innerText;
- } else {
- ret = vals[0].text;
- }
- }
- }
- if (ret === null && myxml && myxml.childNodes && (myxml.childNodes.length == 0 || (myxml.childNodes.length == 1 && myxml.firstChild.nodeName == "#text"))) {
- if ("undefined" != typeof myxml.textContent) {
- ret = myxml.textContent;
- } else if ("undefined" != typeof myxml.innerText) {
- ret = myxml.innerText;
- } else {
- ret = myxml.text;
- }
- }
- if (ret === null) {
- ret = myxml;
- }
- return ret;
-}
-CSL_CHROME.prototype.setAttributeOnNodeIdentifiedByNameAttribute = function (myxml,nodename,partname,attrname,val) {
- var pos, len, xml, nodes, node;
- if (attrname.slice(0,1) === '@'){
- attrname = attrname.slice(1);
- }
- nodes = myxml.getElementsByTagName(nodename);
- for (pos = 0, len = nodes.length; pos < len; pos += 1) {
- node = nodes[pos];
- if (node.getAttribute("name") != partname) {
- continue;
- }
- node.setAttribute(attrname, val);
- }
-}
-CSL_CHROME.prototype.deleteNodeByNameAttribute = function (myxml,val) {
- var pos, len, node, nodes;
- nodes = myxml.childNodes;
- for (pos = 0, len = nodes.length; pos < len; pos += 1) {
- node = nodes[pos];
- if (!node || node.nodeType == node.TEXT_NODE) {
- continue;
- }
- if (this.hasAttributes(node) && node.getAttribute("name") == val) {
- myxml.removeChild(nodes[pos]);
- }
- }
-}
-CSL_CHROME.prototype.deleteAttribute = function (myxml,attr) {
- myxml.removeAttribute(attr);
-}
-CSL_CHROME.prototype.setAttribute = function (myxml,attr,val) {
- if (!myxml.ownerDocument) {
- myxml = myxml.firstChild;
- }
- if (["function", "unknown"].indexOf(typeof myxml.setAttribute) > -1) {
- myxml.setAttribute(attr, val);
- }
- return false;
-}
-CSL_CHROME.prototype.nodeCopy = function (myxml) {
- var cloned_node = myxml.cloneNode(true);
- return cloned_node;
-}
-CSL_CHROME.prototype.getNodesByName = function (myxml,name,nameattrval) {
- var ret, nodes, node, pos, len;
- ret = [];
- nodes = myxml.getElementsByTagName(name);
- for (pos = 0, len = nodes.length; pos < len; pos += 1) {
- node = nodes.item(pos);
- if (nameattrval && !(this.hasAttributes(node) && node.getAttribute("name") == nameattrval)) {
- continue;
- }
- ret.push(node);
- }
- return ret;
-}
-CSL_CHROME.prototype.nodeNameIs = function (myxml,name) {
- if (name == myxml.nodeName) {
- return true;
- }
- return false;
-}
-CSL_CHROME.prototype.makeXml = function (myxml) {
- var ret, topnode;
- if (!myxml) {
- myxml = "";
- }
- myxml = myxml.replace(/\s*<\?[^>]*\?>\s*\n*/g, "");
- var nodetree = this.parser.parseFromString(myxml, "application/xml");
- return nodetree.firstChild;
-};
-CSL_CHROME.prototype.insertChildNodeAfter = function (parent,node,pos,datexml) {
- var myxml, xml;
- myxml = this.importNode(node.ownerDocument, datexml);
- parent.replaceChild(myxml, node);
- return parent;
-};
-CSL_CHROME.prototype.insertPublisherAndPlace = function(myxml) {
- var group = myxml.getElementsByTagName("group");
- for (var i = 0, ilen = group.length; i < ilen; i += 1) {
- var node = group.item(i);
- var skippers = [];
- for (var j = 0, jlen = node.childNodes.length; j < jlen; j += 1) {
- if (node.childNodes.item(j).nodeType !== 1) {
- skippers.push(j);
- }
- }
- if (node.childNodes.length - skippers.length === 2) {
- var twovars = [];
- for (var j = 0, jlen = 2; j < jlen; j += 1) {
- if (skippers.indexOf(j) > -1) {
- continue;
- }
- var child = node.childNodes.item(j);
- var subskippers = [];
- for (var k = 0, klen = child.childNodes.length; k < klen; k += 1) {
- if (child.childNodes.item(k).nodeType !== 1) {
- subskippers.push(k);
- }
- }
- if (child.childNodes.length - subskippers.length === 0) {
- twovars.push(child.getAttribute('variable'));
- if (child.getAttribute('suffix')
- || child.getAttribute('prefix')) {
- twovars = [];
- break;
- }
- }
- }
- if (twovars.indexOf("publisher") > -1 && twovars.indexOf("publisher-place") > -1) {
- node.setAttribute('has-publisher-and-publisher-place', true);
- }
- }
- }
-};
-CSL_CHROME.prototype.addMissingNameNodes = function(myxml) {
- var nameslist = myxml.getElementsByTagName("names");
- for (var i = 0, ilen = nameslist.length; i < ilen; i += 1) {
- var names = nameslist.item(i);
- var namelist = names.getElementsByTagName("name");
- if ((!namelist || namelist.length === 0)
- && names.parentNode.tagName.toLowerCase() !== "substitute") {
- var doc = names.ownerDocument;
- var name = doc.createElement("name");
- names.appendChild(name);
- }
- }
-};
-CSL_CHROME.prototype.addInstitutionNodes = function(myxml) {
- var names, thenames, institution, theinstitution, name, thename, xml, pos, len;
- names = myxml.getElementsByTagName("names");
- for (pos = 0, len = names.length; pos < len; pos += 1) {
- thenames = names.item(pos);
- name = thenames.getElementsByTagName("name");
- if (name.length == 0) {
- continue;
- }
- institution = thenames.getElementsByTagName("institution");
- if (institution.length == 0) {
- theinstitution = this.importNode(myxml.ownerDocument, this.institution);
- theinstitutionpart = theinstitution.getElementsByTagName("institution-part").item(0);
- thename = name.item(0);
- thenames.insertBefore(theinstitution, thename.nextSibling);
- for (var j = 0, jlen = CSL.INSTITUTION_KEYS.length; j < jlen; j += 1) {
- var attrname = CSL.INSTITUTION_KEYS[j];
- var attrval = thename.getAttribute(attrname);
- if (attrval) {
- theinstitutionpart.setAttribute(attrname, attrval);
- }
- }
- var nameparts = thename.getElementsByTagName("name-part");
- for (var j = 0, jlen = nameparts.length; j < jlen; j += 1) {
- if ('family' === nameparts[j].getAttribute('name')) {
- for (var k = 0, klen = CSL.INSTITUTION_KEYS.length; k < klen; k += 1) {
- var attrname = CSL.INSTITUTION_KEYS[k];
- var attrval = nameparts[j].getAttribute(attrname);
- if (attrval) {
- theinstitutionpart.setAttribute(attrname, attrval);
- }
- }
- }
- }
- }
- }
-};
-CSL_CHROME.prototype.flagDateMacros = function(myxml) {
- var pos, len, thenode, thedate;
- nodes = myxml.getElementsByTagName("macro");
- for (pos = 0, len = nodes.length; pos < len; pos += 1) {
- thenode = nodes.item(pos);
- thedate = thenode.getElementsByTagName("date");
- if (thedate.length) {
- thenode.setAttribute('macro-has-date', 'true');
- }
- }
-};
\ No newline at end of file
diff --git a/components/zotero-service.js b/components/zotero-service.js
index 8ecef0c4e..a490f9ce3 100644
--- a/components/zotero-service.js
+++ b/components/zotero-service.js
@@ -259,7 +259,6 @@ function makeZoteroContext(isConnector) {
// Load CiteProc into Zotero.CiteProc namespace
zContext.Zotero.CiteProc = {"Zotero":zContext.Zotero};
- subscriptLoader.loadSubScript("chrome://zotero/content/xpcom/citeproc-prereqs.js", zContext.Zotero.CiteProc);
subscriptLoader.loadSubScript("chrome://zotero/content/xpcom/citeproc.js", zContext.Zotero.CiteProc);
// Load XRegExp object into Zotero.XRegExp