当前位置: 首页 > 知识库问答 >
问题:

XSL FO 文件中的 JavaScript 可以写入文档以便使用 Apache FOP 进行处理吗?

康赞
2023-03-14

我试图测试使用JavaScript脚本在PDF渲染器(特别是Apache FOP)处理时将内容添加到模板中。我知道XSL可以调用一个javascript文件,该文件可以反过来调用

document.write("<p>some text</p>");

其可以在网络浏览器中容易地显示。javascript函数是否可以向文档中写入类似

document.write("<fo:block>some text</fo:block>");

这样 Apache FOP 就能够在输出 PDF 中处理和显示该块?

共有1个答案

蓝逸仙
2023-03-14

document.write是浏览器在text/html文档中向脚本公开的文档对象的方法。XSLT无权访问该文档对象及其方法,即使在浏览器中完成客户端XSLT也不行。您唯一的选择是让XSLT生成一个超文本标记语言结果文档,然后使用脚本来document.write某些东西。即使这样也受到限制,例如Mozilla浏览器在XSLT转换的结果文档中不支持document.write,请参见https://developer.mozilla.org/en/docs/XSL_Transformations_in_Mozilla_FAQ#What_about_document.write.3F.

至于带有Apache FOP的Javascript,不,我认为没有任何可用的文档对象。而且我不确定为什么您需要脚本来创建 fo:block 元素,使用 XSLT 就足以使用文字结果元素,例如

<xsl:template match="foo">
  <fo:block>some text</fo:block>
</xsl:template>
 类似资料:
  • 问题内容: 我想使用JavaScript将数据写入现有文件。我不想在控制台上打印它。我想实际将数据写入。我读了许多已回答的问题,但是他们在控制台上打印的每个位置。在某些地方,他们给出了代码,但是没有用。因此,请任何人帮助我如何实际将数据写入File。 我引用了代码,但是它不起作用:给出错误: 未捕获的TypeError:非法构造函数 在铬和 SecurityError:操作不安全。 在Mozill

  • 问题内容: 我是一名中级新手,擅长于AJAX。在阅读JavaScript时,我感到奇怪的是,我一直在借鉴的大多数示例都使用PHP进行了这种操作。我知道你们中许多人可能会争辩说“我做错了”或“ JavaScript是一种客户端语言”等问题,但问题仍然存在。。。您可以仅使用JavaScript编写文件吗? 问题答案: 您可以使用 Google Gears之 类的东西来生成JS应用程序,这些应用程序可以

  • 有人为Flyway实现了CSV处理吗?它是前一段时间请求的(使用csv文件进行Flyway特定迁移)。Flyway现在将其评论为MigrationResolver和MigrationExecutor的一种可能性,但它似乎没有实现。 我尝试过自己用Flyway 4.2来做,但我对java不是很擅长。我甚至使用样品创建自己的罐子,并使其易于飞行。但是,飞行方式如何区分何时使用 Sql 迁移器和何时使用

  • 问题内容: 简而言之,我需要能够将已编译的可执行文件粘贴到Java jar文件中,然后能够从Java运行它(可能通过)。 的 原因 ,是我想使用Java来包裹ImageMagick的可执行文件成分的图像处理弹性的Map Reduce任务。EMR只希望获取一个jar文件,因此我认为没有空间在旋转的数据节点上安装软件。 问题答案: jar中的可执行文件是一种资源,您可以通过Stream访问它,并将可执

  • 这不是一个浏览器。 我打算为我的机器人做一个“黑名单”数组,这将阻止用户运行命令。然而,我似乎只能在实际的bot文件上这样做,因为我还没有找到一种方法来做一个外部方法。 这就是我正在使用的:

  • 问题内容: 如何运行批处理文件并将参数传递给jar文件? 这不起作用 mybat.bat 运行蝙蝠文件 Java只能看到 问题答案: 我刚刚尝试了一个仅将参数转储到屏幕的小型Java程序: 和以下批处理文件: 我最终得到以下结果 对于与您相同的命令行,等号’=’消失了。现在,如果将批处理文件截断为此: 您将获得另一个结果(可能是您期望的结果-不清楚) 这种%*语法的优点在于,它可以通过接受任意数量