我想要一个真正的XSLT处理器与erlang一起工作。最好的接口是nif还是端口驱动程序?根据nif文档,nif调用会阻止运行时,因此它们不应花费很长时间。处理长的xml文档是否太长?
另外,我想在转换过程中允许erlang回调。看起来有可能吗?使用nif可以但不能使用端口驱动程序,反之亦然?
我从来没有写过C,所以我认为这是一个很好的介绍。 Xalan是C++。我认为nif可以解决这个问题,对吗?
最佳答案
我建议构建一个端口驱动程序。
NIF工具是向语言添加新的内置函数的一种方式
并加快了在纯Erlang中实现太慢的事情。
NIF仍然被认为是实验性的,因此该接口可能
在将来的版本中进行根本性的更改。
编写端口驱动程序意味着实现
一个C(或C++)共享库,其行为类似于整个erlang进程。
与您交流时,这可以提供更大的灵活性
转换文档时的其他过程(回调...)等。
它甚至不必成为驱动程序。如果你没有通过
您的端口程序和其他Erlang代码之间的数据可能
考虑改写一个普通端口(更容易)。
关于erlang - Erlang:与Xalan接口(interface):端口驱动程序还是nif?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2910212/