Why are element and type needed both?

Hi,

as far as I understand the specs, types are a kind of abstract element
definitions. Why does <type> exist at all, couldn't it be completely
replaced by something like <element abstract="true">?

Couldn't the whole thing be simplified to e.g. 

<element name="yyy" ref="xxx"> 
  <restrict name="zzz" minOccurs="1"/>
  <element ref="qqq"/>
  <pcdata/>          
  <choice>
    <element name="a" datatype="q"/>
    <element name="b" datatype="r"/>
  </choice>
</element>

where ref means "extends" ("source") if any extension is given, choice
replaces group (can't find the original suggestion), <pcdata> replaces
content type (as suggested by james clarc), <restrict> replaces
derivedBy="restriction", thus avoids unneded named(!) intermediate types
when restriction and extension are needed both.

Best regards

Stefan Haustein

Received on Friday, 4 February 2000 08:58:40 UTC