title: Space in XML Tag Name
body: <p>My XML is like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" standalone="no"?&gt;
  &lt;Rowsets CachedTime="" DateCreated="2013-07-30T00:13:32" EndDate="2013-07-30T00:13:29" StartDate="2013-07-29T23:13:29" Version="12.2.4 Build(92)"&gt;
      &lt;Rowset&gt;
          &lt;Columns&gt;
              &lt;Column Description="Name" MaxRange="1" MinRange="0" Name="Name" SQLDataType="-9" SourceColumn="Name"/&gt;
              &lt;Column Description="Value" MaxRange="1" MinRange="0" Name="Value" SQLDataType="-9" SourceColumn="Value"/&gt;
              &lt;Column Description="Min" MaxRange="1" MinRange="0" Name="Min" SQLDataType="2" SourceColumn="Min"/&gt;
              &lt;Column Description="Max" MaxRange="1" MinRange="0" Name="Max" SQLDataType="2" SourceColumn="Max"/&gt;
              &lt;Column Description="ObjectDisplay" MaxRange="1" MinRange="0" Name="ObjectDisplay" SQLDataType="12" SourceColumn="ObjectDisplay"/&gt;
              &lt;Column Description="Datatype" MaxRange="1" MinRange="0" Name="Datatype" SQLDataType="-9" SourceColumn="Datatype"/&gt;
          &lt;/Columns&gt;
          &lt;Row&gt;
              &lt;Name&gt;Tank&lt;/Name&gt;
              &lt;Value&gt;T111&lt;/Value&gt;
              &lt;Min&gt;1&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Material&lt;/Name&gt;
              &lt;Value&gt;111-Bulk&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Batch&lt;/Name&gt;
              &lt;Value&gt;1111111&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
      &lt;/Rowset&gt;
      &lt;Rowset&gt;
          &lt;Columns&gt;
              &lt;Column Description="Name" MaxRange="1" MinRange="0" Name="Name" SQLDataType="-9" SourceColumn="Name"/&gt;
              &lt;Column Description="Value" MaxRange="1" MinRange="0" Name="Value" SQLDataType="-9" SourceColumn="Value"/&gt;
              &lt;Column Description="Min" MaxRange="1" MinRange="0" Name="Min" SQLDataType="2" SourceColumn="Min"/&gt;
              &lt;Column Description="Max" MaxRange="1" MinRange="0" Name="Max" SQLDataType="2" SourceColumn="Max"/&gt;
              &lt;Column Description="ObjectDisplay" MaxRange="1" MinRange="0" Name="ObjectDisplay" SQLDataType="12" SourceColumn="ObjectDisplay"/&gt;
              &lt;Column Description="Datatype" MaxRange="1" MinRange="0" Name="Datatype" SQLDataType="-9" SourceColumn="Datatype"/&gt;
          &lt;/Columns&gt;
          &lt;Row&gt;
              &lt;Name&gt;Tank&lt;/Name&gt;
              &lt;Value&gt;T222&lt;/Value&gt;
              &lt;Min&gt;1&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Material&lt;/Name&gt;
              &lt;Value&gt;222-Bulk&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Batch&lt;/Name&gt;
              &lt;Value&gt;2222222&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
      &lt;/Rowset&gt;
    &lt;/Rowsets&gt;
  </code></pre>
  
  <p>I use following XSLT to transform above mentioned XML:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
  &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"&gt;
      &lt;xsl:output indent="yes"/&gt;
    &lt;!--  &lt;xsl:strip-space elements="*"/&gt;--&gt;
  
      &lt;xsl:template match="/*"&gt;
          &lt;xsl:copy&gt;
              &lt;xsl:copy-of select="@*"/&gt;
              &lt;Rowset&gt;
                  &lt;Columns&gt;
                      &lt;xsl:apply-templates mode="cols" select="Rowset[1]/Row"/&gt;
                  &lt;/Columns&gt;
                  &lt;xsl:apply-templates select="Rowset"/&gt;
              &lt;/Rowset&gt;
          &lt;/xsl:copy&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="Row" mode="cols"&gt;
          &lt;Column Description="" MaxRange="1" MinRange="0" Name="{Name}" SQLDataType="1" SourceColumn="{Name}"/&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="Rowset"&gt;
          &lt;Row&gt;
              &lt;xsl:apply-templates select="Row/Name"/&gt;            
          &lt;/Row&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="Name"&gt;
          &lt;xsl:element name="{.}"&gt;
              &lt;xsl:value-of select="../Value"/&gt;
          &lt;/xsl:element&gt;
      &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>I get proper Out as following:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
  &lt;Rowsets CachedTime="" DateCreated="2013-07-30T00:13:32" EndDate="2013-07-30T00:13:29" StartDate="2013-07-29T23:13:29" Version="12.2.4 Build(92)"&gt;
  &lt;Rowset&gt;
  &lt;Columns&gt;
  &lt;Column Description="" MaxRange="1" MinRange="0" Name="Tank" SQLDataType="1" SourceColumn="Tank"/&gt;
  &lt;Column Description="" MaxRange="1" MinRange="0" Name="Material" SQLDataType="1" SourceColumn="Material"/&gt;
  &lt;Column Description="" MaxRange="1" MinRange="0" Name="Batch" SQLDataType="1" SourceColumn="Batch"/&gt;
  &lt;/Columns&gt;
  &lt;Row&gt;
  &lt;Tank&gt;T111&lt;/Tank&gt;
  &lt;Material&gt;111-Bulk&lt;/Material&gt;
  &lt;Batch&gt;1111111&lt;/Batch&gt;
  &lt;/Row&gt;
  &lt;Row&gt;
  &lt;Tank&gt;T222&lt;/Tank&gt;
  &lt;Material&gt;222-Bulk&lt;/Material&gt;
  &lt;Batch&gt;2222222&lt;/Batch&gt;
  &lt;/Row&gt;
  &lt;/Rowset&gt;
  &lt;/Rowsets&gt;
  </code></pre>
  
  <p>But now when I have following XML and when I run XSLT, I gives me below mentioned error:</p>
  
  <p>XML:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8" standalone="no"?&gt;
  &lt;Rowsets CachedTime="" DateCreated="2013-07-30T00:13:32" EndDate="2013-07-30T00:13:29" StartDate="2013-07-29T23:13:29" Version="12.2.4 Build(92)"&gt;
      &lt;Rowset&gt;
          &lt;Columns&gt;
              &lt;Column Description="Name" MaxRange="1" MinRange="0" Name="Name" SQLDataType="-9" SourceColumn="Name"/&gt;
              &lt;Column Description="Value" MaxRange="1" MinRange="0" Name="Value" SQLDataType="-9" SourceColumn="Value"/&gt;
              &lt;Column Description="Min" MaxRange="1" MinRange="0" Name="Min" SQLDataType="2" SourceColumn="Min"/&gt;
              &lt;Column Description="Max" MaxRange="1" MinRange="0" Name="Max" SQLDataType="2" SourceColumn="Max"/&gt;
              &lt;Column Description="ObjectDisplay" MaxRange="1" MinRange="0" Name="ObjectDisplay" SQLDataType="12" SourceColumn="ObjectDisplay"/&gt;
              &lt;Column Description="Datatype" MaxRange="1" MinRange="0" Name="Datatype" SQLDataType="-9" SourceColumn="Datatype"/&gt;
          &lt;/Columns&gt;
          &lt;Row&gt;
              &lt;Name&gt;Tank Tag&lt;/Name&gt;
              &lt;Value&gt;T111&lt;/Value&gt;
              &lt;Min&gt;1&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Material&lt;/Name&gt;
              &lt;Value&gt;111-Bulk&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Batch&lt;/Name&gt;
              &lt;Value&gt;1111111&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
      &lt;/Rowset&gt;
      &lt;Rowset&gt;
          &lt;Columns&gt;
              &lt;Column Description="Name" MaxRange="1" MinRange="0" Name="Name" SQLDataType="-9" SourceColumn="Name"/&gt;
              &lt;Column Description="Value" MaxRange="1" MinRange="0" Name="Value" SQLDataType="-9" SourceColumn="Value"/&gt;
              &lt;Column Description="Min" MaxRange="1" MinRange="0" Name="Min" SQLDataType="2" SourceColumn="Min"/&gt;
              &lt;Column Description="Max" MaxRange="1" MinRange="0" Name="Max" SQLDataType="2" SourceColumn="Max"/&gt;
              &lt;Column Description="ObjectDisplay" MaxRange="1" MinRange="0" Name="ObjectDisplay" SQLDataType="12" SourceColumn="ObjectDisplay"/&gt;
              &lt;Column Description="Datatype" MaxRange="1" MinRange="0" Name="Datatype" SQLDataType="-9" SourceColumn="Datatype"/&gt;
          &lt;/Columns&gt;
          &lt;Row&gt;
              &lt;Name&gt;Tank Tag&lt;/Name&gt;
              &lt;Value&gt;T222&lt;/Value&gt;
              &lt;Min&gt;1&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Material&lt;/Name&gt;
              &lt;Value&gt;222-Bulk&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
          &lt;Row&gt;
              &lt;Name&gt;Batch&lt;/Name&gt;
              &lt;Value&gt;2222222&lt;/Value&gt;
              &lt;Min&gt;7&lt;/Min&gt;
              &lt;Max&gt;20&lt;/Max&gt;
              &lt;ObjectDisplay&gt;Enabled&lt;/ObjectDisplay&gt;
              &lt;Datatype&gt;String&lt;/Datatype&gt;
          &lt;/Row&gt;
      &lt;/Rowset&gt;
    &lt;/Rowsets&gt;
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>[ERROR] [XSLSingleTableTransformation]XSLTransform error: java.lang.RuntimeException: An attribute whose value must be a QName had the value 'Tank Tag'
  </code></pre>
  
  <p>How can I remove this error? </p>
  
  <p>If this error is due to space in between tank and tag, then
  1) Can I get XML tag name with spaces?
  2) If not, how canI remove that space and instead as "-"</p>