<?xml encoding="ISO-8859-1"?>

<!-- @version: -->

<!ENTITY copyright "&#xA9;">
<!ENTITY reg "&#174;">
<!ENTITY startbold "&lt;b&gt;">
<!ENTITY endbold "&lt;/b&gt;">
<!ENTITY startitalic "&lt;i&gt;">
<!ENTITY enditalic "&lt;/i&gt;">
<!ENTITY newline "&lt;br&gt;">
<!ENTITY % inline "#PCDATA | score | sub | random | variable | store">

<!ELEMENT rolllists (rolllist)+>
<!ELEMENT rolllist (name, author?, url?, dice?, comment?, items )>
<!ATTLIST rolllist id CDATA #REQUIRED>
<!ATTLIST rolllist visible (true | false) #IMPLIED>
<!ATTLIST rolllist edge (bind | wrap | reroll) #IMPLIED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT dice (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT comment ANY>

<!ELEMENT items (item)+>
<!ELEMENT item (%inline;)*>
<!ATTLIST item roll CDATA #IMPLIED>
<!ATTLIST item end CDATA #IMPLIED>
<!ATTLIST item repeat CDATA #IMPLIED>

<!ELEMENT sub (#PCDATA)>
<!ATTLIST sub modifier CDATA #IMPLIED>
<!ATTLIST sub repeat CDATA #IMPLIED>
<!ATTLIST sub delimiter CDATA #IMPLIED>
<!ATTLIST sub store CDATA #IMPLIED>
<!ATTLIST sub unique (true | false) #IMPLIED>
<!ATTLIST sub sort (true | false) #IMPLIED>

<!ELEMENT random (#PCDATA)>

<!ELEMENT variable EMPTY>
<!ATTLIST variable name CDATA #REQUIRED>
<!ATTLIST variable modifier CDATA #IMPLIED>

<!ELEMENT score EMPTY>
<!ATTLIST score name CDATA #REQUIRED>
<!ATTLIST score value CDATA #REQUIRED>
<!ATTLIST score action (set | add | subtract | multiply | divide | min | max | average) #IMPLIED>

<!ELEMENT store EMPTY>
<!ATTLIST store name CDATA #REQUIRED>
<!ATTLIST store value CDATA #REQUIRED>
<!ATTLIST store action (set | add) #IMPLIED>
