Des questions similaires ont été posées à plusieurs reprises .. dans stackoverflow ou de blog tech ..
mais la réponse est toujours pas possible,
cas comme:
(un) élément de validation dépendant de la valeur ou de la présence de tout autre élément/attribut
(b) validation de la valeur d'un élément en fonction de la valeur ou de la présence de tout autre élément/attribut
(c) la validation de l'attribut en fonction de la valeur ou de la présence de tout autre élément/attribut
(d) la définition des éléments/attributs de même nom ayant différents types/DataTypes sous même portée
(e) valider les éléments enfants sur la base de la valeur ou de la présence de tous les autres éléments/attributs
tous les cas mentionnés ci-dessus ne sont pas possibles pour atteindre ..
mais si vous pouvez mettre en œuvre quelque chose de transformation .. alors vous pouvez obtenir de l'aide. ce que je veux dire est "d'abord passer par la transformation et modifier le XML selon vos besoins,
exemple :: si le champ particulier est prévu avec une certaine valeur .. passer le XML tel qu'il est si la condition est satisfaite et ne pas passer si ce n'est pas le cas dans le prochain bloc XSD va valider et évidemment des erreurs :) vous pouvez comprendre qu'il manque votre validation personnalisée ..
de toute façon l'intention est de bloquer ou Passez le le xml selon les données .. et c'est ce que vous faites ..
Note: Schematron a été mis en bonne pratique récemment! Voici le tutoriel: http://zvon.org/xxl/SchematronTutorial/General/contents.html
Je suis assez sûr que la réponse n'est pas due à l'ambiguïté: le schéma pour le conteneur de tels éléments aurait deux définitions différentes. La seule solution est de déclarer l'élément "optional/required" comme facultatif et d'utiliser une validation de deuxième phase. –