Update for new wrapping code and complain on attempts to activate E4X
This commit is contained in:
parent
d780350d24
commit
8963dc7d97
|
@ -2136,7 +2136,7 @@ Zotero.Translate.IO = {
|
||||||
/**
|
/**
|
||||||
* @class Translate backend for translating from a string
|
* @class Translate backend for translating from a string
|
||||||
*/
|
*/
|
||||||
Zotero.Translate.IO.String = function(string, uri, mode) {
|
Zotero.Translate.IO.String = function(string, uri) {
|
||||||
if(string && typeof string === "string") {
|
if(string && typeof string === "string") {
|
||||||
this.string = string;
|
this.string = string;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2228,17 +2228,13 @@ Zotero.Translate.IO.String.prototype = {
|
||||||
},
|
},
|
||||||
|
|
||||||
"_getXML":function() {
|
"_getXML":function() {
|
||||||
if(this._mode == "xml/dom") {
|
try {
|
||||||
try {
|
var xml = Zotero.Translate.IO.parseDOMXML(this.string);
|
||||||
var xml = Zotero.Translate.IO.parseDOMXML(this.string);
|
} catch(e) {
|
||||||
} catch(e) {
|
this._xmlInvalid = true;
|
||||||
this._xmlInvalid = true;
|
throw e;
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
return (Zotero.isFx5 ? Zotero.Translate.SandboxManager.Fx5DOMWrapper(xml) : xml);
|
|
||||||
} else {
|
|
||||||
return this.string.replace(/<\?xml[^>]+\?>/, "");
|
|
||||||
}
|
}
|
||||||
|
return (Zotero.isFx ? Zotero.Translate.DOMWrapper.wrap(xml) : xml);
|
||||||
},
|
},
|
||||||
|
|
||||||
"init":function(newMode, callback) {
|
"init":function(newMode, callback) {
|
||||||
|
@ -2246,8 +2242,10 @@ Zotero.Translate.IO.String.prototype = {
|
||||||
this._noCR = undefined;
|
this._noCR = undefined;
|
||||||
|
|
||||||
this._mode = newMode;
|
this._mode = newMode;
|
||||||
if(newMode && (Zotero.Translate.IO.rdfDataModes.indexOf(newMode) !== -1
|
if(newMode === "xml/e4x") {
|
||||||
|| newMode.substr(0, 3) === "xml") && this._xmlInvalid) {
|
throw "E4X is not supported";
|
||||||
|
} else if(newMode && (Zotero.Translate.IO.rdfDataModes.indexOf(newMode) !== -1
|
||||||
|
|| newMode.substr(0, 3) === "xml/dom") && this._xmlInvalid) {
|
||||||
throw "XML known invalid";
|
throw "XML known invalid";
|
||||||
} else if(Zotero.Translate.IO.rdfDataModes.indexOf(this._mode) !== -1) {
|
} else if(Zotero.Translate.IO.rdfDataModes.indexOf(this._mode) !== -1) {
|
||||||
this._initRDF(callback);
|
this._initRDF(callback);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user