<!ELEMENT xmlsql (query | update | retract)*>
<!ATTLIST xmlsql file CDATA #IMPLIED>
<!ATTLIST xmlsql format CDATA #IMPLIED>
<!ATTLIST xmlsql url CDATA #IMPLIED>
<!ATTLIST xmlsql driver CDATA #IMPLIED>
<!ATTLIST xmlsql user CDATA #IMPLIED>
<!ATTLIST xmlsql password CDATA #IMPLIED>

<!ELEMENT query (sql, resultset?)>
<!ATTLIST query label CDATA #IMPLIED>
<!ATTLIST query rowcount CDATA #IMPLIED>
<!ATTLIST query file CDATA #IMPLIED>
<!ATTLIST query format CDATA #IMPLIED>
<!ATTLIST query depends_on CDATA #IMPLIED>
<!ATTLIST query precluded_by CDATA #IMPLIED>

<!ELEMENT update (#PCDATA)>
<!ATTLIST update label CDATA #IMPLIED>
<!ATTLIST update rowcount CDATA #IMPLIED>
<!ATTLIST update depends CDATA #IMPLIED>
<!ATTLIST update depends_on CDATA #IMPLIED>
<!ATTLIST update precluded_by CDATA #IMPLIED>

<!ELEMENT retract EMPTY>
<!ATTLIST retract construct CDATA #REQUIRED>
<!ATTLIST retract name CDATA #REQUIRED>

<!ELEMENT resultset (#PCDATA)>
<!ATTLIST resultset count CDATA #IMPLIED>

<!ELEMENT sql (#PCDATA)>
