Je tiens à vous signaler que le schéma (v1.1) ainsi arrivé n'est pas encore tout à fait correct.
<xs:assert test="matches(substring(string(@Foncvalue),1,3), string(//@Depvalue))" />
Ceci, avec @heritable="true" sur @Depvalue de department, la façon correcte de simplement comme ça.
<xs:assert test="matches(substring(string(@Foncvalue),1,3), string(@Depvalue))" />
comme si l'élément possède l'attribut Depvalue, prenant de l'avantage de @heritage="true" de son parent. L'axes // devant lui rend l'écriture incorrecte fonctionellement en validant le xml.
Pour une illustration, on peut ne pas mettre @heritable du tout, c'est-à-dire, false. Dans ce cas, il suffit de l'écrire comme ça.
<xs:assert test="matches(substring(string(@Foncvalue),1,3), string(parent::*/@Depvalue))" />
ou un peu plus poussé, dans le cas nécessaire:
<xs:assert test="matches(substring(string(@Foncvalue),1,3), string(ancestor::*/@Depvalue))" />
Voilà ! un très bon effort. Comme vous êtes dans une position de mieux apprécier schéma v1.1, vous pouvez consulter mes interventions antérieures:
http://www.developpez.net/forums/d11...valeurs-texte/
http://www.developpez.net/forums/d13...es-dattributs/
Je remarque aussi que, dans ce cas-ci, il n'est pas question de lier aux cas ou un besoin de xsi:type soit nécessaire ou, par extrapolation, ainsi évité. Ce n'est pas de cas du tout ici. Et puis, les travaux des gens pour mettre en place de schéma v1.1 dans le projet xerces-j encore en beta sont tout à fait louables et je trouve insupportable en les raillant comme travailler dans un petit coin et n'apprécier que par un tout petit monde. Je dirais que les bigoterie et ignorance passent, seules restent le progrès méritoire des sciences et les travaux sérieux.
Partager