What are the differences between the attributes of complexType abstract, block and final in xml schema?
abstract is the same concepts in Java or C++, a type is abstract means it is not instantiable, or Specifies whether the complex type can be used in an instance document. True indicates that an element cannot use this complex type directly but must use a complex type derived from this complex type. final is to prevent derivation just like final class in Java. block is to prevent substitution of the ISA relationship in the OO sense. Since derived type ISA base type, but if it is blocked, then forgot the ISA relationship. This explanation is not accurate, but it helps you to remember it by using your Java/OO knowledge.Allowed values of abstract is true or false. Default is false. Allowed values of block and final are the same: restriction, extention, #all. All these three attribute can also be used as attributes of xsd:element. Attention: the value of block in xsd:element will include a new one substitution, which explicitly prevent the xsd:element defined used as substitution of any othe