You can write an application program to transform XML to
application data. You can also query the XML before transforming it.
Before you begin
You must have an enabled XMLTRANSFORM resource that defines
the XML binding and XML schema.
About this task
The CICS XML assistant generates the mappings in the XML
binding. If you started with a language structure and used DFHLS2SC,
only one transformation from the XML is possible. If you started with
an XML schema, there might be many XML to language structure transformations
so your application must select which language structure to use as
output.
Procedure
- Create a channel and place the XML into a text mode container
on that channel.
If the application puts the XML in a BIT
mode container, CICS tries to determine the encoding of the text data,
but it can take longer to process the container and the encoding might
not be correct.
- Use the TRANSFORM XMLTODATA API command.
If only one transform is possible for the XML, you can use
the following command:
EXEC CICS TRANSFORM XMLTODATA
XMLTRANSFORM('MyXmlTransformName')
CHANNEL('MyChannelName')
XMLCONTAINER('SourceContainerName')
DATCONTAINER('TargetContainerName')
If more than one transformation is possible, use
the following additional options:
EXEC CICS TRANSFORM XMLTODATA
XMLTRANSFORM('MyXmlTransformName')
CHANNEL('MyChannelName')
XMLCONTAINER('SourceContainerName')
DATCONTAINER('TargetContainerName')
ELEMNAME(elementName) ELEMNAMELEN(elementNameLength)
In the second example, CICS returns the name of the element
that was found in the ELEMNAME option. The application can then use
the name of the element to determine which of the library of language
structures to use to interpret the contents of the target container.
- Install the application program.
Results
When the application runs the TRANSFORM XMLTODATA command,
CICS uses the details in the XMLTRANSFORM resource to transform the
XML to application binary data using the containers on the channel.
What to do next
You can also use the same mappings to transform application
data to XML. For details, see Transforming application data to XML.