У меня нет большого опыта работы с XSLT. Мне нужна ваша помощь, чтобы подготовить правильное преобразование XSL для ниже xml. У меня есть XML, какВложенные для каждого в XSLT
<message>
<requisition>
<data-values>
<data-value multi-valued="false">
<name>Test_Grid-1.Name</name>
<value>1</value>
</data-value>
<data-value multi-valued="false">
<name>Test_Grid-1.SupportType</name>
<value>Monthly,Quarterly</value>
</data-value>
<data-value multi-valued="false">
<name>Test_Grid-1.Status</name>
<value>New</value>
</data-value>
<data-value multi-valued="false">
<name>Test_Grid-2.Name</name>
<value>2</value>
</data-value>
<data-value multi-valued="false">
<name>Test_Grid-2.SupportType</name>
<value>Monthly</value>
</data-value>
<data-value multi-valued="false">
<name>Test_Grid-2.Status</name>
<value>Existing</value>
</data-value>
</data-values>
</requisition>
<agent-parameter multi-valued="false">
<name>ActionType</name>
<value>New</value>
</agent-parameter>
<agent-parameter multi-valued="false">
<name>Dictionary</name>
<value>Test_Grid</value>
</agent-parameter>
<agent-parameter multi-valued="false">
<name>ActionName</name>
<value>SupportData</value>
</agent-parameter>
</message>
Я хочу, чтобы подготовить XML, как это:
<ext:message>
<ext:record>
<ext:name>SupportData</ext:name>
<ext:rowData>
<ext:rowAttribute name="Name">1</ext:rowAttribute>
<ext:rowAttribute name="SupportType">Monthly,Quarterly</ext:rowAttribute>
<ext:rowAttribute name="Status">New</ext:rowAttribute>
</ext:rowData>
</ext:record>
<ext:record>
<ext:name>SupportData</ext:name>
<ext:rowData>
<ext:rowAttribute name="Name">2</ext:rowAttribute>
<ext:rowAttribute name="SupportType">Monthly</ext:rowAttribute>
<ext:rowAttribute name="Status">Existing</ext:rowAttribute>
</ext:rowData>
</ext:record>
Можете ли вы помочь мне с Трансформации XSL для этого. Очень ценю вашу поддержку.
Можно ли объяснить, как данные отображаются более подробно, просто чтобы убедиться, что все поняли проблему. Например, всегда будет три элемента на «запись» или может быть больше? Есть ли опечатка в вашем входном XML, кстати, поскольку второй элемент «name» имеет значение «1». Должно ли это соответствовать 2 вашим выводам? –
Также вы используете XSLT 1.0 или XSLT 2.0 здесь? –
Tim C, который исправляет второй элемент 'name', имеет значение '2'. Извините, опечатка. Каждая запись будет иметь имя и rowData. Элемент rowData будет иметь больше подэлементов, для простоты я дал только 3 элемента. Я использую XSLT 1.0. – Kiran