Plug-in deployment descriptor XSD

An example of the XML schema document for a plug-in deployment descriptor.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="Plugin">
        <xsd:complexType>
            <xsd:sequence maxOccurs="1" minOccurs="1">
                <xsd:element ref="PluginInformation"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="PluginInformation">
        <xsd:complexType>
         	<xsd:sequence maxOccurs="1" minOccurs="0">
	            <xsd:sequence maxOccurs="unbounded" minOccurs="0">
	                <xsd:element ref="PluginProperty"/>
	            </xsd:sequence>
	             <xsd:sequence maxOccurs="1" minOccurs="0">
	                <xsd:element ref="ProtocolProperties"/>
	            </xsd:sequence>                       
            </xsd:sequence>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="jndi" type="xsd:string" use="required"/>
            <xsd:attribute name="home" type="xsd:string" use="required"/>
            <xsd:attribute name="vendor" type="xsd:string" use="required"/>
            <xsd:attribute name="version" type="xsd:string" use="required"/>
            <xsd:attribute name="independentCredit" type="xsd:boolean" use="required"/>
            <xsd:attribute name="virtualTerminal" type="xsd:string" use="required"/>
            <xsd:attribute name="SynchronizedLocalPaymentReversal" type="xsd:boolean" use="optional"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:element name="PluginProperty">
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="value" type="xsd:string" use="required"/>
        </xsd:complexType>
    </xsd:element>

	<xsd:element name="ProtocolProperty">
        <xsd:complexType>
            <xsd:attribute name="name" type="xsd:string" use="required"/>
            <xsd:attribute name="keep" type="xsd:boolean" use="optional" default="true"/>
        </xsd:complexType>
	</xsd:element>
	
	<xsd:element name="ProtocolProperties">
        <xsd:complexType>
            <xsd:sequence maxOccurs="unbounded" minOccurs="0">
                <xsd:element ref="ProtocolProperty"/>
            </xsd:sequence>	
		</xsd:complexType>            	
	</xsd:element>
</xsd:schema>