я folowing структуры XML:Копирование и перегруппировки узлы XML с помощью XSLT
<root>
<product>
<name>
<book1>data for book1</book1>
<book12>data for book12</book12>
<book13>data for book13</book13>
<book14>data for book14</book14>
</name>
<info>
<data1>data for data1</data1>
<data2>data for data2</data2>
<data3>data for data3<data3>
<data4>data for data4</data4>
<data5>data for data5</data5>
<data n+1>data n+1</data n+1>
</info>
<pictures>
<pic1>data for pic1</pic1>
<pic2>data for pic2</pic2>
<pic3>data for pic3</pic3>
<pic4>data for pic4</pic4>
<pic n+1>data for pic n+1</pic n+1>
</pictures>
</product>
<product>
.
.
.
.
.
</product>
.
.
.
.
</root>
Теперь я должен был бы скопировать данные 5, book14 и весь узел фотографий внутри каждого продукта узла так, что вывод XML будет выглядеть следующим образом:
<root>
<product>
<node_that_i_would_name_1>
<node_that_i_would_name_2>
<node_that_i_would_name_3>
<node_that_i_would_name_4>
<book14>data for book14</book14>
</node_that_i_would_name_4>
<node_that_i_would_name_5>
<data5>data for data5</data5>
</node_that_i_would_name_5>
<picturesA>
<pic1A>
<pic2A>
<pic3A>
<pic4A>
<pic n+1A>
</picturesA>
<empty_node_at_the_end_that_i_will_name></empty_node_at_the_end_that_i_will_name>
</node_that_i_would_name_3>
</node_that_i_would_name_2>
</node_that_i_would_name_1>
<name>
<book1>data for book1</book1>
<book12>data for book12</book12>
<book13>data for book13</book13>
<book14>data for book14</book14>
</name>
<info>
<data1>data for data1</data1>
<data2>data for data2</data2>
<data3>data for data3<data3>
<data4>data for data4</data4>
<data5>data for data5</data5>
<data n+1>data n+1</data n+1>
</info>
<pictures>
<pic1>data for pic1</pic1>
<pic2>data for pic2</pic2>
<pic3>data for pic3</pic3>
<pic4>data for pic4</pic4>
<pic n+1>data for pic n+1</pic n+1>
</pictures>
</product>
<product>
.
.
.
.
.
</product>
.
.
.
.
</root>
Каждая вещь должна оставаться неизменной, только эти данные должны быть скопированы и восстановлены способом, указанным выше в узлах. Есть ли простой способ сделать это с помощью xslt?
Ответ на ваш вопрос почти наверняка «да», но тот, кто разработал этот формат XML, на самом деле не делает вашу жизнь легкой - если есть много элементов для сестер, которые представляют один и тот же тип данных, тогда это имело бы смысл чтобы дать им одинаковое имя и отличить их от атрибута, а не от кодирования содержимого в именах элементов (то есть '', а не ' ') ... –