libxslt 是否具有将一个文档拆分为多个文档的功能?
看起来 libxslt 不支持 XSLT 2.0 和 xsl:result-document
。有没有办法使用libxslt
或xsltproc
来模拟xsl:result-document
?
Looks like libxslt does not support XSLT 2.0, and xsl:result-document
. Is there a way to mimic xsl:result-document
using libxslt
, or xsltproc
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,有,使用 exsl:document。一个简单的例子:
将此作为输入:
当像这样运行时:
会将其生成到 stdout:
同时还将其写入
toc.html
:Yes, there is, using exsl:document. A simple example:
taking this as input:
when run like this:
will yield this to stdout:
while also writing this to
toc.html
:如果 libxslt 实现 EXSLT,那么您可以使用
扩展元素。如果没有,那么您必须编写自己的扩展函数,因为 XSLT 1.0 不支持创建多个结果文档。
更新:如此注释,libxslt 实现了 EXSLT。只需抓住它并使用
。If libxslt implements EXSLT, then you could use the
<exsl:document>
extension element.If not, then you have to write your own extension functions, because XSLT 1.0 does not support creating multiple result documents.
Update: As confirmed in this comment, libxslt implements EXSLT. Just grab it and use
<exsl:document>
.下面的示例展示了如何使用扩展在遍历节点集时创建无限数量的文件。再次使用 xsltproc (libxslt)
示例 XML 输入:
示例 XSLT:
将生成 3 个文件 ACME1.html、ACME2.html 等。
And here is an example that shows how to use the extension to create an unlimited number of files as a nodeset is traversed. Again, using xsltproc (libxslt)
Sample XML Input:
Sample XSLT:
Will produce 3 files ACME1.html, ACME2.html, etc.