I'm using a C++ version of Xalan 1.10 under Windows and I'm trying to
produce an Apache FOP file out of an xml document.

The files are rather large and complex, but the following samples illustrate
the problem just fine:

Input.xml
----------
<?xml version="1.0" encoding="utf-8"?>
  <root-xml-element>
    <MyElement name="Some text"/>
  </root-xml-element>

Stylesheet.xsl
--------------
<xsl:transform version="1.0"
           xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
           xmlns:fo="http://www.w3.org/1999/XSL/Format";>
  <xsl:output method="text" indent="no"/>

  <xsl:template match="/">
    <fo:root>
      <xsl:text>(ROOT MATCHED)</xsl:text>
      <xsl:apply-templates select="root-xml-element"/>  
    </fo:root>
  </xsl:template>

  <xsl:template match="root-xml-element">
    <xsl:text>(ROOT ELEMENT MATCHED)</xsl:text>
    <xsl:call-template name="MyTemplate"/>
  </xsl:template>

  <xsl:template name="MyTemplate">
    <xsl:text>(MY TEMPLATE MATCHED)</xsl:text>
      <fo:layout-master-set>
        <fo:simple-page-master master-name="Master" page-width="29.7cm"
page-height="21cm">
        </fo:simple-page-master>
      </fo:layout-master-set>
  </xsl:template>
</xsl:transform>

The transformation completes without any errors but produces the following
incomplete output:

Output file from Xalan
---------------------
(ROOT MATCHED)(ROOT ELEMENT MATCHED)(MY TEMPLATE MATCHED)

As you can see, there are no <fo:...> tags in the output file. The template
obviously does get applied.

When I run a .NET xslt processor against those very same files, I get the
output I expect:

Output file from a .NET XSLT processor
---------------------------------------
<?xml version="1.0" encoding="utf-8"?>
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
   (ROOT MATCHED)(ROOT ELEMENT MATCHED)(MY TEMPLATE MATCHED)
    <fo:layout-master-set>
      <fo:simple-page-master master-name="Master" page-width="29.7cm"
page-height="21cm" />
    </fo:layout-master-set>
  </fo:root>

The same transformation also works when applied from Java Xalan version
(don't know exactly which one). On the other hand the command-line Xalan
executable produces the same incomplete output, so the chances are it's not
my code that messes up something (or is it?).

What's going on here? Any ideas what to check?

-- 
View this message in context: 
http://old.nabble.com/Parts-missing-in-an-XSLT-transformation-output-tp33383952p33383952.html
Sent from the Xalan - C - Users mailing list archive at Nabble.com.

Reply via email to