understanding xml schema complex types

There's a great article about XML Schema called Understanding W3C Schema Complex Types by Donald Smith. I wish I've read this earlier. The author summarizes the complex types into four simple points:

  • derivation (restriction, extension, list, and union) is the basis of connection between types in the type hierarchy.
  • the initial branching of the hierarchy is into simple and complex types.
  • while both forms of complex type allow attributes, only those with complex content allow child elements; those with simple content only allow character content.
  • the default syntax for complex types is complex content that restricts anyType.