title: Saxon extracting extraneous lines
body: <p>I am trying to report on a Spring configuration:
  Of course the XML has a lot of depth and the important pieces are pretty deep.
  The interesting flow can be summarized as follows with multiple property elements omitted.</p>
  
  <pre><code>bean
  -property
  --list
  ---bean
  ----property name="phaseName"
  ----property name="pluginID
  ----property name="fileSpecifications"
  -----set
  -------bean
  --------property name="dataStoreName" value="courses"
  --------property name="columnNames"
  ---------list
  ----------value
  ----------value
  </code></pre>
  
  <p>In the xsl, I get to the second bean level and extract the pluginID and then find the "fileSpecifications" where I get the "dataStoreName".
  For no reason that I can see, Saxon also extracts the list of values with a lot of empty line and extra tabs.</p>
  
  <p>The extra text is from a property called "columnNames" which is not referenced in the XSL file anywhere.
  In debugging by adding xsl:message statements, I have not been able to determine which template is doing this extraction.</p>
  
  <p>In case that this is hard to read in the mailing list, I have created a blog entry <a href="http://blog.artifact-software.com/tech/?p=296" rel="nofollow">http://blog.artifact-software.com/tech/?p=296</a> describing the files that can be downloaded and executed.
  I can provide more sample phase files if required.</p>
  
  <p>There is a higher level bit of processing in the xsl that reads a master configuration and finds all of the files that are imported.
  It matches the file with the phase so that the phases can be reported in the same sequence that the phases will be processed.
  The xsl builds the list and then processes each file in turn.</p>
  
  <p>Even if I remove the code that extracts the dataStoreName value attribute, I still get the columnNames list of values.</p>
  
  <p>Is this a know bug or have I done something silly?</p>
  
  <p>Extract from the output</p>
  
  <pre><code>&lt;tr&gt;
     &lt;td class="header"&gt;Bean Name&lt;/td&gt;
     &lt;td class="header"&gt;Plugin Name&lt;/td&gt;
     &lt;td class="header"&gt;DataStore Name&lt;/td&gt;
   &lt;/tr&gt;
  
   &lt;tr&gt;
      &lt;td class="id"&gt;CourseWriterOutputting a row&lt;/td&gt;    
      &lt;td class="pluginId"&gt;Plugin ID:CourseFileWriter&lt;br&gt;Usage Description&lt;/td&gt;
      &lt;td class="dataStoreName"&gt;&lt;/td&gt;
      &lt;td&gt;
                   courses
  
                     TITLE
                     PMI_REPORTING_NUMBER
                     IIBA_REPORTING_NUMBER
                     DEFAULT_CURRENCY
                     PRICE
                     OFFERING_TEMPLATE_NO
                     ABSTRACT
  </code></pre>
  
  <hr>
  
  <p>The extract of the xsl is
      
      Outputting a table
      
      /xsl:variable>
      
      
      
      
      
      </p>
  
  <pre><code>&lt;caption&gt;&lt;xsl:value-of select="$phaseName" /&gt;
    from &lt;xsl:value-of  select="$resourceName" /&gt;&lt;/caption&gt;
  &lt;tr&gt;
  &lt;td class="header"&gt;Bean Name&lt;/td&gt;&lt;td class="header"&gt;Plugin Name&lt;/td&gt;
  &lt;td class="header"&gt;DataStore Name&lt;/td&gt;
  &lt;/tr&gt;
   &lt;xsl:apply-templates select="document($fileName)/sb:beans/sb:bean" /&gt;
   &lt;xsl:apply-templates
    select="document($fileName)/sb:beans/sb:bean/sb:property[@name='plugins']/sb:list" mode="plug-in"/&gt;
  
  &lt;/table&gt;
  &lt;/xsl:template&gt;
  </code></pre>