这是问题。我正在使用返回的XML数据,该数据将从Web应用程序返回并通过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个内部服务器错误
有人知道什么可能导致这种情况?
我的智慧结束了!我的一生无法弄清楚为什么会发生这种情况。
尚未发表评论,但是我在您的XSL中注意到:当您患有MORTGAGEDATA/PROJECT/@FHAVAApprovedCondominiumClassIndicator/@PartyType
时。属性不能具有属性儿童。
永远无法确定为什么php 5.3升级引起了这一点,但最终解决了该函数,将此功能通过目录中的.htaccess文件中的处理程序转回php 5。现在它可以很好地工作。