2010-10-29 26 views
-1

Les services backend existants seront ouverts pour davantage de clients (ajout d'un Couche Web Service au client Web-Frontend).
Actuellement, XML Schema est utilisé pour la validation des DTO, mais comme le frontend est hors de notre contrôle, nous devrons déplacer des tests étendus (par exemple des tests d'interdépendance) de la couche frontend vers une nouvelle couche de validation.
Maintenant, notre question est de savoir s'il existe un modèle commun pour cela, par exemple. quelque chose de similaire à l'utilisation de RELAX NG ou un moteur de règles? L'exigence est de pouvoir vérifier les types de données (nous resterions avec XML Schema ici) et les interdépendances, mais ces interdépendances peuvent devenir assez compliquées, à savoir. ils peuvent impliquer des contrôles sur des données qui ne sont pas disponibles dans les données d'entrée (mais dans un système externe).
Nous recherchons donc des motifs ainsi qu'un cadre qui facilite la mise en œuvre des motifs.Couche de validation avec contrôles d'interdépendance

Répondre

0

Schematron est le langage de schéma à regarder (utilisé comme couche sur le dessus de votre XSD probablement). Schematron est basé sur les contraintes exprimées en utilisant XPath, qui dans la plupart des cas est assez puissant pour exprimer ce qui est nécessaire. Puisque XPath peut être étendu avec des fonctions définies par l'utilisateur, il est possible de réaliser potentiellement toute validation par ex. (Si vous utilisez des données externes à votre document pour la validation, une bonne approche consiste à exposer ces données externes au format XML - peut-être disponible de manière RESTy - afin que les contraintes de validation puissent être exprimées. entièrement en termes XML dans votre schéma Schematron.)