<!-- Root element -->
<!ELEMENT cambalache-project (ui*,
css*,
gresources*)>
<!-- Required project attrs -->
<!ATTLIST cambalache-project
version CDATA #REQUIRED
target_tk CDATA #REQUIRED
>
<!-- Optional child tags -->
<!-- UI -->
<!ELEMENT ui (requires*, css-provider*, property*, signal*, content?)>
<!ATTLIST ui
template-class CDATA #IMPLIED
filename CDATA #IMPLIED
sha256 CDATA #IMPLIED
>
<!ELEMENT requires (#PCDATA)>
<!ELEMENT css-provider (#PCDATA)>
<!ELEMENT content (#PCDATA)>
<!ELEMENT property EMPTY>
<!ELEMENT signal EMPTY>
<!ATTLIST property
id CDATA #REQUIRED
type-id CDATA #IMPLIED
disable-inline-object CDATA #IMPLIED
required CDATA #IMPLIED
disabled CDATA #IMPLIED
>
<!ATTLIST signal
id CDATA #REQUIRED
>
<!-- CSS -->
<!ELEMENT css EMPTY>
<!ATTLIST css
filename CDATA #IMPLIED
priority CDATA #IMPLIED
is_global CDATA #IMPLIED
>
<!-- GRESOURCES -->
<!ELEMENT gresources (content)?>
<!ATTLIST gresources
filename CDATA #IMPLIED
sha256 CDATA #IMPLIED
>