Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Saxon:XSLT图像处理:无法从xs:string转换为字节_Xslt_Saxon - Fatal编程技术网

Saxon:XSLT图像处理:无法从xs:string转换为字节

Saxon:XSLT图像处理:无法从xs:string转换为字节,xslt,saxon,Xslt,Saxon,以下代码: <xsl:message>[threfUrl] <xsl:value-of select="$threfUrl" /></xsl:message> <xsl:variable name="actualHeight" select="itext:getPlainHeight(itext:getInstance($threfUrl))" /> PNG文件存在且可读。使用萨克森9。名称空间:itext=“java:com.itextpdf.

以下代码:

<xsl:message>[threfUrl] <xsl:value-of select="$threfUrl" /></xsl:message>
<xsl:variable name="actualHeight" select="itext:getPlainHeight(itext:getInstance($threfUrl))" />
PNG文件存在且可读。使用萨克森9。名称空间:itext=“java:com.itextpdf.text.Image”

关于什么是错误(错误消息没有帮助)或如何修复的任何线索? “file:/”语法正确吗?

假设您正在使用try
select=“itext:getPlainHeight(itext:new($threfUrl))”
。如果这不起作用,则显式构造URL,如中所示

<xsl:variable name="actualHeight" xmlns:url="java:java.net.URL" select="itext:getPlainHeight(itext:new(url:new($threfUrl)))" /> 
所以这个构造函数是公共的

可能有不同版本的API,我不知道为什么会出现错误。另一次尝试可能是您最初的尝试,但会传入一个URL,所以

<xsl:variable name="actualHeight" xmlns:url="java:java.net.URL" select="itext:getPlainHeight(itext:getInstance(url:new($threfUrl)))" />


请共享该
itext
前缀的名称空间以及您正在使用的Saxon的确切版本。您正在尝试调用Java方法吗?哪个班的?方法的签名看起来到底是什么样的?感谢Martin提供了重要的细节!构造函数受到保护,因此itext:new()无法工作。getInstance()的问题是有很多重载,例如一个需要Url,另一个需要图像;和xs:string无法转换为任何。使用url:new()应该会有所帮助(我假设$thefull是一个字符串,因为我们没有被告知其他情况),但是解决重载方法可能仍然很棘手。至于原始错误,getInstance()的一个重载需要一个字节[],我认为它是根据特定的重载报告错误的找不到匹配的名为{java:com.itextpdf.text.Image}new()的单参数函数。@Dan,我编辑了答案以尝试另一个建议,基本上是您最初的尝试,但传递的是URL而不是字符串。我恐怕目前不知道如何解决这个问题,可能会有帮助,或者Michael可以告诉您更多。
 Constructor Detail
Image

public Image(URL url)

    Constructs an Image -object, using an url .

    Parameters:
        url - the URL where the image can be found.
<xsl:variable name="actualHeight" xmlns:url="java:java.net.URL" select="itext:getPlainHeight(itext:getInstance(url:new($threfUrl)))" />