Ich habe einen Anwendungsfall, der in keiner der anderen Duplikat-und-ändern-Antwort fällt.XSLT: Kopieren und ändern
Ich habe das folgende XML-Fragment:
<Elements>
<Irrelevant/>
<Item>
<Misc. subelements>
<Name>A</Name>
<Misc. subelements>
</Item>
<Irrelevant/>
<Item>
<Misc. subelements>
<Name>B</Name>
<Misc. subelements>
</Item>
</Elements>
und müssen sie in das folgende Fragment zu transformieren (das Suffix „_x“ wird über einen Template-Parameter injiziert, die in übergeben wird, aber die Antwort kann es nur angenommen werden, immer „_x“) sein:
<Elements>
<Irrelevant/>
<Item>
<Misc. subelements (copied as-is)>
<Name>A</Name>
<Misc. subelements (copied as-is)>
</Item>
<Item>
<Misc. subelements (copied as-is)>
<Name>A_x</Name>
<Misc. subelements (copied as-is)>
</Item>
<Irrelevant/>
<Item>
<Misc. subelements (copied as-is)>
<Name>B</Name>
<Misc. subelements (copied as-is)>
</Item>
<Item>
<Misc. subelements (copied as-is)>
<Name>B_x</Name>
<Misc. subelements (copied as-is)>
</Item>
</Elements>
dh jedes Item
kopiert einmal in seiner ursprünglichen Form und einmal in seiner modifizierten Form. Ich habe kein Problem, nur das Originalformular oder nur das modifizierte Formular zu kopieren, aber es ist eine Herausforderung, zu unterscheiden, ob der aktuelle Kontext als Original oder Modifiziert kopiert werden soll.
Können Sie uns einen XSLT-Versuch zeigen, den Sie haben? Doing ' _ x xsl: template>' klingt einfach. Oder verwenden Sie einen Modus, um die Änderung zu bearbeiten. –
Ich habe vergessen zu erwähnen, dass Item viele andere Elemente zusätzlich zu Name enthält, die ich unverändert kopieren möchte (unmodifiziert und ohne explizite Übereinstimmung). Ich habe das Beispiel aktualisiert und werde versuchen, meine XSLT einzubinden. – pmf