The next stage is to populate the COBOL program with data values. Changes to the program are again shown in bold
Identification Division.
Program-Id. Getting-Started.
Data Division.
Working-Storage Section.
01  Customer-Address.
    02  Cust-Name     Pic X(128).
    02  Address-1     Pic X(128).
    02  Address-2     Pic X(128).
    02  Address-3.
        03  City      Pic X(64).
        03  State     Pic X(2).
        03  Zip       Pic 9(5) Value 0 Binary.
Copy "lixmlall.cpy".
Procedure Division.
A.
    XML INITIALIZE.
    If Not XML-OK Go To Z.
    Move "Micro Focus" to Cust-Name.
    Move "8310 Capital of Texas Highway, North"
        to Address-1.
    Move "Building 2, Suite 100" to Address-2.
    Move "Austin" to City.
    Move "TX" to State.
    Move 78731 to Zip.
     XML EXPORT FILE
         Customer-Address
         "Address"
         "getstarted#customer-address".
     If Not XML-OK Go To Z.
Z.
Copy "lixmltrm.cpy".
    GoBack.
Copy "lixmldsp.cpy".
End Program  Getting-Started.
 
	 A series of simple MOVE statements is used to provide content for the data structure.
Again, the program is compiled and run from the command line as follows:
cobol getstarted.cbl xmlgen(ws) noobj; run getstarted
This time the XML document, in file Address.xml, is fully populated with data values, as shown below:
<?xml version="1.0" encoding="UTF-8"?>
 <customer-address xmlns:xtk="http://www.microfocus.com/xcentrisity/
                             \xml-extensions/symbol-table/">
  <cust-name>Micro Focus</cust-name>
  <address-1>8310 Capital of Texas Highway, North</address-1>
  <address-2>Building 2, Suite 100</address-2>
  <address-3>
   <city>Austin</city>
   <state>TX</state>
   <zip>78731</zip>
  </address-3>
 </customer-address>
 
	 On UNIX, the commands are:
cob -i getstarted.cbl -C 'xmlgen(ws)' cobrun getstarted