我在使用 XML document() 调用时遇到了一个非常奇怪的问题。
我的代码很简单,但结果很奇怪。我创建了一系列变量来描述特定文件的路径。然后我使用 document($varname) 来引入文件。它可以工作,但会从我们的子域之一而不是我想要的子域中引入文件。
这是代码:
<xsl:variable name="serverSecure" >https://www.mywebsite.com</xsl:variable>
<xsl:variable name="dirCorrected"><xsl:value-of select="normalize-space(translate($dir, '\', '/'))" /></xsl:variable>
<xsl:variable name="form" ><xsl:value-of select="$serverSecure" /><xsl:value-of select="$dirCorrected" />html/<xsl:value-of select="/page/@name" />.html</xsl:variable>
页面加载时,它不会显示位于https://www.mywebsite.com/somedir/form/html/的文件,而是显示来自 https:// wwwtest .mywebsite.com/somedir/form的页面/html/。
在我们将其启用之前,该服务器作为测试服务器运行,但我们在各处更改了配置。我再也找不到任何指向测试域的东西了。
非常感谢任何和所有帮助!
编辑:有人告诉我,我在原始帖子中没有 document() 函数,对此感到抱歉。稍后在 XSL 中调用它:
<xsl:copy-of select="document($form)"/>
为了测试它,我调用了 $form 变量的 value-of:
<xsl:value-of select="$form" />
输出是我所期望的,它显示了正确通向 www 服务器的路径。但实际显示的 HTML 文件是来自 wwwtest 子域服务器的文件。