Il s'agit davantage d'une question de schéma XML générique, mais si et comment spécifiez-vous les dépendances de champ dans un schéma XML. Par exemple, comment dirais-je que fieldB est requis, si fieldA est fourni ???Comment spécifiez-vous les dépendances de champ dans un schéma XML?
Répondre
Vous pourriez truquer ceci en utilisant < choix> et/ou < séquence>. Par exemple, vous pouvez autoriser rien, fieldB, ou fieldA et fieldB, mais pas seulement fieldA. Cela pourrait conduire à la duplication, que vous pourriez éviter en définissant un complexType.
Vos options pour ce genre de chose dépendent de la façon dont les «champs» sont représentés en XML et de la version de XSD que vous utilisez. Si fieldA
et fieldB
sont des éléments, y compris une structure de la forme suivante dans le modèle de contenu approprié ferait l'affaire.
<sequence minOccurs="0">
<element ref="tns:fieldA" minOccurs="0"/>
<element ref="tns:fieldB"/>
</sequence>
(Les deux références d'éléments peuvent apparaître dans l'autre ordre si vous préférez.) Il est pas clair pour moi pourquoi Erik Hesselink craint que cela peut conduire à la duplication, ou quelle forme de double emploi, il est inquiet.
Si vous faites fieldB
être un élément et fieldA
être un attribut (facultatif?) Sur cet élément, la contrainte de cooccurrence que vous voulez suit automatiquement.
Si vous définissez les deux attributs, la contrainte de cooccurrence ne peut pas être appliquée par XSD 1.0; certaines personnes ont recours à Schematron pour gérer des choses comme ça. Dans XSD 1.1, les options permettant d'appliquer la contrainte dans cette situation incluent xs:assert
et l'affectation de type conditionnelle.
- 1. Comment ajouter un espace dans un élément de schéma XML?
- 2. "étendre" un schéma xml
- 3. Comment interroger un champ XML dans SQL
- 4. Comment ajouter un GUID simpleType dans un schéma XML?
- 5. comment faire un élément dans un schéma Xml comme optinal
- 6. Schéma XML
- 7. interroger le magasin xml dans un champ de texte
- 8. Puis-je avoir un schéma XML (XSD) comprennent un autre schéma XML?
- 9. Comment valider une liste de sélection avec un schéma XML
- 10. schéma XML Ambigu
- 11. schéma Rails XML
- 12. Dénormaliser un schéma XML par programme
- 13. Comment traduire XML d'un schéma à un autre?
- 14. Schéma XML pour une classe contenant un DataTable
- 15. Un schéma XML pour des fichiers XML multiples mais similaires
- 16. Comment puis-je valider une chaîne de XML par rapport à un fichier de schéma XML
- 17. Comment ajouter/fusionner XML supplémentaire dans un champ XML existant dans SQL Server 2005
- 18. Validation complète du schéma XML
- 19. Problème avec le schéma XML
- 20. Comment installer les dépendances de script Perl?
- 21. Sélectionner les valeurs champ XML dans SQL Server 2008
- 22. Existe-t-il un schéma xml de syndication d'atome défini?
- 23. Outil de validation du schéma XML XSD
- 24. Comment déclarer un élément non-chaîne comme ayant un contenu optionnel dans le schéma XML
- 25. schéma XML contruct pour un type avec les énumérations et les attributs
- 26. Comment valider un fichier XML par rapport à un schéma à l'aide de Visual Studio 2005
- 27. Axe2 et personnalisation d'un schéma XML dans une approche ascendante
- 28. Schéma XML pour séparer les 'données' des 'préférences'
- 29. Schéma XML: Définition d'une valeur par défaut pour un complexType?
- 30. Comment générer un schéma de schéma de base de données dans Visual Studio (express)?