Я получаю сообщение о мыле (XML), и после добавления нового элемента XML я должен отправить его дальше другому сервису. Можно ли добавить элемент с помощью XSLT 2.0. Если да, то как?Проблема Вставка элемента в xml с использованием XSLT 2.0
Input Сообщение
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:GLBookingMessage xmlns:tns="http://com.example/cdm/finance/generalledger/v1">
<tns:GLBooking>
</tns:GLBooking>
</tns:GLBookingMessage>
</soapenv:Body>
</soapenv:Envelope>
Обязательный выход Сообщение:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:GLBookingMessage xmlns:tns="http://com.example/cdm/finance/generalledger/v1">
<CHeader>
</CHeader>
<tns:GLBooking>
</tns:GLBooking>
</tns:GLBookingMessage>
</soapenv:Body>
</soapenv:Envelope>
XSLT Лист:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cdm="http://com.example//cdm/finance/generalledger/v1"
xmlns:tns="http://com.example//cdm/finance/generalledger/v1"
xmlns:cur="http://com.example//cdm/currencycodes/v1"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//GLBookingMessage">
<GLBookingMessage>
<xsl:copy-of select="."/>
<CHeader>
</CHeader>
</GLBookingMessage>
</xsl:template>
</xsl:stylesheet>
Это довольно просто .. Вы что-то попробовали? –
Я добавил свой лист XSLT в вопрос. –