0001 function xml = xmladd(ds, xml, nodename, node)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 el = xml.docNode.createElement(nodename);
0012
0013 for j=1:length(ds)
0014
0015 d = ds(j);
0016
0017 elc = xml.docNode.createElement('tsdata');
0018
0019
0020 elcc = xml.docNode.createElement('name');
0021 elcc.appendChild(xml.docNode.createTextNode(d.name));
0022 elc.appendChild(elcc);
0023
0024
0025 elcc = xml.docNode.createElement('fs');
0026 elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.fs)));
0027 elc.appendChild(elcc);
0028
0029
0030 elcc = xml.docNode.createElement('xunits');
0031 elcc.appendChild(xml.docNode.createTextNode(d.xunits));
0032 elc.appendChild(elcc);
0033
0034
0035 elcc = xml.docNode.createElement('yunits');
0036 elcc.appendChild(xml.docNode.createTextNode(d.yunits));
0037 elc.appendChild(elcc);
0038
0039
0040 elcc = xml.docNode.createElement('nsecs');
0041 elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.nsecs)));
0042 elc.appendChild(elcc);
0043
0044
0045 xml = xmladd(get(d, 't0'), xml, 't0', elc);
0046
0047
0048 elcc = xml.docNode.createElement('version');
0049 elcc.appendChild(xml.docNode.createTextNode(d.version));
0050 elc.appendChild(elcc);
0051
0052
0053 xml = xmladd(get(d, 'created'), xml, 'created', elc);
0054
0055 if isreal(d.y)
0056
0057
0058 elcc = xml.docNode.createElement('dtype');
0059 elcc.appendChild(xml.docNode.createTextNode('real'));
0060 elc.appendChild(elcc);
0061
0062
0063 elcc = xml.docNode.createElement('data');
0064 x = d.y;
0065 nmin = getappdata(0, 'xmlsetsize');
0066 while ~isempty(x)
0067 elccc = xml.docNode.createElement('yset');
0068 n = min(length(x), nmin);
0069 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(x(1:n))));
0070
0071 x = x(n+1:end);
0072 elcc.appendChild(elccc);
0073 end
0074
0075 x = d.x;
0076 nmin = getappdata(0, 'xmlsetsize');
0077 while ~isempty(x)
0078 elccc = xml.docNode.createElement('xset');
0079 n = min(length(x), nmin);
0080 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(x(1:n))));
0081
0082 x = x(n+1:end);
0083 elcc.appendChild(elccc);
0084 end
0085 elc.appendChild(elcc);
0086 else
0087
0088 elcc = xml.docNode.createElement('dtype');
0089 elcc.appendChild(xml.docNode.createTextNode('complex'));
0090 elc.appendChild(elcc);
0091
0092
0093 elcc = xml.docNode.createElement('data');
0094 x = d.y;
0095 nmin = getappdata(0, 'xmlsetsize');
0096 while ~isempty(x)
0097 n = min(length(x), nmin);
0098 elccc = xml.docNode.createElement('ryset');
0099 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(real(x(1:n)))));
0100 elcc.appendChild(elccc);
0101 elccc = xml.docNode.createElement('iyset');
0102 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(imag(x(1:n)))));
0103 elcc.appendChild(elccc);
0104 x = x(n+1:end);
0105 end
0106
0107 x = d.x;
0108 nmin = getappdata(0, 'xmlsetsize');
0109 while ~isempty(x)
0110 elccc = xml.docNode.createElement('xset');
0111 n = min(length(x), nmin);
0112 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(x(1:n))));
0113 x = x(n+1:end);
0114 elcc.appendChild(elccc);
0115 end
0116 elc.appendChild(elcc);
0117 end
0118 el.appendChild(elc);
0119 end
0120
0121 node.appendChild(el);
0122
0123
0124