wxsUserExitConfig.xsd file

Use the user exit XSD file example to configure Change Data Capture (CDC) in eXtreme Scale.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://ibm.com/ws/objectgrid/wxsue" xmlns:ce="http://ibm.com/ws/objectgrid/wxsue"
	xmlns:dge="http://ibm.com/ws/objectgrid/wxsue" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" elementFormDefault="qualified" jaxb:version="2.1">

    <xsd:element name="wxsUserExitConfig">
    	<xsd:complexType>
    		<xsd:sequence>
    		    <xsd:element maxOccurs="1" minOccurs="1" name="domains" type="dge:wxsClusters" >
    		    	<xsd:unique name="uniqueEndpoints">
                    	<xsd:selector xpath="dge:domain" />
                    	<xsd:field xpath="@catalogEndPoints" />
                	</xsd:unique>    
                	<xsd:unique name="uniqueClusterName">
                    	<xsd:selector xpath="dge:domain" />
                    	<xsd:field xpath="@name" />
                	</xsd:unique>                   
    		    </xsd:element>    		    
                <xsd:element maxOccurs="1" minOccurs="1" name="tableMappings" type="dge:tableMappings">   
                	<xsd:unique name="uniqueMapGridName">
            			<xsd:selector xpath="dge:tableMapping" />
                		<xsd:field xpath="@mapName" />
                		<xsd:field xpath="@objectGridName" />
                		<xsd:field xpath="@domainRef" />
          			</xsd:unique>              	                         
                </xsd:element>               
   			</xsd:sequence>
   	    </xsd:complexType>
   	</xsd:element>

    <xsd:complexType name="wxsClusters">
       <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="domain" type="dge:wxsCluster" />
        </xsd:sequence>
    </xsd:complexType>
    
   	<xsd:complexType name="tableMappings">
	   <xsd:sequence>
		  <xsd:element maxOccurs="unbounded" minOccurs="1" name="tableMapping" type="dge:tableMapping" />
        </xsd:sequence>
    </xsd:complexType>
   	
   	<xsd:complexType name="wxsCluster">
   		<xsd:sequence>
   			<xsd:element maxOccurs="1" minOccurs="0" name="clientProperties" type="dge:clientProps" >
   				<xsd:unique name="uniqueObjectGridName">
            		<xsd:selector xpath="dge:objectGrid" />
                	<xsd:field xpath="@name" />
          		</xsd:unique>                                               	   			
   			</xsd:element>   			                    	                                                             
        </xsd:sequence>
   		<xsd:attribute name="name" type="xsd:string" use="required" />
        <xsd:attribute name="catalogEndPoints" type="xsd:string" use="required" />
        <xsd:attribute name="securityProps" type="xsd:string" />
        <xsd:attribute name="overrideXML" type="xsd:string" />
        <xsd:attribute name="writeBehindConfig" type="xsd:string" />  
    </xsd:complexType>
    
    <xsd:complexType name="clientProps">
    	<xsd:sequence>
    		<xsd:element maxOccurs="unbounded" minOccurs="1" name="objectGrid" type="dge:objectGridProps" >
     		</xsd:element>    		
    	</xsd:sequence>
     </xsd:complexType>
        
    <xsd:complexType name="objectGridProps">
    	<xsd:attribute name="name"  type="xsd:string" use="required" />
    	<xsd:attribute name="clientPropertyFile"  type="xsd:string" use="required" />
    </xsd:complexType>
    
    <xsd:complexType name="tableMapping">
    	<xsd:sequence>
        	<xsd:element maxOccurs="1" minOccurs="1" name="keyMetaData" type="dge:mappingInfo" >
        		<xsd:unique name="uniqueKeyColumnName">
            		<xsd:selector xpath="dge:column" />
                	<xsd:field xpath="@name" /> 
         		</xsd:unique> 	 
         		<xsd:unique name="uniqueKeyPropertyName">
            		<xsd:selector xpath="dge:column" />
                	<xsd:field xpath="@propertyName" /> 
         		</xsd:unique> 	         			           
           </xsd:element>
           <xsd:element maxOccurs="1" minOccurs="0" name="valueMetaData" type="dge:mappingInfo" >
           		<xsd:unique name="uniqueValueColumnName">
            		<xsd:selector xpath="dge:column" />
                	<xsd:field xpath="@name" /> 
          		</xsd:unique> 
          		<xsd:unique name="uniqueValuePropertyName">
            		<xsd:selector xpath="dge:column" />
                	<xsd:field xpath="@propertyName" /> 
         		</xsd:unique> 		         			                                 	
           </xsd:element>                                         
        </xsd:sequence>     
        <xsd:attribute name="mapName"	      		type="xsd:string" use="required" />
        <xsd:attribute name="objectGridName"  		type="xsd:string" use="required" />
        <xsd:attribute name="domainRef"        		type="xsd:string" use="required" />
        <xsd:attribute name="convertToUpsert"  		type="xsd:boolean" />
        <xsd:attribute name="mode"					type="dge:mode" />
        <xsd:attribute name="maxRetryAttempts" 		type="xsd:integer" />
        <xsd:attribute name="transactionTimeout" 	type="xsd:integer" />
        <xsd:attribute name="transactionIsolation" 	type="xsd:string" />
    </xsd:complexType>
    
    <xsd:complexType name="mappingInfo">
    	<xsd:sequence>
        	<xsd:element maxOccurs="unbounded" minOccurs="0" name="column" type="dge:columnMapping" /> 
        </xsd:sequence>
        <xsd:attribute name="className" type="xsd:string"  />
        <xsd:attribute name="methodAccess" type="xsd:boolean"  /> 
   </xsd:complexType>
    
    <xsd:complexType name="columnMapping">
        <xsd:attribute name="name" type="xsd:string" use="required" />
        <xsd:attribute name="propertyName" type="xsd:string"  />                      
    </xsd:complexType>
        
    <xsd:simpleType name="mode">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="PUSH" />
			<xsd:enumeration value="REFRESH" />
			<xsd:enumeration value="INVALIDATE" />
		</xsd:restriction>
	</xsd:simpleType>
   
</xsd:schema>