<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 XpressEngine to
	    validate SQL INSERT INTO.. VALUES... and INSERT INTO.. SELECT..
	    statements.

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

	    Author: Adrian Constantin, Arnia Software (adrian.constantin@arnia.ro)
	    Date:   09 mar 2012
	</xsd:documentation>
    </xsd:annotation>

    <xsd:include schemaLocation="xml_colassign.xsd" />

    <xsd:simpleType name="insertGenericAttributeType">
	<xsd:restriction base="xsd:string">
	    <xsd:pattern value="[Ii][Nn][Ss][Ee][Rr][Tt]" />
	    <xsd:pattern value="[Ii][Nn][Ss][Ee][Rr][Tt]-[Ss][Ee][Ll][Ee][Cc][Tt]" />
	</xsd:restriction>
    </xsd:simpleType>

    <xsd:complexType name="SqlInsertStatementType">
	<xsd:all>
	    <xsd:element name="columns" type="ColumnsAssignamentType">
		<xsd:key name="distinct_insert_column_names_list">
		    <xsd:selector xpath="column" />
		    <xsd:field xpath="@name" />
		</xsd:key>
	    </xsd:element>
	    <xsd:element name="tables" type="DataChangeStatementTablesType" />
	    <xsd:element name="query" type="ExpressionSubqueryContents" minOccurs="0" />
	</xsd:all>

	<xsd:attribute name="id" type="xsd:string" use="required" />
	<xsd:attribute name="action" type="insertGenericAttributeType" use="required" />
	<xsd:attribute name="priority" type="priorityAttributeType" />
    </xsd:complexType>

    <xsd:element name="query" type="SqlInsertStatementType" />

</xsd:schema>
