Co-constraint Use Cases
This page points to various use cases for Co-occurrence constraints. Many were originally collected by Henry Thompson from public lists in February 2003; others were contributed by Fabio Vitali in February 2006 (W3C member-only links), in support of a discussion of possible support for co-constraints in XML Schema 1.1.
To add a use case, use the template for co-constraint use cases ([Co-constraintUseCaseTemplate]).
In principle, all pages in the category should be listed here, but you might want to check the category list just in case.
Quotations in the use case descriptions are from the email given as source; some typographic and other irregularities have been silently corrected.
N.B. the priority grouping given here is a rough-and-ready partition made during the XML Schema WG call of 31 March 2006; it is subject to change.
- Value-equals test required (1)
- Value arithmetic required - attributes (2)
- Constraints on grandchildren (5)
- Simple attribute implication (6)
- Attribute mutex (7)
- Open content, sort of (9)
- Value arithmetic required - elements (12)
- Value equality - and null/non-null (13)
- Value equality - and following siblings (14)
- Value equality - and children of following sibling (15)
- Classic CONREF (17)
- Require somewhere (20)
- Deep inclusions (23)
- Fixed occurrence count (26)
- Simple vs. complex content (3)
- Needs choice inside all (4)
- Value-equals test required, constraint on grandchild (8)
- Dynamic minOccurs (10)
- Repeated choice with some but not all mandatory (11)
- Computed values (16)
- Alternative enumerations (18)
- Enumeration or any string (19)
- Exclude anywhere (21)
- Deep exclusions (22)
- Final summary (24)
- Initial summary (25)
- Centrally changing context (or, the 'size' example) (27)
- "Berkeley Calendar Project"
The bracketed numbers in the list above are the numbers given to these use cases in some earlier discussions in the XML Schema WG. Note that some items in the numbered list are replicated so as to align with this earlier numbering scheme.