Hola a todos,
De antemanos gracias por toda la ayuda y me disculpa si no ubique mi pregunta en el foro correcto.
Deseo transformar un XML en un nuevo XML usando XSLT pero tengo problemas, estoy intentando hacer varias cosas:
1. necesito cambiar el valor de "modification" a "insertion" ubicado en la ruta /MXML/events/mainEvent/action: para esto no tengo problema y me funciona.
2. Intento ingresar nuevos elementos en la ruta /MXML/parties, y aunque si lo logro hacer me pasa que se borra toda la información que contiene el nodo padre (parties) inmediatamente superior y solo me deja los nuevos elementos, aun no se que hago mal
XML ORIGINAL:
<?xml version="1.0" encoding="iso-8859-1"?>
<MxML version="1-1">
<events>
<mainEvent>
<action>insertion</action>
<subAction>partychinesewall</subAction>
</mainEvent>
</events>
<parties>
<party id="party_03861234569">
<partyConventions>
<paymentNetting>Si</paymentNetting>
</partyConventions>
</party>
</parties>
</MxML>
XML DESEADO AL FINAL:
<?xml version="1.0" encoding="iso-8859-1"?>
<MxML version="1-1">
<events>
<mainEvent>mc
<action>insertion</action>
<subAction>partychinesewall</subAction>
</mainEvent>
</events>
<parties>
<party id="party_03861234569">
<partyConventions>
<paymentNetting>Si</paymentNetting>
</partyConventions>
</party>
<partyChineseWalls>
<partyChineseWall id="pcw_0">
<partyChineseWallLabel>COLOMBIA_CTP</partyChineseWallLabel>
</partyChineseWall>
</partyChineseWalls>
</parties>
</MxML>
XML QUE ESTOY OBTENIENDO:
<MxML version="1-1">
<events>
<mainEvent>
<action>insertion</action>
<subAction>partychinesewall</subAction>
</mainEvent>
</events>
<parties>
<partyChineseWalls>
<partyChineseWall id="pcw_0">
<partyChineseWallLabel>COLOMBIA_CTP</partyChineseWallLabel>
</partyChineseWall>
</partyChineseWalls>
</parties>
</MxML>
XSLT USADO:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mx="http://murex.com/xslt/common" xmlns:exsl="http://exslt.org/common" version="1.0">
<xsl:output encoding="iso-8859-1" omit-xml-declaration="yes" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:variable name="action">
<xsl:value-of select="'insertion'" />
</xsl:variable>
<xsl:template match="mainEvent/action">
<action xsl:exclude-result-prefixes="mx exsl">
<xsl:value-of select="$action" />
</action>
</xsl:template>
<xsl:template match="MxML/parties">
<parties xsl:exclude-result-prefixes="mx exsl">
<partyChineseWalls>
<partyChineseWall id="pcw_0">
<partyChineseWallLabel>COLOMBIA_CTP</partyChineseWallLabel>
</partyChineseWall>
</partyChineseWalls>
</parties>
</xsl:template>
</xsl:stylesheet>