Укороченное решение. Эта таблица стилей:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()" name="identity">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="Configuration/*[1]">
<Parameter1>
<send>0</send>
<interval>0</interval>
<speed>200</speed>
</Parameter1>
<xsl:call-template name="identity" />
</xsl:template>
</xsl:stylesheet>
Выход:
<Configuration>
<Parameter1>
<send>0</send>
<interval>0</interval>
<speed>200</speed>
</Parameter1>
<Parameter2></Parameter2>
</Configuration>
Примечание : Если вы хотите добавить Parameter1
только в том случае, если такого элемента нет ни в одной позиции, вы должны изменить шаблон для: Configuration/*[1][not(/Configuration/Parameter1)]