diff --git a/lib/xml.js b/lib/xml.js index cd59109..0fcdb96 100644 --- a/lib/xml.js +++ b/lib/xml.js @@ -117,32 +117,44 @@ var XMLObject = function(dom) { } this.encode = function(value, type) { - var dom = this.getDOM(); + try { + var dom = this.getDOM(); - dom.dataType = type; - if (type.indexOf("bin.") == 0) { - dom.nodeTypedValue = (new StreamConvert(value)).toBinary(); - } else { - dom.nodeTypedValue = value; + dom.dataType = type; + if (type.indexOf("bin.") == 0) { + dom.nodeTypedValue = (new StreamConvert(value)).toBinary(); + } else { + dom.nodeTypedValue = value; + } + + return dom.text; + } catch (e) { + console.error("XMLObject->encode():", e.message); } - - return dom.text; }; this.decode = function(value, type) { - var dom = this.getDOM(); + try { + var dom = this.getDOM(); - dom.dataType = type; - if (type.indexOf("bin.") == 0) { - dom.text = (new StreamConvert(value)).toString(); - } else { - dom.text = value; + dom.dataType = type; + if (type.indexOf("bin.") == 0) { + dom.text = (new StreamConvert(value)).toString(); + } else { + dom.text = value; + } + + return dom.nodeTypedValue; + } catch (e) { + console.error("XMLObject->decode():", e.message); } - - return dom.nodeTypedValue; }; }; +exports.create = function() { + return (new XMLObject()); +}; + exports.load = function(s) { return (new XMLObject()).load(s); };