I'm using Saxon6_4_3 on Solaris to process XSLT and using Saxon's extension function saxon:evaluate.  Below is a partial code of my xslt and its result.  Saxon adds its namespace uri inside the root element <DLDefinition> of my output, making it an attribute, which of course not recognizable by the output DTD during xml validation.  Is this normal?  The evaluate function works correctly (I did not show the result below).
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:sax="http://icl.com/saxon">
...
<xsl:template match="model">
  <xsl:call-template name="createHeaderFile"/>
  <DLDefinition>
    <version><xsl:value-of select="$version"/></version>
    <recordVersion>
...
 
Here is the output:==============================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE DLDefinition
  SYSTEM "dl.dtd">
<DLDefinition xmlns:saxon="http://icl.com/saxon">
   <version>0.0</version>
   <recordVersion>
      <mathExpr>"1"</mathExpr>
   </recordVersion>
...