• Sibling content. The content of sibling elements must be the same.

  • Sibling attribute values. Sibling elements must have different values for a given attribute.

  • Mutual exclusion. An attribute or a child element must be present, but not both.

  • Element type from attribute presence. Element data type dependent on presence or absence of an attribute.

  • Element type from attribute content. Element content dependent on attribute value.

  • Attribute type from element content. Attribute values dependent on element content.

  • Attribute value exclusion. Attributes that are required to be different if both are specified.