Я использую тяжелую таблицу стилей с большим количеством повторяющихся преобразований, поэтому я подумал, что было бы разумно повторно использовать одни и те же куски кода, поэтому мне не нужно вносить одинаковые изменения в кучу разных мест. Итак, я обнаружил, но, увы, это не позволит мне это сделать. При попытке запустить его в Sonic Workbench я получаю следующую ошибку:
Элемент xsl: for-each не должен содержать элемент xsl: import
Это мой код таблицы стилей:
<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>
Я пока опущу дочерние xsl-листы, так как проблема, похоже, происходит на базе.
Если я не могу использовать xsl: import, есть ли вариант повторного использования?