Introduction
L'IRS a récemment annoncé le lancement du projet Tax Withholding Estimator (TWE), un outil en ligne gratuit et open source qui permet aux contribuables de calculer leurs impôts et d'ajuster leurs retenues sur salaire. Ce projet a été développé en utilisant XML comme langage de spécification déclaratif.
Contexte Technique
Le TWE utilise deux configurations XML : le Fact Dictionary, qui représente le code fiscal américain, et le Fact Graph, un moteur de logique qui calcule les obligations fiscales des contribuables en fonction des faits définis dans le Fact Dictionary. Le Fact Graph a été initialement développé pour l'IRS Direct File et est maintenant utilisé pour le TWE.
Les faits dans le Fact Graph sont représentés sous forme de XML, avec des éléments tels que , , , et qui décrivent les relations entre les faits. Par exemple, le fait décrit la différence entre le total des taxes dues et le total des paiements effectués.
Analyse et Implications
La représentation des faits en XML peut sembler verbeuse, mais elle est raisonnablement claire et permet de décrire des relations complexes entre les faits. Le fait que les faits soient définis de manière déclarative, plutôt que de manière impérative, signifie que les étapes intermédiaires ne sont pas perdues et que les faits peuvent être réutilisés dans différents contextes.
La comparaison avec une représentation en JavaScript montre que la notation XML peut être plus lisible et plus facile à comprendre, même si elle est plus verbeuse. La représentation en JavaScript est impérative, ce qui signifie qu'elle décrit des actions à effectuer dans une séquence, alors que la représentation en XML est déclarative, ce qui signifie qu'elle décrit les relations entre les faits.
Perspective
Le projet TWE montre que XML peut être un langage de spécification déclaratif abordable et efficace pour les applications de calcul de taxes. La représentation des faits en XML permet de décrire des relations complexes entre les faits de manière claire et lisible, et la déclaration des faits de manière déclarative permet de réutiliser les faits dans différents contextes.