这就是问题所在。我正在获取从 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
任何人都有任何线索可能导致这种情况?
在我的智慧尽头!无法为我的生活弄清楚为什么会发生这种情况。