Для одного из моих проектов у меня есть файл XML, содержащий шаблоны, которые должны генерировать графики для графического интерфейса. Пользователь может писать свои собственные XML-шаблоны и применять их к данным текущей загрузки.Генерация XML с использованием данных с использованием XSLT
Упрощенный файл шаблона XML выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<Templates>
<Template name="template">
<PlotWindow name="PlotWindow">
<Title>My title</Title>
<For>
<Var>%Variable%</Var>
<Plot name="%Variable%">
<Item>f(%Variable%)</Item>
</Plot>
</For>
</PlotWindow>
</Template>
</Templates>
For
-tag должны быть заменены все данные, содержащиеся в %Variable%
. Сами данные определены во втором файле XML.
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Var name="%Variable%">
<Item>Test</Item>
<Item>MyVar</Item>
<Item>ABC</Item>
</Var>
</Data>
%Variable%
должны повторяться через Test
, MyVar
и ABC
. Нужный результат должен быть третий файл XML показано ниже:
<?xml version="1.0" encoding="utf-8"?>
<Result>
<PlotWindow name="PlotWindow">
<Title>My title</Title>
<Plot name="Test">
<Item>f(Test)</Item>
</Plot>
<Plot name="MyVar">
<Item>f(MyVar)</Item>
</Plot>
<Plot name="ABC">
<Item>f(ABC)</Item>
</Plot>
</PlotWindow>
</Result>
Должна быть возможность получить такой результат, какой-то XSLT-файл.
Как будет выглядеть этот файл?
Рекомендации близки к вне темы в SO, как вы знаете, и никто не покажет вам, «как будет выглядеть xslt», построив его для вас, но IMHO это должно быть возможно с помощью xslt. –
Спасибо за этот совет. Просто удалил последнюю часть моего вопроса. – Aleph0