Monday, 2 January 2012

XSD Schema Components Overview

There are 13 kinds of components, falling into 3 group:
  • primary components:
    • element declaration (named) - element
    • attribute declaration (named) - attribute
    • simple type definition (anonymous or named) - simpleType
    • complex type defintion (anonymous or named) - complexType
  • secondary components (all named):
    • group definition components (re-usable definitions):
      • model group definition - group
      • attribute group definition - attributeGroup
    • identity-constraint definitions - unique, key, keyref
    • notation declaration - notation
  • helper components (providing small parts of other components):
    • model group components (complex types content description):
      • model groups - all, choice, sequence
      • particles (element, group, any) - minOccurs, maxOccurs
      • attribute uses - required, default, fixed
      • wildcards - any, anyAttribute (and anyType)
    • annotations- documentation, appinfo