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: xml_add_provenance.m,v 1.3 2007/07/30 12:13:10 ingo 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: xml_add_provenance.m,v 1.3 2007/07/30 12:13:10 ingo 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.x)
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.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     % add t
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     % add data type
0086     elcc = xml.docNode.createElement('dtype');
0087     elcc.appendChild(xml.docNode.createTextNode('complex'));
0088     elc.appendChild(elcc);
0089 
0090     % add vals
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     % add t
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 % END

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003