2 Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3 Code licensed under the BSD License:
4 http://developer.yahoo.com/yui/license.html
8 YUI.add('datatype-xml-parse', function(Y) {
11 * Parse XML submodule.
14 * @submodule datatype-xml-parse
20 Y.mix(Y.namespace("DataType.XML"), {
22 * Converts data to type XMLDocument.
25 * @param data {String} Data to convert.
26 * @return {XMLDoc} XML Document.
28 parse: function(data) {
30 if(LANG.isString(data)) {
32 if(!LANG.isUndefined(ActiveXObject)) {
33 xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
40 if(!LANG.isUndefined(DOMParser)) {
41 xmlDoc = new DOMParser().parseFromString(data, "text/xml");
49 if( (LANG.isNull(xmlDoc)) || (LANG.isNull(xmlDoc.documentElement)) || (xmlDoc.documentElement.nodeName === "parsererror") ) {
56 // Add Parsers shortcut
57 Y.namespace("Parsers").xml = Y.DataType.XML.parse;
61 }, '3.3.0' ,{requires:['yui-base']});
62 YUI.add('datatype-xml-format', function(Y) {
65 * Format XML submodule.
68 * @submodule datatype-xml-format
75 * @submodule datatype-xml
79 * DataType.XML provides a set of utility functions to operate against XML documents.
86 Y.mix(Y.namespace("DataType.XML"), {
88 * Converts data to type XMLDocument.
91 * @param data {XMLDoc} Data to convert.
92 * @return {String} String.
94 format: function(data) {
96 if(!LANG.isUndefined(XMLSerializer)) {
97 return (new XMLSerializer()).serializeToString(data);
101 if(data && data.xml) {
105 return (LANG.isValue(data) && data.toString) ? data.toString() : "";
113 }, '3.3.0' ,{requires:['yui-base']});
116 YUI.add('datatype-xml', function(Y){}, '3.3.0' ,{use:['datatype-xml-parse', 'datatype-xml-format']});