3
Copyright 2011 Yahoo! Inc. All rights reserved.
4
Licensed under the BSD License.
5
http://yuilibrary.com/license/
7
YUI.add('datatype-xml-parse', function(Y) {
10
* Parse XML submodule.
13
* @submodule datatype-xml-parse
19
Y.mix(Y.namespace("DataType.XML"), {
21
* Converts data to type XMLDocument.
24
* @param data {String} Data to convert.
25
* @return {XMLDoc} XML Document.
27
parse: function(data) {
29
if(LANG.isString(data)) {
31
if(!LANG.isUndefined(ActiveXObject)) {
32
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
39
if(!LANG.isUndefined(DOMParser)) {
40
xmlDoc = new DOMParser().parseFromString(data, "text/xml");
45
Y.log(ee.message + " (Could not parse data " + Y.dump(data) + " to type XML Document)", "warn", "datatype-xml");
49
if( (LANG.isNull(xmlDoc)) || (LANG.isNull(xmlDoc.documentElement)) || (xmlDoc.documentElement.nodeName === "parsererror") ) {
50
Y.log("Could not parse data " + Y.dump(data) + " to type XML Document", "warn", "datatype-xml");
57
// Add Parsers shortcut
58
Y.namespace("Parsers").xml = Y.DataType.XML.parse;