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