fglxmlp XML preprocessor

The XML Preprocessor can be used as part of the BDL development process. It fetches data in a XML resource file to "fill" the content of a source file that contains the dollar tag expression.

Usage:
$FGLASDIR/bin/fglxmlp -i src1.4gx -o src1.4gl -r resource.xrf 
Note:
  • src1.4gx is the file to be processed through the XML Preprocessor.
  • src1.4gl is the output file.
  • resource.xrf is the XML resource file containing the definition of a complex 4GL record.

Using the XML Preprocessor

In this example, two source files will be "expanded" through the XML resource file. The resource file contains the definition of a complex 4GL record. The extension of files to be processed through the XML Preprocessor is .4gx. The extension for the resource file is .xrf (XML Resource File).

fglxmlp -i src1.4gx -o src1.4gl -r resource.xrf 
fglxmlp -i src2.4gx -o src2.4gl -r resource.xrf 

The resulting.4gl files are compiled and link as usual:

fglcomp -c src1.4gl 
fglcomp -c src2.4gl 
fgllink -o project.42r src1.42m src2.42m 

Files used in the example

src1.4gx :
01 FUNCTION useRecord (myRecord)
02    DEFINE myRecord $(record)
...
06 END FUNCTION
resource.xrf :
01 <?xml version="1.0" ?>
02
03 <RESOURCE_FILE>
04   <RESOURCE_LIST>
05     <RESOURCE Name="record"><![CDATA[
06       RECORD
07         nb_columns INTEGER,
08         nb_lines INTEGER,
09         name CHAR (8)
10       END RECORD
11     ]]></RESOURCE>
12   </RESOURCE_LIST>
13 </RESOURCE_FILE>
The output file src1.4gl :
01 FUNCTION useRecord (myRecord)
02   DEFINE myRecord
03       RECORD
04         nb_columns INTEGER
05         nb_lines INTEGER,
06         name CHAR (8)
07       END RECORD
...
15 END FUNCTION