<!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
>