You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
3.4 KiB
184 lines
3.4 KiB
if (typeof (nBildertool) === 'undefined')
|
|
nBildertool = {};
|
|
|
|
nBildertool.xmlToVar = function (data)
|
|
{
|
|
if (!data.hasChildNodes ())
|
|
return null;
|
|
|
|
var ret = null;
|
|
|
|
for (var node in data.childNodes)
|
|
{
|
|
var child = data.childNodes[node];
|
|
|
|
if (child.nodeType === 3 && child.nodeValue !== null)
|
|
{
|
|
ret = data.childNodes[node].nodeValue;
|
|
break;
|
|
}
|
|
}
|
|
|
|
switch (data.getAttribute ('type'))
|
|
{
|
|
case 'integer': ret = parseInt (ret, 10); break;
|
|
case 'double': ret = parseFloat (ret);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
nBildertool.xmlToObjectArray = function (data)
|
|
{
|
|
var ret = new Array ();
|
|
|
|
if (! data.hasChildNodes ())
|
|
return ret;
|
|
|
|
for (var node in data.childNodes)
|
|
{
|
|
var child = data.childNodes[node];
|
|
|
|
if (child.nodeType === 1)
|
|
{
|
|
name = child.getAttribute ('name');
|
|
|
|
switch (child.nodeName)
|
|
{
|
|
case 'variable':
|
|
ret[name] = nBildertool.xmlToVar (child); break;
|
|
case 'array':
|
|
ret[name] = nBildertool.xmlToArray (child); break;
|
|
case 'class':
|
|
var cName = child.getAttribute ('class');
|
|
|
|
switch (cName)
|
|
{
|
|
case 'c_picToolStrecke_new3':
|
|
ret[name] = new nBildertool.strecke (child);
|
|
break;
|
|
|
|
default:
|
|
ret[name] = nBildertool.xmlToObjectArray (child);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
nBildertool.xmlToArray = function (data)
|
|
{
|
|
var ret = new Array ();
|
|
|
|
if (! data.hasChildNodes ())
|
|
return ret;
|
|
|
|
for (var node in data.childNodes)
|
|
{
|
|
var child = data.childNodes[node];
|
|
|
|
if (child.nodeType === 1 && child.nodeName === 'item')
|
|
{
|
|
var key = child.getAttribute ('key');
|
|
|
|
for (var _node in child.childNodes)
|
|
{
|
|
var _child = child.childNodes[_node];
|
|
|
|
if (_child.nodeType === 1)
|
|
{
|
|
switch (_child.nodeName)
|
|
{
|
|
case 'variable':
|
|
ret[key] = nBildertool.xmlToVar (_child); break;
|
|
case 'array':
|
|
ret[key] = nBildertool.xmlToArray (_child); break;
|
|
case 'class':
|
|
var cName = _child.getAttribute ('class');
|
|
|
|
switch (cName)
|
|
{
|
|
case 'c_picToolStrecke_new3':
|
|
ret[key] = new nBildertool.strecke (_child);
|
|
break;
|
|
|
|
default:
|
|
ret[key] = nBildertool.xmlToObjectArray (_child);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
nBildertool.c_xmlify = function (data)
|
|
{
|
|
if (! data.hasChildNodes ())
|
|
return;
|
|
|
|
for (var node in data.childNodes)
|
|
{
|
|
var child = data.childNodes[node];
|
|
|
|
if (child.nodeType === 1)
|
|
{
|
|
var name = child.getAttribute ('name');
|
|
|
|
if (typeof (this[name]) !== 'undefined')
|
|
{
|
|
switch (child.nodeName)
|
|
{
|
|
case 'variable':
|
|
this[name] = nBildertool.xmlToVar (child); break;
|
|
case 'array':
|
|
this[name] = nBildertool.xmlToArray (child); break;
|
|
case 'class':
|
|
var cName = child.getAttribute ('class');
|
|
|
|
switch (cName)
|
|
{
|
|
case 'c_picToolStrecke_new3':
|
|
this[name] = new nBildertool.strecke (child);
|
|
break;
|
|
|
|
default:
|
|
this[name] = nBildertool.xmlToObjectArray (child);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
nBildertool.deXmlify = function (data)
|
|
{
|
|
var ret = null;
|
|
var child = data.firstChild;
|
|
|
|
switch (child.nodeName)
|
|
{
|
|
case 'variable':
|
|
ret = nBildertool.xmlToVar (child); break;
|
|
case 'array':
|
|
ret = nBildertool.xmlToArray (child); break;
|
|
case 'class':
|
|
var cName = child.getAttribute ('class');
|
|
|
|
switch (cName)
|
|
{
|
|
case 'c_picToolStrecke_new3':
|
|
ret = new nBildertool.strecke (child);
|
|
break;
|
|
|
|
default:
|
|
ret = nBildertool.xmlToObjectArray (child);
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|