Question

Je voudrais obtenir un vrai processeur XSLT travaillant avec Erlang. Quelle serait la meilleure interface, nif ou pilote de port? Selon la documentation nif, les appels nif bloquer le moteur d'exécution, de sorte qu'ils ne devraient pas prendre longtemps. Est le traitement d'un document long xml trop longtemps?

En outre, je voudrais permettre callbacks Erlang lors de la transformation. Cela semble-t-elle possible? Possible avec nif mais pas les pilotes de port ou vice-versa?

Je ne l'ai jamais écrit tout C, donc je me suis dit que ce serait une bonne introduction. Xalan est C ++. Je suppose que nif peut travailler avec ça, non?

Était-ce utile?

La solution

Je recommande la construction d'un pilote de port.

L'installation de NIF est un moyen d'ajouter de nouvelles fonctions intégrées à la langue et d'accélérer les choses qui seraient trop lents à mettre en œuvre dans le plus pur Erlang. NIF sont considérés comme de toute façon expérimentale, de sorte que la puissance de l'interface changer radicalement dans les prochaines versions.

Ecrire un moyen pilote de port mise en œuvre un C (ou C ++) bibliothèque partagée qui se comporte comme un ensemble Erlang processus . Cela permet une plus grande flexibilité que vous pouvez communiquer avec d'autres processus tout en transformant un document (callbacks ...), etc.

Il n'a même pas besoin d'être un pilote. Si vous ne passez pas beaucoup de données entre votre programme de port et autre code Erlang vous pourriez envisager d'écrire un port simple au lieu (il est plus facile).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top