我想有多个文件输出与xsl,所以我使用xsl:结果文档,我有这个错误
xsl:当扩展函数被禁用时,结果文档被禁用
看来我需要启用外部功能,这样它才能工作。但问题是,我没有使用命令行,我不能只是把-ext:打开。这里我用camel和spring XML调用xslt。如果我理解得很好,我需要更改xslt的配置属性,以便将allow external函数设置为true。
以下是我试图修复的:
<bean id="xslt-saxon" class="org.apache.camel.component.xslt.saxon.XsltSaxonComponent">
<property name="saxonConfiguration">
<bean class="net.sf.saxon.Configuration"/>
</property>
<property name="saxonConfigurationProperties">
<map>
<entry key="http://saxon.sf.net/feature/allow-external-functions" value="true" value-type="java.lang.Boolean"/>
</map>
</property>
</bean>
然后当我打电话给xslt-saxon时:
<to uri="xslt-saxon:file://{{format.transformer.file}}"/>
但它不起作用,错误是:
No component found with scheme: xslt-saxon
即使我在pom中向saxon添加依赖项。xml它不起作用。我不知道下一步该怎么做,你知道吗?
编辑:
现在,在使用xslt saxon时不再出现错误,但第一个错误仍然存在。这是因为允许外部功能的映射不起作用。
我可以通过Camel通过Saxon运行XSL转换,只需向
.to("xslt:transformation.xsl?saxon=true")
不需要Spring XML或启用外部函数,它只是在我添加依赖项时工作
<artifactId>camel-saxon</artifactId>
顺便说一下,我骑的是骆驼2.17。
我的示例是输入XML
<?xml version="1.0" encoding="UTF-8"?>
<Camel>
<Component>
<XSL>The XSL component</XSL>
<File>The file component</File>
</Component>
</Camel>
我的转变。xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<Camel-Components>
<xsl:for-each select="Camel/Component/*">
<xsl:result-document href="test-{position()}.txt">
<xsl:value-of select="."/>
</xsl:result-document>
</xsl:for-each>
</Camel-Components>
</xsl:template>
</xsl:stylesheet>
这给了我两个新文件,注意动态文件名定义为test-{post()}. txt
test-1。txt
=这两个文件都是在保存转换样式表的同一路径中创建的,因为我只提供了一个文件名,没有提供路径。
例子 #if (GCC_VERSION > 4000) #define DEBUG_FUNCTION __attribute__ ((__used__)) #define DEBUG_VARIABLE __attribute__ ((__used__)) #else #define DEBUG_FUNCTION #define DEBUG_VARIABLE #endif DEBUG_FUNCT
问题内容: 在抓取https://www.netflix.com之类的网站时,被robots.txt禁止:https://www.netflix.com/> 错误:未下载以下响应:https : //www.netflix.com/ 问题答案: 在2016年5月11日发布的新版本(scrapy 1.1)中,抓取功能先在抓取之前下载了robots.txt。要更改此行为,请使用ROBOTSTXT_OB
我无法获得关于Crashlytics的碰撞报告。我注意到logcat说“Send to Reports Endpoint disabled”。 有什么想法如何启用发送报告吗?另外一件奇怪的事情是,我在项目设置中的API密钥与google-services.json中的密钥不匹配。不确定这是否有关。 ================================2020-09-06 12:27:2
问题内容: PHP中是否可以使用任何函数来检测该函数是否可用? 问题答案: 编辑:根据Ziagl的评论修复了爆炸。
我正在使用Google Maps v2,我想确定我的位置。我使用Genymotion emulator。我需要激活测试设备上的GPS。如果我在模拟器上测试,并且如果我尝试使用LocationManager,它没有激活“null”。我正在使用Eclipse的“DDMS”透视图将地理位置发送到模拟器。窗→ 打开透视图→ 另外→ DDMS。但并非所有字段都可单击。 `
我使用这段代码点击下拉列表: 我得到错误可能是因为有一个显示登录栏的层。之后,该元素被禁用,代码抛出异常。 是否可以实现一个等待元素不被禁用的listen?