Question

Je crois que cela a à voir avec keyref mais je ne suis pas sûr, et je suis vraiment pas sûr que cela peut être fait du tout.

Par exemple, dire que j'ai myElement1 et myElement2. S'il n'y a pas myElement2 dans le fichier XML, puis myElement1 doit exister, sinon il est facultatif.

Est-il possible de forcer ce type de validation dans mon fichier XSD?

Était-ce utile?

La solution

Des questions similaires ont été posées à plusieurs reprises .. dans stackoverflow ou de blog tech ..

mais la réponse est toujours pas possible ,


des cas comme:

(a) la validation de l'élément en fonction de la valeur ou de la présence de tout autre élément / attribut
(B) la 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 de moins de même étendue
(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 de modifier le code XML selon vos besoins,

exemple :: si le champ particulier est attendu avec une certaine valeur .. passer le XML comme il est si la condition est satisfaite et ne passe pas si elle ne le fait pas .. dans le bloc suivant XSD va valider et évidemment des erreurs sur :) vous pouvez comprendre qu'il manque la validation de votre commande ..

de toute façon l'intention est de bloc ou Passe xml selon les données .. et c'est ce que vous faites ..

Note: Schematron a été entrée en bonnes pratiques récemment! Voici le tutoriel: http://zvon.org/xxl/SchematronTutorial/General/contents. html

Autres conseils

Ce que je suggère est de créer XSD pour chaque cas définis ci-dessous:

Des cas comme:

  1. Validation Element en fonction de la valeur ou de la présence de tout autre élément / attribut.
  2. Validation de la valeur d'un élément en fonction de la valeur ou de la présence de tout autre élément / attribut.
  3. Validation attribut en fonction de la valeur ou de la présence de tout autre élément / attribut.
  4. Ignorant (au hasard) éléments / attributs de validation ne sont pas permis. (Je veux dire est l'utilisation de restrictions a.)
  5. Les éléments / attributs du même nom ayant des DataTypes.
  6. éléments enfants Validation sur la base de la valeur ou de la présence de tous les autres éléments / attributs.

Et créer leur propre XML pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top