Skip to main content
If soapenv in line 2 is different from the one in xml (soap, sp, etc.), it adds the new fields with namespace.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" version="1.0">
  <xsl:output encoding="UTF-8" indent="yes" method="xml" version="1.0" />
  <xsl:strip-space elements="*" />
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>
  <xsl:template match="soapenv:Body/child::node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
      <kullaniciAd>1</kullaniciAd>
      <sifre>2</sifre>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Alternative Method

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://ws.sgk100wsV2.sgk.gov.tr/" version="1.0">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
  <xsl:strip-space elements="*" />
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
  </xsl:template>
  <xsl:template match="/S:Envelope/S:Body/*[1]">
    <xsl:copy>
      <arg0>
        <xsl:copy-of select="//*[local-name() = 'arg0']/text()" />
      </arg0>
      <arg1>kullaniciAdi</arg1>
      <arg2>sifreDegeri</arg2>
      <arg3>arg3 degeri</arg3>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="/S:Envelope/S:Header">
    <xsl:copy-of select="/S:Envelope/S:Header" />
  </xsl:template>
</xsl:stylesheet>