<!ENTITY % Number "CDATA">
    <!-- one or more digits -->

<!ENTITY % Boolean "(true | false)">
    <!--  spaces -->



<!ELEMENT bikes (bike)*>
<!ATTLIST bikes
>

<!ELEMENT bike (frame, wheel+, brake*, lock*)>
<!ATTLIST bike
  kind   (mountain-bike, racer-bike, tourist-bike, other)  "tourist-bike"
>

<!ELEMENT frame EMPTY>

<!ATTLIST frame
  frame-number CDATA #REQUIRED
>

<!ELEMENT wheel EMPTY>

<!ATTLIST wheel
  size        %Number; #REQUIRED
  tube-kind   CDATA    #IMPLIED
>

<!ELEMENT brake EMPTY>

<!ATTLIST brake
  kind    CDATA   #IMPLIED
  brand   CDATA   #IMPLIED
>

<!ELEMENT lock EMPTY>

<!ATTLIST lock
  brand   CDATA   #IMPLIED
  insurance-approved  %Boolean; #REQUIRED
>