<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en">

    <xsd:annotation>
	<xsd:documentation>
	    Redefines the main XML Query Language schema in XE to validate SQL DELETE
	    statements.

	    XpressEngine is an open source framework for creating your web sites.
	    http://xpressengine.org/

	    File:   tools/xml_delete.xsd
	    Author: Adrian Constantin, Arnia Software (adrian.constantin@arnia.ro)
	    Date:   09 mar 2012

	</xsd:documentation>
    </xsd:annotation>

    <xsd:redefine schemaLocation="xml_colassign.xsd">

	<xsd:complexType name="SqlStatementType">
	    <xsd:annotation>
		<xsd:documentation>
		    Re-define SqlStatementType for a DELETE statement: include only the 
		    &lt;tables&gt;, &lt;conditions&gt; and &lt;index_hint&gt; elements.

		    &lt;conditions&gt; could be made a required element to prevent truncating
		    an entire table by mistake.
		</xsd:documentation>
	    </xsd:annotation>

	    <xsd:complexContent>
		<xsd:restriction base="SqlStatementType">
		    <xsd:all>
			<xsd:element name="tables" type="DataChangeStatementTablesType" />
			<xsd:element name="conditions" type="ConditionsType" minOccurs="0" />
			<xsd:element name="index_hint" type="IndexHintsType" minOccurs="0" />
		    </xsd:all>

		    <xsd:attribute name="action" type="deleteActionAttributeType" use="required" />
		</xsd:restriction>
	    </xsd:complexContent>
	</xsd:complexType>

    </xsd:redefine>

    <xsd:simpleType name="deleteActionAttributeType">
	<xsd:restriction base="actionAttributeType">
	    <xsd:pattern value="[Dd][Ee][Ll][Ee][Tt][Ee]" />
	</xsd:restriction>
    </xsd:simpleType>

    <xsd:element name="query" type="SqlStatementType" />
</xsd:schema>
