У меня есть следующий XML:Создать переменную XSLT, которая является копией XML, добавление узлов, проходных значений переменных и выходных
<xml version="1.0" encoding="UTF-8">
<query>
<row>
<Name>Ed</Name>
<ID>11</ID>
</row>
<row>
<Name>Chad</Name>
<ID>12</ID>
</row>
<row>
<Name>Jason</Name>
<ID>13</ID>
</row>
</query>
</xml>
Я хочу использовать XSLT, чтобы сделать следующее:
<create a variable that is a copy of the entire XML document>
<append an additional node to the XML in the variable>
<loop through each <row> inside the new variable and output the name and ID>
Так в переменном, я хочу закончить с этим XML
<xml version="1.0" encoding="UTF-8">
<query>
<row>
<Name>Ed</Name>
<ID>11</ID>
</row>
<row>
<Name>Chad</Name>
<ID>12</ID>
</row>
<row>
<Name>Jason</Name>
<ID>13</ID>
</row>
<row>
<Name>Mark</Name>
<ID>14</ID>
</row>
</query>
</xml>
и в конечном итоге с этим выходом:
Ed
11
Chad
12
Jason
13
Mark
14
Причина, по которой я хочу использовать переменную, заключается в том, что я использую подключаемый модуль Microsoft Word для Oracle BI Publisher. Этот плагин позволяет создать шаблон с использованием XSLT, который принимает результаты XML из запроса для создания PDF-файла; в основном это причудливое слияние писем. Есть несколько строк, которые не возвращаются запросом, однако, что мне нужно добавить в документ XML, прежде чем я прокручу данные.
Из-за природы шаблона, я не думаю, что могу использовать внешний XSL-файл для изменения XML, прежде чем обрабатывать его. Итак, единственное, что я могу придумать, - создать переменную со всем XML, добавить дополнительные узлы, которые не будут возвращены запросом в XML в переменной, а затем пропустить эту переменную для вывода значений. Я искал SO и нашел сообщения, такие как this, но я не хочу, чтобы результат был измененным XML-файлом, я хочу, чтобы это было чем-то, что я могу использовать в шаблоне сразу как переменная.