This statement has the following parameters:
Parameter
|
Description
|
DataItem
|
The name of the COBOL data item that contains data to be exported.
|
DocumentPointer
|
The name of a COBOL pointer data item that will point to the generated XML document as a text string after successful completion of the statement.
|
DocumentLength
|
The name of a COBOL numeric data item that will contain the length of the generated XML document pointed to by
DocumentPointer after successful completion of the statement.
|
ModelFileName#DataFileName
|
This parameter may be either of the following:
- The name of the data structure. If the # (hash) character is missing, it is assumed that the hash character was intended to be placed at the beginning of the parameter (as the specified name is a data item name). Previously, it was assumed that the # character was placed at the end of the parameter (as the specified name was a filename).
Everything to the left of the "#" character is the filename. Everything to the right is the data structure name. Either component is optional; that is, model names of "file#", "file", "#data", "#" and "" are allowed. If the filename is omitted and a default has not been provided from the
XML COBOL FILE-NAME statement (on page 41), then the current program is assumed. If the data name is not found, then calling programs are used (in order of the call stack).
If the data name is omitted, then the entire program is used.
If a hash "#" character is missing from the
ModelFileName parameter, one will be assumed to be present at the beginning (the
ModelFileName is assumed to be a data name).
Furthermore, a hierarchical specification of data names may be used; that is, "file#a//b//c" is valid. It has the same meaning as the COBOL specification of "C of B of A". Either data names or program names may be specified in the data name hierarchy; that is, A and B could be the names of programs, assuming B is a program contained in A.
- The name of the set of XML files produced by the XMLGEN compiler directive that describe the COBOL data item. For more information, see
Model Files.
|
[StyleSheetName]
|
Optional. The name of an external XSLT stylesheet that will be used to transform the generated XML document before it is stored.
|
Description
The
XML EXPORT TEXT statement exports the content of the COBOL data item indicated by the
DataItem parameter. The content of the data item is converted to an XML document using one or more files indicated by the
ModelFileName#DataFileName parameter, and then it is output as a text string. The address and size of the text string is placed in the COBOL data items specified by the
DocumentPointer and
DocumentLength parameters. If the optional
StyleSheetName parameter is present, the external XSLT stylesheet is used to transform the document after it has been generated but before it is stored as a text string.
A block of memory is allocated to hold the generated XML document. The descriptor of this memory block overrides any existing address descriptor in the COBOL pointer data item. The COBOL application is responsible for releasing this memory when it is no longer needed by using
XML FREE TEXT.
A status value is returned in the XML-data-group data item, which is defined in the copybook,
lixmldef.cpy.
Examples
Without an External XSLT Stylesheet:
XML EXPORT TEXT
MY-DATA-ITEM
MY-DOCUMENT-POINTER
MY-DOCUMENT-LENGTH
"MY-MODEL-FILE".
IF NOT XML-OK GO TO Z.
With an External XSLT Stylesheet:
XML EXPORT TEXT
MY-DATA-ITEM
MY-DOCUMENT-POINTER
MY-DOCUMENT-LENGTH
"MY-MODEL-FILE"
"MY-STYLE-SHEET"
IF NOT XML-OK GO TO Z.
With an External XSLT Stylesheet and Parameters:
XML SET XSL-PARAMETERS
"MY-COUNT", 7.
IF NOT XML-OK GO TO Z.
XML EXPORT TEXT
MY-DATA-ITEM
"MY-DOCUMENT.XML"
"MY-MODEL-FILE"
"MY-STYLE-SHEET"
IF NOT XML-OK GO TO Z.