Au cours des deux dernières années, beaucoup de nos API internes de modification et de recherche de notre base de données se sont de plus en plus mêlées aux besoins spécifiques et à la logique d'application des frontaux qu'elles alimentent. Pour contrer cette tendance, nous avons décidé de déplacer progressivement ces API vers des services Web avec des interfaces stables et concises. Une autre raison de cette étape est que les API ont été initialement conçues pour les sites Web traditionnels alors qu'elles sont de plus en plus utilisées par les applications AJAX, les applications iPhone, les clients externes, etc. En travaillant sur les détails de ce processus, nous avons réalisé que l'une des principales fonctionnalités que nous prévoyons de fournir est une recherche assez complexe à travers différents types de ressources comme, par exemple, les personnes, les documents et les lieux.Existe-t-il un méta-langage XML pour exprimer des requêtes de recherche complexes?
Maintenant, il est évident que les détails d'une recherche dépendent largement de l'espace de recherche. Il y a cependant beaucoup de méta-concepts qui sont universels. Par exemple, des opérateurs logiques connectant des prédicats de recherche et une structure hiérarchique (accolades) et des règles de précédence pour ces opérations; requêtes de plage pour les valeurs numériques, correspondance d'expressions régulières pour les chaînes, etc. Compte tenu de ces concepts, le XML vient immédiatement à l'esprit comme une représentation adéquate pour une requête (tout comme les DSL, mais je pense que c'est une arme trop grosse dans notre cas). Donc, ma question est la suivante: existe-t-il un méta-langage XML sur lequel nous pouvons baser notre propre dialecte spécifique au domaine pour l'expression de telles requêtes? Ou y a-t-il d'autres possibilités qui ne nous ont pas encore traversé l'esprit?
Cela semble intéressant. Bien que, à première vue, il semble que ce soit une spécification très basique. (Ce qui n'est pas une mauvaise chose en soi, mais il semble que ce soit si fondamental que l'utiliser au lieu de le réinventer en fonction de nos besoins ne nous sauverait pas vraiment beaucoup de travail.) – n3rd