gpt4 book ai didi

xslt - 如何在 XSLT 中检查文件是否存在?

转载 作者:行者123 更新时间:2023-12-04 17:49:40 26 4
gpt4 key购买 nike

我想检查 XSLT 是否存在 HTML 文件。
我怎样才能做到这一点?
我已经从这里尝试过 file-exists.xsl https://gist.github.com/emth/4531924但这对我不起作用。我一直试图让它运行超过 2 个小时,但我被卡住了。
这是我的 Ant 片段:

<target name="transform">
<xslt in="/tmp/sample.xml" out="/tmp/out.html" style="/tmp/sample.xsl" />
</target>

这是我的 xslt 文件:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:java="http://www.java.com/">
<xsl:import href="file-exists.xsl"/>
...
<xsl:if test="java:file-exists('myfile.html', base-uri())">
<!-- do something here... -->
</xsl:if>
....



用 ant 运行这个我会得到以下错误:
[xslt] Processing /tmp/sample.xml to /tmp/out.html
[xslt] Loading stylesheet /tmp/sample.xsl
[xslt] : Error! The first argument to the non-static Java function 'fileExists' is not a valid object reference.
[xslt] : Error! Cannot convert data-type 'void' to 'boolean'.
[xslt] : Fatal Error! Could not compile stylesheet
[xslt] Failed to process /tmp/sample.xml

任何人都可以为我提供一个运行示例还是有其他选择?谢谢!

最佳答案

我找到了一个解决方案:

<xsl:when test="fs:exists(fs:new('myfile.html'))" xmlns:fs="java.io.File">
<!-- do something here... -->
</xsl:when>

它独立于 XSLT 1.0 或 2.0 工作

关于xslt - 如何在 XSLT 中检查文件是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20243412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com