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('cdata');
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('xunits');
0026 elcc.appendChild(xml.docNode.createTextNode(d.xunits));
0027 elc.appendChild(elcc);
0028
0029
0030 elcc = xml.docNode.createElement('yunits');
0031 elcc.appendChild(xml.docNode.createTextNode(d.yunits));
0032 elc.appendChild(elcc);
0033
0034
0035 elcc = xml.docNode.createElement('version');
0036 elcc.appendChild(xml.docNode.createTextNode(d.version));
0037 elc.appendChild(elcc);
0038
0039
0040 xml = xmladd(get(d, 'created'), xml, 'created', elc);
0041
0042
0043 elcc = xml.docNode.createElement('xset');
0044 x = get(d, 'x');
0045 istr = '';
0046 for j=1:length(x)
0047 istr = [istr ' ' x{j}];
0048 end
0049 elcc.appendChild(xml.docNode.createTextNode(istr));
0050 elc.appendChild(elcc);
0051
0052
0053 elcc = xml.docNode.createElement('shape');
0054 elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(size(d.y))));
0055 elc.appendChild(elcc);
0056
0057 if isreal(d.y)
0058
0059 elcc = xml.docNode.createElement('dtype');
0060 elcc.appendChild(xml.docNode.createTextNode('real'));
0061 elc.appendChild(elcc);
0062
0063
0064 elcc = xml.docNode.createElement('data');
0065 x = reshape(d.y, 1, numel(d.y));
0066 nmin = getappdata(0, 'xmlsetsize');
0067 while ~isempty(x)
0068 elccc = xml.docNode.createElement('yset');
0069 n = min(length(x), nmin);
0070 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(x(1:n))));
0071 x = x(n+1:end);
0072 elcc.appendChild(elccc);
0073 end
0074 elc.appendChild(elcc);
0075 else
0076
0077 elcc = xml.docNode.createElement('dtype');
0078 elcc.appendChild(xml.docNode.createTextNode('complex'));
0079 elc.appendChild(elcc);
0080
0081
0082 elcc = xml.docNode.createElement('data');
0083 x = reshape(d.y, 1, numel(d.y));
0084 nmin = getappdata(0, 'xmlsetsize');
0085 while ~isempty(x)
0086 n = min(length(x), nmin);
0087 elccc = xml.docNode.createElement('ryset');
0088 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(real(x(1:n)))));
0089 elcc.appendChild(elccc);
0090 elccc = xml.docNode.createElement('iyset');
0091 elccc.appendChild(xml.docNode.createTextNode(ltpda_num2str(imag(x(1:n)))));
0092 elcc.appendChild(elccc);
0093 x = x(n+1:end);
0094 end
0095 elc.appendChild(elcc);
0096 end
0097
0098 el.appendChild(elc);
0099 end
0100
0101 node.appendChild(el);
0102
0103
0104