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