我想加载图片来获取元数据。我的代码是这样的: “url”的值是这样的:“http:\ localhost:8080 \ mypics \ pic1.jpg”
<xsl:call-template name="mypic">
<xsl:with-param name="metadata" select="document($url)/metadata"/>
</xsl:call-template>
我得到这个例外:IDsystÞmeanconnu; Ligne#47; Colonne#38;无法加载请求的文档:C:\ http:\ localhost:8080 \ mypics \ pic1.jpg(找不到特定路径)
感谢您的帮助。
答案 0 :(得分:1)
$url
的值应为
http://localhost:8080/mypics/pic1.jpg
<强>更新强>
根据this documentation,您需要指定一个URI,该URI的资源必须是 xml类型。我强烈怀疑,您可以使用此表达式处理图像。 document()
函数用于访问外部文档中的(xml-)节点。
我猜,反斜杠使得处理器相信字符串指向相对于C:\
的文件资源。
答案 1 :(得分:0)
我想加载图片来获取元数据。我的代码就像 这个:“url”的值是这样的: 的 “http:\本地主机:8080 \ mypics \ pic1.jpg”
在XSLT中,除非文件包含格式良好的XML文档,或者只包含文本(非二进制文件),否则无法加载文件。
在XSLT转换中,只能加载XML文档(带有document()
函数)或文本文件(带有XSLT 2.0 unparsed-text()
)函数。
答案 2 :(得分:0)
我认为没有原生的XSLT方法可以做到这一点,因为我猜Dimitrie会向我们展示一个如果存在的话。
另一种方法是退出Java。用Java编写自己的扩展函数,并从XSLT中调用它。此链接显示了如何完成此操作:
http://www.redstream.nl/2011/03/29/xslt-2-0-and-java-extensions/