Я очень новичок в XSLT и застрял на проблеме надолго. Структура этого XML документа меня бросает, и я не знаю, как go о его реструктуризации.
Пример XML приведен ниже.
<?xml version="1.0" encoding="utf-16"?>
<data>
<source>192.***.**.**</source>
<device>
<Id>1234</Id>
</device>
<update>
<time>20141014T060927.557+0000</time>
<field>
<id>1</id>
<dtype>float</dtype>
<value>-31.917587</value>
</field>
<field>
<id>2</id>
<dtype>float</dtype>
<value>115.806841</value>
</field>
<field>
<id>3</id>
<dtype>int</dtype>
<value>3</value>
</field>
<field>
<id>4</id>
<dtype>int</dtype>
<value>1</value>
</field>
</update>
</data>
В этой структуре элемент id фактически является именем поля, в то время как dtype является типом данных поля. Значение - это значение.
Требуемая структура:
<?xml version="1.0" encoding="utf-16"?>
<data>
<source>192.168.20.21</source>
<device>
<Id>1234</Id>
</device>
<update>
<field>
<column1>-31.917587</column1>
<column2>115.806841</column2>
<column3>3</column3>
<column4>1</column4>
<time>20141014T060927.557+0000</time>
</field>
</update>
</data>
Я понимаю, что XSLT - единственный способ go об этом, но я не разработал, как лучше построить таблицу стилей, которая выведет меня из существующей структуры в желаемый.
Некоторая помощь будет принята с благодарностью.