Использование xslt версии 3.0 (саксонский):
У меня есть что-то вроде следующего
<root>
<template ID='1'>
<params>
<a>1</a>
<b>1</b>
</params>
</template>
<document1 templateID='1'>
<params>
<b>4</b>
<c>5</c>
</params>
</document1>
</root>
В основном мне нужно преобразовать во что-то вроде
<root>
<document1 templateID='1'>
<params>
<a>1</a>
<b>4</b>
<c>5</c>
</params>
</document1>
</root>
Впример параметра a
наследуется от шаблона, а параметр b
перезаписывается самим документом, а параметр c
неизвестен или не установлен в шаблоне.Это сродни наследованию или как работает CSS.Я надеюсь, вы поняли идею.Перед началом задачи я подумал, что это не должно быть слишком сложно (и все еще надеялся, что я просто что-то упустил).
Я пробовал что-то с конкатетацией двух узлов (используя nodeset1 , nodeset2
для сохранения порядка) ииспользуя «select» / «filtering» на основе имени предшествующего брата, но эта стратегия, похоже, не работает, так как кажется, что они не являются реальными братьями и сестрами.Может ли это быть сделано с умной группой?Можно ли это сделать вообще?(Я думаю, что может)
Я использую xslt версии 3.0 (саксонская)