<!ELEMENT jml (pattern|patternlist)> <!ATTLIST jml version CDATA "1.0"> <!ELEMENT pattern (title?,prop*,setup,symmetry+,event+)> <!ELEMENT title (#PCDATA)> <!ELEMENT prop EMPTY> <!ATTLIST prop type CDATA "ball" mod CDATA #IMPLIED> <!ELEMENT setup EMPTY> <!ATTLIST setup jugglers CDATA "1" paths CDATA #REQUIRED props CDATA #IMPLIED> <!ELEMENT symmetry EMPTY> <!ATTLIST symmetry type CDATA #REQUIRED jperm CDATA #IMPLIED pperm CDATA #REQUIRED delay CDATA #IMPLIED> <!ELEMENT event (throw|catch|softcatch|holding)*> <!ATTLIST event x CDATA #REQUIRED y CDATA "0.0" z CDATA "0.0" t CDATA #REQUIRED hand CDATA #REQUIRED> <!ELEMENT throw EMPTY> <!ATTLIST throw path CDATA #REQUIRED type CDATA "toss" mod CDATA #IMPLIED> <!ELEMENT catch EMPTY> <!ATTLIST catch path CDATA #REQUIRED> <!ELEMENT softcatch EMPTY> <!ATTLIST softcatch path CDATA #REQUIRED> <!ELEMENT holding EMPTY> <!ATTLIST holding path CDATA #REQUIRED> <!ELEMENT position EMPTY> <!ATTLIST position x CDATA #REQUIRED y CDATA #REQUIRED z CDATA "100.0" t CDATA #REQUIRED angle CDATA "0.0" juggler CDATA "1"> <!ELEMENT patternlist (title?,line*)> <!ELEMENT line EMPTY> <!ATTLIST line display CDATA #REQUIRED animprefs CDATA #IMPLIED notation CDATA #IMPLIED pattern CDATA #IMPLIED>