2

这就是问题所在。我正在获取从 Web 应用程序返回的返回 XML 数据,并通过 XSLT 将其处理为 HTML 以供用户查看。这在我的本地 WAMP 服务器(Apache 2.2.21、PHP 5.3.8、libxml 2.7.8、libxslt 1.1.23)上完美运行。但是,当我将它加载到我的 Arvixe 托管服务器(Apache 2.2.23、PHP 5.2.17、libxml 2.7.8、libxslt 1.1.27)时,它失败了。我能够深入研究并发现 xsl 转换正在工作,直到我合并任何条件语句(选择、何时、如果、否则等),此时它会引发“500 内部服务器错误”。我检查了错误日志,没有与问题相关的内容。如果我消除所有条件语句并仅显示每个 XML 节点的值:

<xsl:value-of select="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/CaseTypeCD"/>

一切正常

但是如果我添加一个条件语句:

    <xsl:choose>        
        <xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0670'">
            <xsl:text>Tulsa, OK</xsl:text>
        </xsl:when>
        <xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0339'">
            <xsl:text>Washington, DC</xsl:text>
        </xsl:when>
        <xsl:when test="MORTGAGEDATA/APPLICATION/UNDERWRITINGCASE/FHAVA/FHAVAFieldOfficeCode = '0344'">
            <xsl:text>Wilmington, DE</xsl:text>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>Not Applicable</xsl:text>
        </xsl:otherwise>
    </xsl:choose>

浏览器显示 500 Internal Server Error

任何人都有任何线索可能导致这种情况?

在我的智慧尽头!无法为我的生活弄清楚为什么会发生这种情况。

4

2 回答 2

2

还不能发表评论,但我注意到你的 xsl:when you have MORTGAGEDATA/PROJECT/@FHAVAApprovedCondominiumClassIndicator/@PartyType. 属性不能有子属性。

于 2012-11-05T22:39:25.313 回答
0

永远无法找出 php 5.3 升级导致此问题的原因,但最终解决方案是通过目录中 .htaccess 文件中的处理程序将此功能转换回 php 5。现在它完美地工作了。

于 2013-01-18T17:56:15.327 回答