datatype-xml-parse.js revision 76ca635d61eb3f9fb7c9d788a44fa8b1690aa138
3170N/AYUI.add('datatype-xml-parse', function(Y) {
3170N/A
3170N/A/**
3170N/A * Parse XML submodule.
3170N/A *
3170N/A * @module datatype
3170N/A * @submodule datatype-xml-parse
3170N/A * @for DataType.XML
3170N/A */
3170N/A
3170N/Avar LANG = Y.Lang;
3170N/A
3170N/AY.mix(Y.namespace("DataType.XML"), {
3170N/A /**
3170N/A * Converts data to type XMLDocument.
3170N/A *
3170N/A * @method parse
3170N/A * @param data {String} Data to convert.
3170N/A * @return {XMLDoc} XML Document.
3170N/A */
3817N/A parse: function(data) {
3170N/A var xmlDoc = null;
3170N/A if(LANG.isString(data)) {
3170N/A try {
3170N/A if(!LANG.isUndefined(ActiveXObject)) {
3170N/A xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
3170N/A xmlDoc.async = false;
3170N/A xmlDoc.loadXML(data);
3170N/A }
3170N/A }
4194N/A catch(ee) {
3817N/A try {
3171N/A if(!LANG.isUndefined(DOMParser)) {
3170N/A xmlDoc = new DOMParser().parseFromString(data, "text/xml");
4337N/A }
3170N/A }
catch(e) {
}
}
}
if( (LANG.isNull(xmlDoc)) || (LANG.isNull(xmlDoc.documentElement)) || (xmlDoc.documentElement.nodeName === "parsererror") ) {
}
return xmlDoc;
}
});
// Add Parsers shortcut
Y.namespace("Parsers").xml = Y.DataType.XML.parse;
}, '@VERSION@' );