我想让一个真正的XSLT处理器与Erlang合作。哪个是最好的接口,NIF或端口驱动程序?根据NIF文档,NIF调用块块,因此不应花费很长时间。处理长XML文档的时间太长了吗?

另外,我想在转换过程中允许Erlang回调。这似乎有可能吗?使用NIF但不使用端口驱动程序,反之亦然?

我从来没有写过任何C,所以我认为这是很好的介绍。 Xalan是C ++。我认为Nif可以使用它,对吗?

有帮助吗?

解决方案

我建议建立一个端口驱动程序。

NIF设施是一种向语言添加新的内置功能并加快在纯Erlang中实现的速度的方式。无论如何,NIF被认为是实验性的,因此界面可能会在未来的版本中发生根本变化。

编写端口驱动程序意味着实现C(或C ++)共享库,该库的行为与整个Erlang一样 过程。在转换文档(回调...)等时,您可以与其他流程进行通信,从而具有更大的灵活性。

它甚至不必是驱动程序。如果您没有在端口程序和其他ERLANG代码之间传递大量数据,则可能会考虑编写普通端口(更容易)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top