Home > classes > @param > xmladd.m

xmladd

PURPOSE ^

XMLADD add a parameter object to the given node of the input XML

SYNOPSIS ^

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

DESCRIPTION ^

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

 M Hewitson 14-02-07

 $Id: xml_add_param.m,v 1.5 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(ps, xml, nodename, node)
0002 
0003 % XMLADD add a parameter object to the given node of the input XML
0004 % DOM object.
0005 %
0006 % M Hewitson 14-02-07
0007 %
0008 % $Id: xml_add_param.m,v 1.5 2007/07/30 12:13:10 ingo Exp $
0009 %
0010 
0011 el = xml.docNode.createElement(nodename);
0012 
0013 for j=1:length(ps)
0014   p = ps(j);
0015   % Now add object
0016   elc = xml.docNode.createElement('param');
0017 
0018   %% Add AO name
0019   elcc = xml.docNode.createElement('name');
0020   elcc.appendChild(xml.docNode.createTextNode(p.name));
0021   elc.appendChild(elcc);
0022 
0023   % add Created
0024   xml = xmladd(p.created, xml, 'created', elc);
0025 
0026   % add version
0027   elcc = xml.docNode.createElement('version');
0028   elcc.appendChild(xml.docNode.createTextNode(p.version));
0029   elc.appendChild(elcc);
0030 
0031   % add key
0032   elcc = xml.docNode.createElement('key');
0033   elcc.appendChild(xml.docNode.createTextNode(p.key));
0034   elc.appendChild(elcc);
0035 
0036   % add value: char
0037   if ischar(p.val)
0038     elcc = xml.docNode.createElement('value');
0039     elcc.appendChild(xml.docNode.createTextNode(p.val));
0040     elc.appendChild(elcc);
0041 
0042   % add value: numeric
0043   elseif isnumeric(p.val)
0044     elcc = xml.docNode.createElement('value');
0045     elcc.appendChild(xml.docNode.createTextNode(ltpda_mat2str(p.val)));
0046     elc.appendChild(elcc);
0047 
0048   % add value: cell array of char
0049   elseif iscell(p.val)
0050     if ischar(p.val{1})
0051       elcc = xml.docNode.createElement('value');
0052       str = 'CELL:';
0053       for jj=1:length(p.val)
0054         str = [str ' ' p.val{jj}];
0055       end
0056       elcc.appendChild(xml.docNode.createTextNode(str));
0057       elc.appendChild(elcc);
0058     else
0059       error('### The value of a parameter can only contain a cell array of character');
0060     end
0061 
0062   % add value: object
0063   else
0064     xml = xmladd(p.val, xml, 'value', elc);
0065   end
0066 
0067   el.appendChild(elc);
0068 end
0069 
0070 node.appendChild(el);
0071 
0072 
0073 
0074 % END

Generated on Thu 01-Nov-2007 09:42:34 by m2html © 2003