Мне нужно обновить множество xml-файлов с простой конфигурацией. Проблема, которая у меня есть - элемент config
является необязательной в моих xml-файлах, и они могут уже иметь некоторую конфигурацию.XSLT: вставлять элементы, если их нет
Так что я хочу сделать:
- Вставка
<config/>
со всеми предопределеннымиelement
«с, если он отсутствует - Вставка отсутствует
element
вconfig
тег. Если бы они уже были там, то оставайся как есть.
Перед:
<root>
<config> <!-- this is optional. can be not defined at all -->
<element2 attr="c"/>
</config>
</root>
То, что я хочу, чтобы получить:
<root>
<config>
<element1 attr="a"/>
<element2 attr="b"/> <!-- not override this one, but insert if missing -->
<element3 attr="c"/>
</config>
</root>
Так что мои мысли были иметь несколько шаблонов и применять 1-ый шаг, если это не существует, и делаем второй уровень в пределах отдельный mode
. Но это не сработало.
UPD. Я использую xslt 1.0, но я предполагаю, что переход на 2.0 не будет проблемой.
Предопределенные элементы:
<element1 attr="a"/>
<element2 attr="b"/>
<element3 attr="c"/>
Какую версию XSLT вы используете? Какие именно предопределенные элементы вам нужно добавить? –