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.x)
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.x;
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_mat2str(x(1:n))));
0070 x = x(n+1:end);
0071 elcc.appendChild(elccc);
0072 end
0073
0074 x = d.t;
0075 nmin = getappdata(0, 'xmlsetsize');
0076 while ~isempty(x)
0077 elccc = xml.docNode.createElement('xset');
0078 n = min(length(x), nmin);
0079 elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(x(1:n))));
0080 x = x(n+1:end);
0081 elcc.appendChild(elccc);
0082 end
0083 elc.appendChild(elcc);
0084 else
0085
0086 elcc = xml.docNode.createElement('dtype');
0087 elcc.appendChild(xml.docNode.createTextNode('complex'));
0088 elc.appendChild(elcc);
0089
0090
0091 elcc = xml.docNode.createElement('data');
0092 x = d.x;
0093 nmin = getappdata(0, 'xmlsetsize');
0094 while ~isempty(x)
0095 n = min(length(x), nmin);
0096 elccc = xml.docNode.createElement('ryset');
0097 elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(real(x(1:n)))));
0098 elcc.appendChild(elccc);
0099 elccc = xml.docNode.createElement('iyset');
0100 elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(imag(x(1:n)))));
0101 elcc.appendChild(elccc);
0102 x = x(n+1:end);
0103 end
0104
0105 x = d.t;
0106 nmin = getappdata(0, 'xmlsetsize');
0107 while ~isempty(x)
0108 elccc = xml.docNode.createElement('xset');
0109 n = min(length(x), nmin);
0110 elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(x(1:n))));
0111 x = x(n+1:end);
0112 elcc.appendChild(elccc);
0113 end
0114 elc.appendChild(elcc);
0115 end
0116 el.appendChild(elc);
0117 end
0118
0119 node.appendChild(el);
0120
0121
0122