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