Home > classes > @fsdata > xmladd.m

xmladd

PURPOSE ^

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

SYNOPSIS ^

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

DESCRIPTION ^

 XMLADD add a fsdata 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 fsdata 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('fsdata');
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 enbw
0030   elcc = xml.docNode.createElement('enbw');
0031   elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.enbw)));
0032   elc.appendChild(elcc);
0033 
0034   % add Navs
0035   elcc = xml.docNode.createElement('navs');
0036   elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(d.navs)));
0037   elc.appendChild(elcc);
0038 
0039   % add Xunits
0040   elcc = xml.docNode.createElement('xunits');
0041   elcc.appendChild(xml.docNode.createTextNode(d.xunits));
0042   elc.appendChild(elcc);
0043 
0044   % add Yunits
0045   elcc = xml.docNode.createElement('yunits');
0046   elcc.appendChild(xml.docNode.createTextNode(d.yunits));
0047   elc.appendChild(elcc);
0048 
0049   % add Version
0050   elcc = xml.docNode.createElement('version');
0051   elcc.appendChild(xml.docNode.createTextNode(d.version));
0052   elc.appendChild(elcc);
0053 
0054   % add Created
0055   xml = xmladd(get(d, 'created'), xml, 'created', elc);
0056 
0057   if isreal(d.xx)
0058     % add data type
0059     elcc = xml.docNode.createElement('dtype');
0060     elcc.appendChild(xml.docNode.createTextNode('real'));
0061     elc.appendChild(elcc);
0062 
0063     % add real xx
0064     elcc = xml.docNode.createElement('data');
0065     x    = d.xx;
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_mat2str(x(1:n))));
0071       x = x(n+1:end);
0072       elcc.appendChild(elccc);
0073     end
0074     % add f
0075     x    = d.f;
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_mat2str(x(1:n))));
0081       x = x(n+1:end);
0082       elcc.appendChild(elccc);
0083     end
0084     elc.appendChild(elcc);
0085   else
0086     % add data type
0087     elcc = xml.docNode.createElement('dtype');
0088     elcc.appendChild(xml.docNode.createTextNode('complex'));
0089     elc.appendChild(elcc);
0090 
0091     % add real xx
0092     elcc = xml.docNode.createElement('data');
0093     x    = d.xx;
0094     nmin = getappdata(0, 'xmlsetsize');
0095     while ~isempty(x)
0096       n = min(length(x), nmin);
0097       elccc = xml.docNode.createElement('ryset');
0098       elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(real(x(1:n)))));
0099       elcc.appendChild(elccc);
0100       elccc = xml.docNode.createElement('iyset');
0101       elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(imag(x(1:n)))));
0102       elcc.appendChild(elccc);
0103       x = x(n+1:end);
0104     end
0105     % add f
0106     x    = d.f;
0107     nmin = getappdata(0, 'xmlsetsize');
0108     while ~isempty(x)
0109       elccc = xml.docNode.createElement('xset');
0110       n = min(length(x), nmin);
0111       elccc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(x(1:n))));
0112       x = x(n+1:end);
0113       elcc.appendChild(elccc);
0114     end
0115     elc.appendChild(elcc);
0116   end
0117 
0118   el.appendChild(elc);
0119 end
0120 
0121 node.appendChild(el);
0122 
0123 
0124 % END

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