title: How to extract the integer part of a number using xslt
body: <p>I have this xml file:</p>
  
  <pre><code> &lt;pas&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;DOUBLE&lt;/type&gt;
      &lt;oper&gt;HIGH&lt;/oper&gt;
      &lt;val1&gt;103619.9&lt;/val1&gt;
      &lt;bId&gt;2&lt;/bId&gt;
    &lt;/rulepar&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;sumval1&gt;-103.67&lt;/sumval1&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;&lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;val1&gt;10&lt;/val1&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;
  </code></pre>
  
  <p>with this xsl file:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  xmlns:ex="http://exslt.org/dates-and-times" extension-element-prefixes="ex"&gt;
  &lt;xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no" xml:space="preserve"/&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="val1|sumval1"&gt;  
      &lt;val111&gt;&lt;xsl:value-of select="."/&gt;&lt;/val111&gt;
  &lt;/xsl:template&gt;
  </code></pre>
  
  <p></p>
  
  <p>when I make my transformation, I have this as result:</p>
  
  <pre><code> &lt;pas&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;DOUBLE&lt;/type&gt;
      &lt;oper&gt;HIGH&lt;/oper&gt;
      &lt;val111&gt;103619.9&lt;/val111&gt;
      &lt;bId&gt;2&lt;/bId&gt;
    &lt;/rulepar&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;val111&gt;-103.67&lt;/val111&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;&lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;val111&gt;10&lt;/val111&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;
  </code></pre>
  
  <p>I expected normally this output:</p>
  
  <pre><code> &lt;pas&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;DOUBLE&lt;/type&gt;
      &lt;oper&gt;HIGH&lt;/oper&gt;
      &lt;val111&gt;103619&lt;/val111&gt;
      &lt;bId&gt;2&lt;/bId&gt;
    &lt;/rulepar&gt;
    &lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;val111&gt;-103&lt;/val111&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;&lt;rulepar&gt;
      &lt;name1&gt;Hi&lt;/name1&gt;
      &lt;name2&gt;&lt;/name2&gt;
      &lt;type&gt;Text&lt;/type&gt;
      &lt;oper&gt;LOW&lt;/oper&gt;
      &lt;val111&gt;10&lt;/val111&gt;
      &lt;bId&gt;3&lt;/bId&gt;
    &lt;/rulepar&gt;
   &lt;/pas&gt;
  </code></pre>
  
  <p>So, how can I do to get only the integer part of the number 103619.9 in the result as shown in the expected output file? I want a solution that can be walk also when the number is only a decimal number and also if this number is &lt;0.
  Thanks for your help.</p>