Home > classes > @tsdata > xmladd.m

xmladd

PURPOSE ^

XMLADD add a tsdata object to the given node of the input XML DOM

SYNOPSIS ^

function xml = xmladd(ds, xml, nodename, node)

DESCRIPTION ^

 XMLADD add a tsdata object to the given node of the input XML DOM
 object.

 M Hewitson 14-02-07

 $Id: xmladd.html,v 1.6 2008/02/12 12:18:02 hewitson Exp $

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function xml = xmladd(ds, xml, nodename, node)
0002 
0003 % XMLADD add a tsdata object to the given node of the input XML DOM
0004 % object.
0005 %
0006 % M Hewitson 14-02-07
0007 %
0008 % $Id: xmladd.html,v 1.6 2008/02/12 12:18:02 hewitson Exp $
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   % add name
0020   elcc = xml.docNode.createElement('name');
0021   elcc.appendChild(xml.docNode.createTextNode(d.name));
0022   elc.appendChild(elcc);
0023 
0024   % add Fs
0025   elcc = xml.docNode.createElement('fs');
0026   elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.fs)));
0027   elc.appendChild(elcc);
0028 
0029   % add Xunits
0030   elcc = xml.docNode.createElement('xunits');
0031   elcc.appendChild(xml.docNode.createTextNode(d.xunits));
0032   elc.appendChild(elcc);
0033 
0034   % add Yunits
0035   elcc = xml.docNode.createElement('yunits');
0036   elcc.appendChild(xml.docNode.createTextNode(d.yunits));
0037   elc.appendChild(elcc);
0038 
0039   % add nsecs
0040   elcc = xml.docNode.createElement('nsecs');
0041   elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.nsecs)));
0042   elc.appendChild(elcc);
0043 
0044   % add t0
0045   xml = xmladd(get(d, 't0'), xml, 't0', elc);
0046 
0047   % add Version
0048   elcc = xml.docNode.createElement('version');
0049   elcc.appendChild(xml.docNode.createTextNode(d.version));
0050   elc.appendChild(elcc);
0051 
0052   % add Created
0053   xml = xmladd(get(d, 'created'), xml, 'created', elc);
0054 
0055   if isreal(d.y)
0056 
0057     % add data type
0058     elcc = xml.docNode.createElement('dtype');
0059     elcc.appendChild(xml.docNode.createTextNode('real'));
0060     elc.appendChild(elcc);
0061 
0062     % add t,x
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 %       elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(x(1:n))));
0071       x = x(n+1:end);
0072       elcc.appendChild(elccc);
0073     end
0074     % add t
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 %       elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(x(1:n))));
0082       x = x(n+1:end);
0083       elcc.appendChild(elccc);
0084     end
0085     elc.appendChild(elcc);
0086   else
0087     % add data type
0088     elcc = xml.docNode.createElement('dtype');
0089     elcc.appendChild(xml.docNode.createTextNode('complex'));
0090     elc.appendChild(elcc);
0091 
0092     % add y
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     % add t
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 % END

Generated on Tue 12-Feb-2008 13:12:45 by m2html © 2003