У меня есть xml-код, и я хочу поместить два xml-тега в начало xml-кода, чтобы весь код попадал под эти два тега
Есть идеи, как этого добиться с помощью XSLT? Я новичок в XSLT и безуспешно пробовал весь день ... Любая помощь будет по достоинству оценена.
У меня есть XML, который выглядит так
<?xml version="1.0" encoding="UTF-8"?>
<ns0:PCN xmlns:ns0="abc">
<PCD>
<PC>
<TID>123456</TID>
<Sequence>1</Sequence>
<Type>M</Type>
</PC>
<PC>
<TID>123457</TID>
<Sequence>2</Sequence>
<Type>M</Type>
</PC>
</PCD>
</ns0:PCN>
и мне нужно преобразовать его, чтобы он выглядел так:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Messages xmlns:ns0="xyz">
<ns0:Message1>
<ns0:PCN xmlns:ns0="abc">
<PCD>
<PC>
<TID>123456</TID>
<Sequence>1</Sequence>
<Type>M</Type>
</PC>
<PC>
<TID>123457</TID>
<Sequence>2</Sequence>
<Type>M</Type>
</PC>
</PCD>
</ns0:PCN>
</ns0:Message1>
</ns0:Messages>
Пожалуйста, найдите ниже мой пробный код. Это моя первая попытка, и я написал это после обращения к нескольким кодам xslt. Это не дает мне желаемого результата.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Identity transform -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ns0:PCN">
<xsl:copy-of select="."/>
<ns0:Messages xmlns:ns0="xyz"/>
<ns0:Message1/>
</xsl:template>
</xsl:stylesheet>