- /**
- * Parse XML submodule.
- *
- * @module datatype-xml
- * @submodule datatype-xml-parse
- * @for XML
- */
-
- Y.mix(Y.namespace("XML"), {
- /**
- * Converts data to type XMLDocument.
- *
- * @method parse
- * @param data {String} Data to convert.
- * @return {XMLDocument} XML Document.
- */
- parse: function(data) {
- var xmlDoc = null, win;
- if (typeof data === "string") {
- win = Y.config.win;
- if (win.ActiveXObject !== undefined) {
- xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
- xmlDoc.async = false;
- xmlDoc.loadXML(data);
- } else if (win.DOMParser !== undefined) {
- xmlDoc = new DOMParser().parseFromString(data, "text/xml");
- } else if (win.Windows !== undefined) {
- xmlDoc = new Windows.Data.Xml.Dom.XmlDocument();
- xmlDoc.loadXml(data);
- }
- }
-
- if (xmlDoc === null || xmlDoc.documentElement === null || xmlDoc.documentElement.nodeName === "parsererror") {
- Y.log("Could not parse data to type XML Document", "warn", "xml");
- }
-
- return xmlDoc;
- }
- });
-
- // Add Parsers shortcut
- Y.namespace("Parsers").xml = Y.XML.parse;
-
- Y.namespace("DataType");
- Y.DataType.XML = Y.XML;
-
-