从基本 xslt 调用一个 xslt 文件 - xslt1.0

calling one xslt file from base xslt - xslt1.0

我在 Whosebug 中查看了许多其他类似的问题和答案。但仍然无法解决问题。如果有人可以帮助我,那就是 great.I 我正在使用调用模板从我的较大的 xslt

中调用一个小的 xslt 文件

我的小xslt(WorkOrders.xsl)很简单。以下是我的 xslt 的一部分:

      <xsl:template match="GetWorkOrder">
    <tns:Work>
      <tns:description>
        <xsl:value-of select="//ns0:WORKORDERS_ITEM/ns0:DESCRIPTION"/>
      </tns:description>
<tns:workOrderNumber>
        <xsl:value-of select="//ns0:WORKORDERS_ITEM/ns0:WORKORDER"/>
      </tns:workOrderNumber>
    </tns:Work>
  </xsl:template>

我想从我的基本 xslt 调用 WorkOrder.xsl。我正在使用导入语句 我的基础 xslt 的一部分。 (我已经去掉了额外的 xml 定义来缩短这个问题的 xslt)

    <xsl:stylesheet version="1.0" xmlns:oraxsl="http://www.oracle.com/XSL/Transform/java">
  <xsl:import href="../Transformation/WorkOrders.xsl"/>
  <oracle-xsl-mapper:schema>
    <!--SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY.-->
    <oracle-xsl-mapper:mapSources>
      <oracle-xsl-mapper:source type="XSD">
        <oracle-xsl-mapper:schema location="../Schema/Sample.xsd"/>
        <oracle-xsl-mapper:rootElement name="OutputParameters"
                                       namespace="****"/>
      </oracle-xsl-mapper:source>
    </oracle-xsl-mapper:mapSources>
    <oracle-xsl-mapper:mapTargets>
      <oracle-xsl-mapper:target type="XSD">
        <oracle-xsl-mapper:schema location="../Schema/Sample1.xsd"/>
        <oracle-xsl-mapper:rootElement name="GetResponse" namespace="*****"/>
      </oracle-xsl-mapper:target>
    </oracle-xsl-mapper:mapTargets>
    <!--GENERATED BY ORACLE XSL MAPPER 12.1.3.0.0(XSLT Build 140529.0700.0211) AT [THU SEP 26 14:08:57 EDT 2019].-->
  </oracle-xsl-mapper:schema>
  <!--User Editing allowed BELOW this line - DO NOT DELETE THIS LINE-->
  <xsl:template match="/">
    <tns:GetResponse>
      <tns:Response>
        <Work>
          <xsl:call-template name="GetWorkOrder"></xsl:call-template>
        </Work>
      </tns:Response>
    </tns:GetResponse>
  </xsl:template>
</xsl:stylesheet>

我收到一条错误消息,指出已调用 GetWorkOrder 模板但未被拒绝。不确定我错过了什么

您的模板未命名 GridWalkOrder,您已将其定义为匹配该名称的元素而不是命名模板。使用

<xsl:template name="GetWorkOrder">

相反。