2011-02-01 3 views
2

J'essaye d'écrire un analyseur xml spécifique pour une sorte d'API et je me demandais si je peux le faire fonctionner sans les analyseurs xml existants comme xmerl. Comment faisable serait de l'implémenter en utilisant seulement la syntaxe de bit et est-ce qu'il y a un doc en ligne où montre comment vous pouvez commencer à analyser xml de cette manière?Erlang xml analyse syntaxe bit

Répondre

7

Ce n'est pas possible, les analyseurs XML sont disponibles pour une raison, si c'était possible alors les analyseurs dédiés n'existeraient pas. La syntaxe des bits n'est bonne que lorsque l'ordre des bits/octets est fixe. XML ne commande pas l'ordre des attributs, et la plupart des gens ne réalisent pas que la spécification XML ne commande pas l'ordre des éléments frères. Donc essayer de faire correspondre n'importe quoi avec la syntaxe de bit ne fonctionnerait pas avec toutes les entrées possibles de XML juste avec la nature non ordonnée des attributs, et encore moins des éléments frères non ordonnés. Utilisez simplement un analyseur XML, ce n'est pas une colline sur laquelle vous voulez mourir.

+1

@hyperboreean: D'accord avec tout ce qui précède. Utilisez la correspondance de motif erlang pour aider à parcourir l'analyse après, par exemple, xmerl_scan: file/2 ... –

+0

Ok, la réponse ci-dessus est logique, je ne sais pas où je pensais. Je suppose que je veux avoir quelque chose de très spécialisé qui analyse le protocole attendu très rapidement et c'est pourquoi j'ai pensé à la syntaxe des bits. – hyperboreean

+0

@Peer Stritzinger: Ferez-vous cela, avez-vous des repères sur xmerl_scan: file/2? Je cherche quelque chose de très rapide – hyperboreean