diff options
Diffstat (limited to 'resources/lib/jquery/jquery.xmldom.js')
-rw-r--r-- | resources/lib/jquery/jquery.xmldom.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/resources/lib/jquery/jquery.xmldom.js b/resources/lib/jquery/jquery.xmldom.js new file mode 100644 index 00000000..85d0083d --- /dev/null +++ b/resources/lib/jquery/jquery.xmldom.js @@ -0,0 +1,46 @@ +/*! + * jQuery xmlDOM Plugin v1.0 + * http://outwestmedia.com/jquery-plugins/xmldom/ + * + * Released: 2009-04-06 + * Version: 1.0 + * + * Copyright (c) 2009 Jonathan Sharp, Out West Media LLC. + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + */ +(function($) { + // IE DOMParser wrapper + if ( window['DOMParser'] == undefined && window.ActiveXObject ) { + DOMParser = function() { }; + DOMParser.prototype.parseFromString = function( xmlString ) { + var doc = new ActiveXObject('Microsoft.XMLDOM'); + doc.async = 'false'; + doc.loadXML( xmlString ); + return doc; + }; + } + + $.xmlDOM = function(xml, onErrorFn) { + try { + var xmlDoc = ( new DOMParser() ).parseFromString( xml, 'text/xml' ); + if ( $.isXMLDoc( xmlDoc ) ) { + var err = $('parsererror', xmlDoc); + if ( err.length == 1 ) { + throw('Error: ' + $(xmlDoc).text() ); + } + } else { + throw('Unable to parse XML'); + } + } catch( e ) { + var msg = ( e.name == undefined ? e : e.name + ': ' + e.message ); + if ( $.isFunction( onErrorFn ) ) { + onErrorFn( msg ); + } else { + $(document).trigger('xmlParseError', [ msg ]); + } + return $([]); + } + return $( xmlDoc ); + }; +})(jQuery);
\ No newline at end of file |