title: Insert schemaLocation in the XML File using XSLT v2.0
body: <p>I'm having a problem inserting a schemaLocation in the XML File. I almost got the expected output but the other elements populates the schemaLocation. Here is my sample file:</p>
  
  <p><strong>INPUT:</strong></p>
  
  <pre><code>&lt;Sync releaseID="9.2"&gt;
  &lt;Document&gt;
      &lt;Group&gt;
          &lt;Header&gt;
              &lt;Field1&gt;232&lt;/Field1&gt;
              &lt;Field2&gt;dfd&lt;/Field2&gt;
          &lt;/Header&gt;
      &lt;/Group&gt;
  &lt;/Document&gt;
  </code></pre>
  
  <p></p>
  
  <p>And, I want to add the namespace and schemalocation in <code>&lt;Document&gt;</code> tag. Here is my XSLT:</p>
  
  <pre><code>&lt;xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/&gt;
  &lt;xsl:template match="@*|node()"&gt;
      &lt;xsl:copy&gt;
          &lt;xsl:apply-templates select="@*|node()"/&gt;
      &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  &lt;xsl:template match="*[ancestor-or-self::Document]"&gt;
      &lt;xsl:element name="{name()}" namespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;
          &lt;xsl:attribute name="xsi:schemaLocation"&gt;urn:iso:std:iso:20022:tech:xsd:pain.001.001.03&lt;/xsl:attribute&gt;
          &lt;xsl:apply-templates select="*"/&gt;
      &lt;/xsl:element&gt;
  &lt;/xsl:template&gt;
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p><strong>GENERATED OUTPUT:</strong></p>
  
  <pre><code>&lt;Sync releaseID="9.2"&gt;
  &lt;Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;
      &lt;Group xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;
          &lt;Header xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;
              &lt;Field1 xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;232&lt;/Field1&gt;
              &lt;Field2 xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;dfd&lt;/Field2&gt;
          &lt;/Header&gt;
      &lt;/Group&gt;
  &lt;/Document&gt;
  </code></pre>
  
  <p></p>
  
  <p><strong>EXPECTED OUTPUT:</strong></p>
  
  <pre><code>&lt;Sync releaseID="9.2"&gt;
  &lt;Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"&gt;
      &lt;Group&gt;
          &lt;Header&gt;
              &lt;Field1&gt;232&lt;/Field1&gt;
              &lt;Field2&gt;dfd&lt;/Field2&gt;
          &lt;/Header&gt;
      &lt;/Group&gt;
  &lt;/Document&gt;
  </code></pre>
  
  <p></p>
  
  <p>How can I remove the schemaLocation in the other elements?</p>
  
  <p>Thanks.</p>