src/xml.js

Method decode

Parameters:

  • arg must be a String.
    (XML String)

Returns an Object
(XML Object or undefined)

decode : function () { if ( server || !client.ie || client.version > 8 ) { return function ( arg ) { if ( typeof arg !== "string" || string.isEmpty( arg ) ) { throw new Error( label.error.invalidArguments ); } return new DOMParser().parseFromString( arg, "text/xml" ); }; } else { return function ( arg ) { var x; if ( typeof arg !== "string" || string.isEmpty( arg ) ) { throw new Error( label.error.invalidArguments ); } x = new ActiveXObject( "Microsoft.XMLDOM" ); x.async = "false"; x.loadXML( arg ); return x; }; } }(),

Method encode

Returns XML String from an Object or Array

Parameters:

  • arg can be of any type.
    (Object or Array to cast to XML String)

Returns a String
(XML String or undefined)

encode : function ( arg, wrap ) { try { if ( arg === undefined ) { throw new Error( label.error.invalidArguments ); } wrap = ( wrap !== false ); var x = wrap ? "<xml>" : "", top = ( arguments[2] !== false ), node;

Private method node

Encodes a value as a node

Parameters:

  • name must be a String.
    (Node name)

  • value must be a Value.
    (Node value)

Returns a String
(Node)

node = function ( name, value ) { var output = "<n>v</n>"; output = output.replace( "v", ( regex.cdata.test( value ) ? "<![CDATA[" + value + "]]>" : value ) ); return output.replace(/<(\/)?n>/g, "<$1" + name + ">"); }; if ( arg !== null && arg.xml !== undefined ) { arg = arg.xml; } if ( arg instanceof Document ) { arg = ( new XMLSerializer() ).serializeToString( arg ); } if ( regex.boolean_number_string.test( typeof arg ) ) { x += node( "item", arg ); } else if ( typeof arg === "object" ) { utility.iterate( arg, function ( v, k ) { x += xml.encode( v, ( typeof v === "object" ), false ).replace( /item|xml/g, isNaN( k ) ? k : "item" ); }); } x += wrap ? "</xml>" : ""; if ( top ) { x = "<?xml version=\"1.0\" encoding=\"UTF8\"?>" + x; } return x; } catch ( e ) { utility.error( e, arguments, this ); return undefined; } },

Method valid

Validates arg is XML

Parameters:

  • arg must be a String.
    (String to validate)

Returns a Boolean
(true if valid XML)

valid : function () { if ( server || !client.ie || client.version > 8 ) { return function ( arg ) { return ( xml.decode( arg ).getElementsByTagName( "parsererror" ).length === 0 ); }; } else { return function ( arg ) { return ( xml.decode( arg ).parseError.errorCode === 0 ); }; } }() };