dataschema-xml-min.js revision 0d6d1a2d994933a68a100ec3dcdc7c7a0eeeae6c
YUI.add("dataschema-xml",function(C){var B=C.Lang,A={toString:function(){return"DataSchema.XML";},apply:function(F,G){var D=G,E={results:[],meta:{}};if(B.isObject(D)&&F){if(!B.isUndefined(F.resultsLocator)){E=A._parseResults(F,D,E);}if(!B.isUndefined(F.metaFields)){E=A._parseMeta(F.metaFields,D,E);}}else{E.error=true;}return E;},_parseResults:function(I,F,H){var G=[],E,D;if(I.resultsLocator){E=F.getElementsByTagName(I.resultsLocator);if(B.isArray(I.resultsFields)&&E.length){H=A._getFieldValues(I.resultsFields,E,H);}else{H.results=[];H.error=new Error(this.toString()+" Fields retrieval failure");}}return H;},_getFieldValues:function(J,S,G){var K=[],N=S.length-1,M,R,I,P,D,U,T,E,H;try{for(;N>=0;N--){P={};I=S[N];M=J.length-1;for(;M>=0;M--){D=J[M];U=(B.isValue(D.key))?D.key:D;if(I.attributes.getNamedItem(U)){T=I.attributes.getNamedItem(U).value;}else{E=I.getElementsByTagName(U);if(E&&E.item(0)){R=E.item(0);T=(R)?((R.text)?R.text:(R.textContent)?R.textContent:null):null;if(!T){H=[];for(var L=0,O=R.childNodes.length;L<O;L++){if(R.childNodes[L].nodeValue){H[H.length]=R.childNodes[L].nodeValue;}}if(H.length>0){T=H.join("");}}}}if(T===null){T="";}var F=(typeof D.parser==="function")?D.parser:null;if(F){T=F.call(this,T);}if(T===undefined){T=null;}P[U]=T;}K[N]=P;}}catch(Q){G.error=new Error(this.toString()+" Fields retrieval failure");}G.results=K;return G;},_parseMeta:function(H,D,F){if(B.isObject(H)){var E,I,G;for(E in H){if(H.hasOwnProperty(E)){I=H[E];G=D.getElementsByTagName(I)[0];if(G){G=G.firstChild.nodeValue;}else{G=D.attributes.getNamedItem(I);if(G){G=G.value;}}if(B.isValue(G)){F.meta[E]=G;}}}}else{F.error=new Error(this.toString()+" Meta retrieval failure");}return F;}};C.DataSchema.XML=C.mix(A,C.DataSchema.Base);},"@VERSION@",{requires:["dataschema-base"]});