<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT resources (author,description?,surface+,name,water,nb_mine,nb_barrel?,alpha_threshold?,is_open,infinite_background?,(sprite,wind)?,music_playlist?) >
<!ELEMENT section (author+)>
<!ATTLIST section title CDATA #REQUIRED>

<!ELEMENT author (name,nickname?,email,country)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT nickname (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT country (#PCDATA)>

<!ELEMENT description (#PCDATA)>

<!ELEMENT surface EMPTY>
<!ATTLIST surface name CDATA #REQUIRED file CDATA #REQUIRED>

<!ELEMENT water (#PCDATA)>
<!ELEMENT nb_mine (#PCDATA)>
<!ELEMENT nb_barrel (#PCDATA)>
<!ELEMENT is_open (#PCDATA)>
<!ELEMENT infinite_background (#PCDATA)>

<!ELEMENT alpha_threshold (#PCDATA)>
<!ELEMENT sprite (image, animation?)>
<!ATTLIST sprite name CDATA #REQUIRED>
<!ELEMENT image (grid?)>
<!ATTLIST image file CDATA #REQUIRED>
<!ELEMENT grid EMPTY>
<!ATTLIST grid pos CDATA #REQUIRED size CDATA #REQUIRED array CDATA #REQUIRED>
<!ELEMENT animation EMPTY>
<!ATTLIST animation speed CDATA #IMPLIED loop_mode CDATA #IMPLIED >

<!ELEMENT wind (nbr_sprite, need_flip?, rotation_speed?, mass, wind_factor, air_resist_factor, gravity_factor, rebounding, rebound_factor)>
<!ELEMENT nbr_sprite (#PCDATA)>
<!ELEMENT need_flip (#PCDATA)>
<!ELEMENT rotation_speed (#PCDATA)>
<!ELEMENT mass (#PCDATA)>
<!ELEMENT wind_factor (#PCDATA)>
<!ELEMENT air_resist_factor (#PCDATA)>
<!ELEMENT gravity_factor (#PCDATA)>
<!ELEMENT rebounding (#PCDATA)>
<!ELEMENT rebound_factor (#PCDATA)>

<!ELEMENT music_playlist (#PCDATA)>
