Application data in XML format

The following example shows the application data portion of a passthrough request message in XML.

Note: The CICS® Service Flow Runtime supports passthrough processing for Link3270 server adapters only.
For Link3270 server adapters, the application data portion of the request message must be the Application Data Structure (ADS) of the target application. If the developer of the service application wants to use XML for the passthrough request message, he or she must adhere to specific guidelines that map the ADS to an XML schema. The following sample shows the XML passthrough schema of the request and response elements that follow the CICS Service Flow Runtime passthrough header.
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.DFHMAXMI.com/schemas/DFHMAXMIInterface"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:scr="http://www.DFHMAXMI.com/schemas/DFHMAXMIInterface">
	<annotation>
    	<documentation>
            ***************************************************************************   	
        	The format of each request/response begins with a main session header 
        	(DFHMAH). 
         For a detailed description of the DFHMAH header, 
         see DFHMAH header structure
        	
         For a passthrough request/response a passthrough header (DFHMAH2)
        	immediately follows the header (DFHMAH). 
         
         For a detailed description of the DFHMAH2 header, 
         see DFHMAH2 header structure
        	
        This XML passthrough schema defines request/response elements that
        	follow the passthrough header (DFHMAH2).
        </documentation>	
        <documentation>
        	Each XML passthrough requst/response contains a screen header
         (CIA-SCREEN-HEADER) that immediately follows DFHMAH2. 
         
         For a detailed description of CIA-SCREEN-HEADER, 
         see CIA-SCREEN-HEADER header structure
         
         The screen header (CIA-SCREEN-HEADER) contains the attentionID and the count of
         the number of maps, input fields, and text fields contained in the screen.
         Input fields and text fields do not correspond to the fields contained
         within a map.  
        </documentation>	
        <documentation>	
        	Request elements (screen, map, input):
        </documentation>	
        <documentation>	  
        	An unformatted or unmapped request is used to begin a new session.
        	In this case, the "screen" element may contain a single "input" element.
        	The value of the "input" element is the input text, beginning with the 4 
        	character transaction ID. Irregardless of whether an input element is 
        	present the target 3270 application will be run using the value contained 
        	in the passthrough request header "dfhmah2_transid" element. 
        </documentation>	
        <documentation>	
        	A mapped request is used to continue an existing session.
        	In this case the "screen" element will contain a single "map" element.
        </documentation>	
        <documentation>	
        	A "text" element is not valid for either a mapped or unmapped input 
        	request.
        </documentation>	
        <documentation>	
        	Response elements (screen, map, htext, text, ttext):
        </documentation>	
        <documentation>	 
        	For a response the "screen" element may contain both "text" or "map" 
        	elements in any combination.
        	A "map" element contains 1 or more "field" elements that correspond to 
        	named fields in a BMS map.
        </documentation>	
        <documentation>	
        	The value of a "text" element contains text from a SEND TEXT command or 
        	from a SEND command that contains a single line of text.   
        </documentation>
        <documentation>	
        	The value of a "htext" element contains header text from a SEND TEXT command.  
        </documentation>
        <documentation>	
        	The value of a "ttext" element contains trailer text from a SEND TEXT command.  
        </documentation>	
        <documentation>	
        	An "input" element is not valid in a response.
        	***************************************************************************   
        </documentation>
    </annotation>
    <element name="screen">
        <complexType>
        	<sequence>
                <element maxOccurs="unbounded" minOccurs="0" ref="scr:map"/>
                <choice>
                    <element maxOccurs="unbounded" minOccurs="0" ref="scr:text"/>
                    <element maxOccurs="unbounded" minOccurs="0" ref="scr:htext"/>
                    <element maxOccurs="unbounded" minOccurs="0" ref="scr:ttext"/>
                    <element maxOccurs="1" minOccurs="0" ref="scr:input"/>
                </choice>
            </sequence>
            <attribute name="attentionid" use="required">
            	<annotation>
            		<documentation>
            			attentionid= key pressed to submit the input screen
            		</documentation>
            	</annotation>
            	<simpleType>
            		<restriction base="string">
                    	<enumeration value="enter"/>
                        <enumeration value="clear"/>
                        <enumeration value="pf1"/>
                        <enumeration value="pf2"/>
                        <enumeration value="pf3"/>
                        <enumeration value="pf4"/>
                        <enumeration value="pf5"/>
                        <enumeration value="pf6"/>
                        <enumeration value="pf7"/>
                        <enumeration value="pf8"/>
                        <enumeration value="pf9"/>
                        <enumeration value="pf10"/>
                        <enumeration value="pf11"/>
                        <enumeration value="pf12"/>
                        <enumeration value="pf13"/>
                        <enumeration value="pf14"/>
                        <enumeration value="pf15"/>
                        <enumeration value="pf16"/>
                        <enumeration value="pf17"/>
                        <enumeration value="pf18"/>
                        <enumeration value="pf19"/>
                        <enumeration value="pf20"/>
                        <enumeration value="pf21"/>
                        <enumeration value="pf22"/>
                        <enumeration value="pf23"/>
                        <enumeration value="pf24"/>
                        <enumeration value="pa1"/>
                        <enumeration value="pa2"/>
                        <enumeration value="pa3"/>
                        <enumeration value="pen"/>
                        <enumeration value="msre"/>
                        <enumeration value="opid"/>
                        <enumeration value="trig"/>
                        <maxLength value="5"/>
                	</restriction>
                </simpleType>
            </attribute>	
            <attribute name="maps" use="required">
            	<annotation>
            		<documentation>
            			maps= number of maps, including input and text fields
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="integer">
                       <minInclusive value="0"/>
                       <totalDigits value="4"/>
                   </restriction>
               	</simpleType>
            </attribute>
        </complexType>
    </element>
    <element name="map">
        <complexType>
            <sequence>
                <element maxOccurs="unbounded" minOccurs="1" ref="scr:field"/>
            </sequence>
            <attribute name="name" use="required">
            	<annotation>
            		<documentation>
            			name= BMS map name
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="string">
                       <maxLength value="7"/>
                   </restriction>
               	</simpleType>
            </attribute>
            <attribute name="mapset" use="required">
            	<annotation>
            		<documentation>
            			mapset= BMS mapset name
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="string">
                       <maxLength value="7"/>
                   </restriction>
               	</simpleType>
            </attribute>   	
            <attribute name="rows" use="optional">
            	<annotation>
            		<documentation>
            			rows= number of map rows
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="integer">
                       <minInclusive value="12"/>
                       <maxInclusive value="43"/>
                       <totalDigits value="2"/>
                   </restriction>
               	</simpleType>
            </attribute> 
            <attribute name="columns" use="optional">
            	<annotation>
            		<documentation>
            			columns= number of BMS map columns
            		</documentation>
            	</annotation>
 				<simpleType>
                   <restriction base="integer">
                       <minInclusive value="40"/>
                       <maxInclusive value="132"/>
                       <totalDigits value="3"/>
                   </restriction>
               	</simpleType>
            </attribute>           	
            <attribute name="fields" use="optional">
            	<annotation>
            		<documentation>
            			fields= number of map fields
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="integer">
                       <minInclusive value="1"/>
                       <totalDigits value="3"/>
                   </restriction>
               	</simpleType>
            </attribute>
            <attribute name="focus" use="optional">
            	<annotation>
            		<documentation>
            			focus= map field name where the cursor 
            			is initially positioned
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="string">
                       <maxLength value="32"/>
                   </restriction>
               	</simpleType>
            </attribute>
            <attribute name="length" use="optional">
            	<annotation>
            		<documentation>
            			length= length of map ADS or text 
            		</documentation>
            	</annotation>
            	<simpleType>
                   <restriction base="integer">
                       <minInclusive value="0"/>
                       <totalDigits value="4"/>
                   </restriction>
               	</simpleType>
            </attribute>
        </complexType>
    </element>
    <element name="field">
        <complexType> 
        	<annotation>
            		<documentation>
            			field= BMS map field
            		</documentation>
            	</annotation>      	
            <simpleContent>
                <extension base="string">
                    <attribute name="name" use="required">
                    	<simpleType>
            				<annotation>
            					<documentation>
            						name= BMS field name
            					</documentation>
            				</annotation>           			
                   			<restriction base="string">
                       			<maxLength value="30"/>
                   			</restriction>
               			</simpleType>
            		</attribute>          
                    <attribute name="ml" use="required">
                    	<simpleType>
                    		<annotation>
            					<documentation>
            						ml= maximum length
            					</documentation>
            				</annotation>
                   			<restriction base="integer">
                       			<minInclusive value="1"/>
                       			<maxInclusive value="255"/>
                       			<totalDigits value="3"/>
                   			</restriction>
               			</simpleType>
 					</attribute>              	
                    <attribute name="pa" use="required">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						pa= protect attribute:
            						p= protect,
            						u= unprotect
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="p"/>
                                <enumeration value="u"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="ia" use="required">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						ia= intensity attribute:
            						n= normal intensity,
            						b= bright intensity,
            						d= dark or non-display intensity
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="n"/>
                                <enumeration value="b"/>
                                <enumeration value="d"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="fa" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						fa= FSET attribute:
            						y= FSET on or modified data tag turned on
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="y"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="da" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						da= selector pen detectable attribute:
            						y= detectable turned on
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="y"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="ca" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						ca= color attribute:
            						b= blue,
            						r= red,
            						g= green,
            						t= turqoise,
            						y= yellow,
            						p= pink,
            						n= neutral
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="b"/>
                                <enumeration value="r"/>
                                <enumeration value="g"/>
                                <enumeration value="t"/>
                                <enumeration value="y"/>
                                <enumeration value="p"/>
                                <enumeration value="n"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="ha" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						ha= highlight attribute:
            						b= blink,
            						u= underline,
            						r= reverse video
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="b"/>
                                <enumeration value="u"/>
                                <enumeration value="r"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="va" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						va= Validation attribute:
            						f= must fill,
            						e= must enter,
            						t= trigger
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="f"/>
                                <enumeration value="e"/>
                                <enumeration value="t"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="ps" use="optional">
                    	<simpleType>		
                    		<annotation>
            					<documentation>
            						ps= programmed symbols
            					</documentation>
            				</annotation>
            				<restriction base="string">
                                <maxLength value="1"/>
                            </restriction>
            			</simpleType>
            		</attribute>		
                    <attribute name="so" use="optional">
                        <simpleType>
                        	<annotation>
            					<documentation>
            						so= shift in / shift out:
            						y= yes,
            						n= no
            					</documentation>
            				</annotation>
                            <restriction base="string">
                                <enumeration value="y"/>
                                <enumeration value="n"/>
                                <maxLength value="1"/>
                            </restriction>
                        </simpleType>
                    </attribute>
                    <attribute name="oi" use="optional">
                    	<simpleType>
                    		<annotation>
            					<documentation>
            						oi= occurs index
            					</documentation>
            				</annotation>
                   			<restriction base="integer">
                      			<minInclusive value="1"/>
                      			<totalDigits value="3"/>
                  			</restriction>
               			</simpleType>
           			 </attribute>
                </extension>
            </simpleContent>
        </complexType>
    </element>
    <element name="text">
    	<simpleType>
    		<annotation>
            	<documentation>
            		text= text from SEND TEXT or SEND command
            	</documentation>
            </annotation>
            <restriction base="string">                      			
                <maxLength value="4096"/>
            </restriction>
        </simpleType>
    </element>
    <element name="htext">
    	<simpleType>
    		<annotation>
            	<documentation>
            		htext= header text from SEND TEXT command
            	</documentation>
            </annotation>
            <restriction base="string">                      			
                <maxLength value="4096"/>
            </restriction>
        </simpleType>
    </element>
    <element name="ttext">
    	<simpleType>
    		<annotation>
            	<documentation>
            		ttext= trailer text from SEND TEXT command
            	</documentation>
            </annotation>
            <restriction base="string">                      			
                <maxLength value="4096"/>
            </restriction>
        </simpleType>
    </element>
    <element name="input">
    	<simpleType>
    		<annotation>
            	<documentation>
            		input= text entered on unformatted or unmapped screen
            	</documentation>
            </annotation>
            <restriction base="string">                      			
                <maxLength value="132"/>
            </restriction>
        </simpleType>
    </element>
</schema>