この場合、カスタムXSLTを使用します。スクリプト機能を使用するか、マップ全体をカスタムXSLTファイルに置き換えます(マップの残りの部分の外観によって異なります)。
解決策は次のようになります。
XML
<Persons>
<Person>
<FirstName>abc</FirstName>
<Bsn>2345467</Bsn>
</Person>
</Persons>
XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="Persons">
<Persons>
<xsl:apply-templates select="Person" />
</Persons>
</xsl:template>
<xsl:template match="Person">
<Person>
<properties>
<xsl:apply-templates select="*" mode="properties" />
</properties>
</Person>
</xsl:template>
<xsl:template match="node()" mode="properties">
<property>
<propertyname>
<xsl:value-of select="local-name()"/>
</propertyname>
<propertyvalue>
<xsl:value-of select="."/>
</propertyvalue>
</property>
</xsl:template>
</xsl:stylesheet>
結果
<?xml version="1.0" encoding="utf-8"?>
<Persons>
<Person>
<properties>
<property>
<propertyname>FirstName</propertyname>
<propertyvalue>abc</propertyvalue>
</property>
<property>
<propertyname>Bsn</propertyname>
<propertyvalue>2345467</propertyvalue>
</property>
</properties>
</Person>
</Persons>