XSL Reuse? YES! But: Element must not contain an xsl:import element! :-(

Posted by Fedor Steeman on Stack Overflow See other posts from Stack Overflow or by Fedor Steeman
Published on 2010-04-23T21:14:49Z Indexed on 2010/04/23 21:33 UTC
Read the original article Hit count: 285

Filed under:
|
|
|

I am using a heavy stylesheet with a lot of recurring transformations, so I thought it would be smart to reuse the same chunks of code, so I would not need to make the same changes at a bunch of different places. So I discovered , but -alas- it won't allow me to do it. When trying to run it in Sonic Workbench I get the following error:

An xsl:for-each element must not contain an xsl:import element

This is my stylesheet code:

<xsl:template match="/">
  <InboundFargoMessage>
   <EdiSender>
    <xsl:value-of select="TransportInformationMessage/SenderId"/>
   </EdiSender>
   <EdiReceiver>
    <xsl:value-of select="TransportInformationMessage/RecipientId"/>
   </EdiReceiver>
      <EdiSource>PORLOGIS</EdiSource>
      <EdiDestination>FARGO</EdiDestination>
   <Transportations>
    <xsl:for-each select="TransportInformationMessage/TransportUnits/TransportUnit">
     <xsl:import href="TransportCDMtoFDM_V0.6.xsl"/>
    </xsl:for-each>
    <xsl:for-each select="TransportInformationMessage/Waybill/TransportUnits/TransportUnit">
     <xsl:import href="TransportCDMtoFDM_V0.6.xsl"/>
    </xsl:for-each>
   </Transportations>
  </InboundFargoMessage>
 </xsl:template>
</xsl:stylesheet>

I will leave out the child xsl-sheets for now, as the problem appears to be happening at the base.

If I cannot use xsl:import, is there any option of reuse?

© Stack Overflow or respective owner

Related posts about xslt

Related posts about xsl