Я хочу обернуть дочерние узлы <foo/>
, которые не <bar/>
или <baz/>
, в <corge/>
.
Примечание: <bar/>
и <baz/>
всегда будут первыми дочерними узлами <foo/>
Преобразование этого:
<root>
<foo>
<bar>bar</bar>
<baz>baz</baz>
<qux>qux</qux>
<grault>grault</grault>
</foo>
<foo>
<bar>bar</bar>
<baz>baz</baz>
<qux>qux</qux>
<quux>quux</quux>
</foo>
</root>
к этому:
<root>
<foo>
<bar>bar</bar>
<baz>baz</baz>
<corge>
<qux>qux</qux>
<grault>grault</grault>
</corge>
</foo>
<foo>
<bar>bar</bar>
<baz>baz</baz>
<corge>
<qux>qux</qux>
<quux>quux</quux>
</corge>
</foo>
</root>
Какой хороший способ сделать это с помощью XSL?