title: recursive call in nested xml fails
body: <p>I want to recursively call on element vrijeInhoudGroep, but the node test in the choose clause is not performed. Instead, the second test on element vrijeInhoudElement is successful. Everything I have applied does not work. Can anyone give me a backing?</p>
  
  <p>My xml input:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://services" xmlns:v11="http://services11" xmlns:v12="http://services12"&gt;
      &lt;soapenv:Header/&gt;
      &lt;soapenv:Body&gt;
          &lt;v1:creeerDocumentRequest&gt;
              &lt;v11:documentInhoud&gt;
                  &lt;v12:vrijeInhoudGroep type="FirstGroep"&gt;
                      &lt;v12:vrijInhoudGroep type="GenesteGroep_1"&gt;
                          &lt;v12:vrijeInhoudElement&gt;
                              &lt;v12:label&gt;Label1&lt;/v12:label&gt;
                              &lt;v12:waarde&gt;waard1&lt;/v12:waarde&gt;
                              &lt;v12:datatype&gt;tekst1&lt;/v12:datatype&gt;
                          &lt;/v12:vrijeInhoudElement&gt;
                          &lt;v12:vrijeInhoudElement&gt;
                              &lt;v12:label&gt;Label2&lt;/v12:label&gt;
                              &lt;v12:waarde&gt;waard2&lt;/v12:waarde&gt;
                              &lt;v12:datatype&gt;tekst2&lt;/v12:datatype&gt;
                          &lt;/v12:vrijeInhoudElement&gt;
                          &lt;/v12:vrijInhoudGroep&gt;
                      &lt;v12:vrijInhoudGroep type="GenesteGroep_2"&gt;
                          &lt;v12:vrijeInhoudElement&gt;
                              &lt;v12:label&gt;Label3&lt;/v12:label&gt;
                              &lt;v12:waarde&gt;waard3&lt;/v12:waarde&gt;
                              &lt;v12:datatype&gt;tekst3&lt;/v12:datatype&gt;
                          &lt;/v12:vrijeInhoudElement&gt;
                      &lt;/v12:vrijInhoudGroep&gt;
                      &lt;v12:vrijeInhoudElement&gt;
                          &lt;v12:label&gt;Label4&lt;/v12:label&gt;
                          &lt;v12:waarde&gt;waard4&lt;/v12:waarde&gt;
                          &lt;v12:datatype&gt;tekst4&lt;/v12:datatype&gt;
                      &lt;/v12:vrijeInhoudElement&gt;
                      &lt;v12:vrijeInhoudElement&gt;
                          &lt;v12:label&gt;Label5&lt;/v12:label&gt;
                          &lt;v12:waarde&gt;waard5&lt;/v12:waarde&gt;
                          &lt;v12:datatype&gt;tekst5&lt;/v12:datatype&gt;
                      &lt;/v12:vrijeInhoudElement&gt;                   
                  &lt;/v12:vrijeInhoudGroep&gt;
              &lt;/v11:documentInhoud&gt;
          &lt;/v1:creeerDocumentRequest&gt;
      &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p>My xml output:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  &lt;vrijeInhoudGroep type="documentInhoud"&gt;  
    &lt;vrijeInhoudGroep&gt;v12:vrijeInhoudGroep&lt;/vrijeInhoudGroep&gt;  
    &lt;ELLEMENT/&gt;  
    &lt;mywrapper&gt;  
      &lt;v12:label xmlns:soapenv="http://s..."&gt;Label4&lt;/v12:label&gt;
      &lt;v12:waarde xmlns:soapenv="http://s..." &gt;waard4&lt;/v12:waarde&gt;
      &lt;v12:datatype xmlns:soapenv="http://s..." &gt;tekst4&lt;/v12:datatype&gt;  
    &lt;/mywrapper&gt;  
    &lt;mywrapper&gt;  
      &lt;v12:label xmlns:soapenv="http://s...." &gt;Label5&lt;/v12:label&gt;  
      &lt;v12:waarde xmlns:soapenv="http://s..." &gt;waard5&lt;/v12:waarde&gt;  
      &lt;v12:datatype xmlns:soapenv="http://s..."&gt;tekst5&lt;/v12:datatype&gt;  
    &lt;/mywrapper&gt;  
  &lt;/vrijeInhoudGroep&gt;  
  </code></pre>
  
  <p>My xslt:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:v11="http://services11" xmlns:v12="http://services12" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v1="http://services" 
   version="2.0" 
   exclude-result-prefixes="v11 v12 v1 xsi xs"&gt;
    &lt;xsl:output method="xml" indent="no"/&gt;
  
      &lt;xsl:template match="/"&gt;
          &lt;xsl:apply-templates select="//v1:creeerDocumentRequest"/&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="v1:creeerDocumentRequest"&gt;
          &lt;vrijeInhoudGroep type="documentInhoud"&gt;
              &lt;xsl:apply-templates select="v11:documentInhoud"/&gt;
          &lt;/vrijeInhoudGroep&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="v11:documentInhoud"&gt;
          &lt;xsl:apply-templates select="v12:vrijeInhoudGroep"/&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="v12:vrijeInhoudGroep[@type]"&gt;
          &lt;vrijeInhoudGroep&gt;
              &lt;xsl:value-of select="name()"/&gt;
          &lt;/vrijeInhoudGroep&gt;
  
          &lt;xsl:choose&gt;
              &lt;xsl:when test="v12:vrijeInhoudGroep"&gt;
                  &lt;!-- HERE I TRY A RECURSIVE CALL, BUT THIS TEST DOES'T WORK --&gt;
                  &lt;xsl:apply-templates select="v12:vrijeInhoudGroep"/&gt;
              &lt;/xsl:when&gt;
              &lt;xsl:when test="v12:vrijeInhoudElement"&gt;
                  &lt;!-- INSTEAD IT COMES HERE TO PROCES THE vrijeInhoudElement --&gt;
                  &lt;ELLEMENT/&gt;
                  &lt;xsl:apply-templates select="v12:vrijeInhoudElement"/&gt;
              &lt;/xsl:when&gt;
              &lt;xsl:otherwise&gt;&lt;NOPE/&gt;&lt;/xsl:otherwise&gt;
          &lt;/xsl:choose&gt;       
  
          &lt;/xsl:template&gt;
  
    &lt;xsl:template match="v12:vrijeInhoudElement"&gt;
      &lt;mywrapper&gt;
      &lt;xsl:copy-of select="node()"/&gt;
      &lt;/mywrapper&gt;
    &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>Target xml should be something like this:</p>
  
  <pre><code>&lt;...&gt;
          &lt;vrijeInhoudGroep type="EerstGroep"&gt;
              &lt;vrijeInhoudGroep type="GenesteGroep_1"&gt;
                  &lt;vrijeInhoudElement naam="Label1 format="tekst1"&gt;waard1&lt;/vrijeInhoudElement&gt;
              &lt;/vrijeInhoudGroep&gt;
              &lt;vrijeInhoudGroep type="GenesteGroep_2"&gt;
                  &lt;vrijeInhoudElement naam="Label2 format="tekst2"&gt;waard2&lt;/vrijeInhoudElement&gt;
                  &lt;vrijeInhoudElement naam="Label3 format="tekst3"&gt;waard3&lt;/vrijeInhoudElement&gt;
                  &lt;/vrijeInhoudGroep&gt;
              &lt;vrijeInhoudElement naam="Label3 format="tekst3"&gt;waard3&lt;/vrijeInhoudElement&gt;
              &lt;vrijeInhoudElement naam="Label4 format="tekst4"&gt;waard4&lt;/vrijeInhoudElement&gt;
          &lt;/vrijeInhoudGroep&gt;
  &lt;/...&gt;
  </code></pre>
  
  <p>What should I do to make this recursive call work properly?</p>