Hello,
 
  I am not very familiar with the Saxon engine and have just started working with XSLT in general. Currently I am using another XSLT engine but the speed of it is way too slow and am trying out saxon with the hope of seeing a major increase in speed. My basic need is to split large XML files down into smaller logical pieces for use in transaction printing.
 
  I have created an XSL that should split down my file on the CUSTOMER node and I use the xsl:result-document tag. This works in a few other engines I have tried but this line is erroring out in Saxon.
 
  I understand that XSLT questions are discouraged here and I am not sure if this question fits that bill or not as I know the code is "valid" but not working here. If anyone has any idea as to why this does not work, please let me know.
 
Here is the XSLT code.
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <xsl:for-each select="DATA_FILE/CUSTOMER">
         <xsl:result-document href="c:\\splitXMlFiles\\{format-number(position(),'00000')}.xml">
          <DATA_FILE>
              <xsl:apply-templates select="."/>
          </DATA_FILE>
         </xsl:result-document>
        </xsl:for-each> 
    </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
And the error I am receiving is
 
Resolved URL is malformed: Protocol handler not found: c
 
Any help is greatly appriciated.
Danny Leblanc
Technical Advisor, Product Management
Conseiller technique, Direction de produit

Tel: (514) 875-5863 #680
Fax: (514) 342-5294
» Web      » Support