关于格式良好的 XSL



我有一个主 xsl,它包含两个不同 xsl 的单独引用,如下所示,但问题是当我转换它时它会引发异常 ThaT

请告知是我的主要 XSL 格式良好,或者我缺少某些内容。

    <xsl:import href="qwe.xsl"/>
    <xsl:import href="qrt.xsl"/>
    <xsl:template match="/abml">
        <cfabcmessage>
            <defflows>
                <xsl:variable name="ttSystem">
                    <xsl:call-template name=ttSystem_template"/>
                </xsl:variable>
                <xsl:choose>
                    <xsl:when test="ttSystem = 'ABC'">
                        <xsl:call-template name="dgddsh_ABC"/>
                    </xsl:when>
                        <xsl:call-template name="hjsgscjkd_DEG"/>
                </xsl:choose>
            </defflows>
        </cfabcmessage>
    </xsl:template>
</xsl:stylesheet>

我已经完成了更正,但在转换时我仍然收到此错误。.

21:03:34,892 ERROR [main] JAXPSAXProcessorInvoker  - xsl:when is not allowed in this position in the stylesheet!;

名称属性的以下行缺少双引号:

<xsl:call-template name="ttSystem_template"/>

不确定您是否只是省略了第一行,但您还需要以下内容:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

关于新问题,目前尚不清楚何时要调用第二个"调用模板",但如果这应该是"else"条件,那么您需要使用"xsl:else"

            <xsl:choose>
                <xsl:when test="ttSystem = 'ABC'">
                    <xsl:call-template name="dgddsh_ABC"/>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:call-template name="hjsgscjkd_DEG"/>
                </xsl:otherwise>
            </xsl:choose>

您在 ttSystem_template 前面缺少双引号,并且在xsl:when收盘价和xsl:choose收盘价之间有xsl:call-template。 将xsl:call-template (1) 在xsl:when内移动,(2) 在xsl:otherwise内移动,或 (3) 在xsl:choose外移动。 (您也缺少开始xsl:stylesheet标签,但这可能只是一个复制和粘贴错误。

下面是 XSLT 的完整更正副本:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="qwe.xsl"/>
  <xsl:import href="qrt.xsl"/>
  <xsl:template match="/abml">
    <cfabcmessage>
      <defflows>
        <xsl:variable name="ttSystem">
          <xsl:call-template name="ttSystem_template"/>
        </xsl:variable>
        <xsl:choose>
          <xsl:when test="ttSystem = 'ABC'">
            <xsl:call-template name="dgddsh_ABC"/>
            <!-- 1. Want call to hjsgscjkd_DEG it here? -->
            <xsl:call-template name="hjsgscjkd_DEG"/>
          </xsl:when>
            <!-- XXX  Call to hjsgscjkd_DEG cannot go here. -->
          <xsl:otherwise>
            <!-- 2. Want call to hjsgscjkd_DEG it here? -->
            <xsl:call-template name="hjsgscjkd_DEG"/>
          </xsl:otherwise>
        </xsl:choose>
        <!-- 3. Want call to hjsgscjkd_DEG it here? -->
        <xsl:call-template name="hjsgscjkd_DEG"/>
      </defflows>
    </cfabcmessage>
  </xsl:template>
</xsl:stylesheet>

相关内容

  • 没有找到相关文章