从XSLT中调用外部Perl脚本

从XSLT中调用外部Perl脚本,perl,xslt,call,Perl,Xslt,Call,如何从xslt中调用外部Perl脚本或任何脚本?这没有任何意义。将XSLT样式表绑定到外部命令将使任何可移植性无效,尤其是对浏览器 特定的XSLT处理器可以允许编写脚本,但这通常不可用。不包含任何与调用外部命令相关的内容。该规范确实说明了如何处理该语言的扩展,这使得供应商能够包括对脚本编写或调用外部命令的支持 如果您的问题不能用(图灵完成)XSLT语言解决,那么它可能是不适合您工作的工具。用Python或Perl重写某些部分可能更合适 1.Microsoft实现允许您在JavaScript中定

如何从xslt中调用外部Perl脚本或任何脚本?

这没有任何意义。将XSLT样式表绑定到外部命令将使任何可移植性无效,尤其是对浏览器

特定的XSLT处理器可以允许编写脚本,但这通常不可用。不包含任何与调用外部命令相关的内容。该规范确实说明了如何处理该语言的扩展,这使得供应商能够包括对脚本编写或调用外部命令的支持

如果您的问题不能用(图灵完成)XSLT语言解决,那么它可能是不适合您工作的工具。用Python或Perl重写某些部分可能更合适

1.Microsoft实现允许您在JavaScript中定义额外的函数。

请查看
XML::LibXSLT
中的
注册函数()。
XML::LibXSLT
文档中有一个小示例,说明如何注册一个小的perl函数以在XSLT样式表中使用。根据个人经验,在这里定义更大的功能没有问题。

我的目标是从内容管理系统中的数据捕获模板添加数据路径。以前我们使用Perl生成模板,因此在其中编写函数是标准的。我们正在转向XSL,我试图找到一种方法来利用这些数据,因为它们不是用户定义的内容。@AndersonNicholasL您可以处理多个输入文档,URI可以引用这些文档。如果另一个内容是静态的,那么这很简单(只需将额外的XML转储到一个文件中,然后使用它即可)。否则,您可以以某种方式将脚本绑定到特定的URL,例如通过CGI–但这将是一个非常有问题的设计。@amon请查看我的答案。为xslt注册外部函数是非常好的。这是一个很好的特性,但值得重复的是,这是实现特定的功能。xslt规范提到并允许使用xslt语言。当然,它是具体实施的;python xslt实现不太可能支持perl代码。如果您的目标是可移植性,那么不要使用此功能。如果没有,那么我不知道使用这个功能有什么障碍。谢谢你的回答。我不是在和任何浏览器打交道。我正在编写的XSL是生成要发送到数据库的XML。除了XML之外,我所使用的任何东西都不会超出内容管理系统。CMS捕获用户的工作区信息和用户数据,使用perl,我们可以捕获这些信息并将其作为xml中的元数据发送。然而,除非XSL能够获取这样的信息,否则使用内置的perl函数是一条可行的道路。再次感谢@SlavenRezic!