вызов одного файла xslt из базы xslt - xslt1.0 - PullRequest
0 голосов
/ 26 сентября 2019

Я прошел через много других подобных вопросов и ответов в stackoverflow.Но все еще не в состоянии решить проблему.Если кто-нибудь может помочь мне с этим, это было бы действительно здорово. Я использую шаблон вызова, чтобы вызвать один маленький файл 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>

Я хочу вызвать WorkOrder.xsl из моего базового xslt.я использую часть инструкции import моей базы 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 был вызван, но не игнорирован.Не уверен, что мне не хватает

1 Ответ

1 голос
/ 26 сентября 2019

Ваш шаблон не назван GridWalkOrder, вы определили его как соответствующий элемент с таким именем, а не называет шаблон.Вместо этого используйте

<xsl:template name="GetWorkOrder">

.

...