<!-- Generated by Relaxer 0.13 -->
<!-- Sun Jun 03 09:44:38 JST 2001 -->

<!ELEMENT vertical (#PCDATA)>
<!ATTLIST vertical type (absolute|relative|sequence) "absolute">

<!ELEMENT fireRef (param*)>
<!ATTLIST fireRef label CDATA #REQUIRED>

<!ELEMENT changeDirection (direction, term)>

<!ELEMENT bulletml (bullet | fire | action)*>
<!ATTLIST bulletml xmlns CDATA #IMPLIED>
<!ATTLIST bulletml type (none|vertical|horizontal) "none">

<!ELEMENT param (#PCDATA)>

<!ELEMENT actionRef (param*)>
<!ATTLIST actionRef label CDATA #REQUIRED>

<!ELEMENT repeat (times, (action | actionRef))>

<!ELEMENT accel (horizontal?, vertical?, term)>

<!ELEMENT times (#PCDATA)>

<!ELEMENT term (#PCDATA)>

<!ELEMENT wait (#PCDATA)>

<!ELEMENT action (changeDirection | accel | vanish | changeSpeed | repeat | wait | (fire | fireRef) | (action | actionRef))*>
<!ATTLIST action label CDATA #IMPLIED>

<!ELEMENT vanish (#PCDATA)>

<!ELEMENT speed (#PCDATA)>
<!ATTLIST speed type (absolute|relative|sequence) "absolute">

<!ELEMENT horizontal (#PCDATA)>
<!ATTLIST horizontal type (absolute|relative|sequence) "absolute">

<!ELEMENT bullet (direction?, speed?, (action | actionRef)*)>
<!ATTLIST bullet label CDATA #IMPLIED>

<!ELEMENT direction (#PCDATA)>
<!ATTLIST direction type (aim|absolute|relative|sequence) "aim">

<!ELEMENT changeSpeed (speed, term)>

<!ELEMENT fire (direction?, speed?, (bullet | bulletRef))>
<!ATTLIST fire label CDATA #IMPLIED>

<!ELEMENT bulletRef (param*)>
<!ATTLIST bulletRef label CDATA #REQUIRED>
