# RXS_StartComposeEngine() This subprocedure initializes the compose engine with a specific template file. This is utilized primarily to build XML but could be used to build any type of character data. ## Subprocedure Prototype ### IBM i 6.1+ | Field | Description | |---|---| | ` D RXS_StartComposeEngine... D PR Extproc('RXS_StartComposeEngine') D Opdesc` | | | ` D ComposeDS Likeds(RXS_ComposeDS_t) D Options(*Varsize)` | Pass in an RXS_ComposeDS_t to control how the composition engine functions. | ## Example Code ### IBM i 6.1+ #### Example 1 ```rpgle *-------------------------------------------------------------- * This example code initializes the composition engine for the EXAMPLE template and * configures it with the procedure address for the Template procedure. *-------------------------------------------------------------- H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER) /copy QRPGLECPY,RXSCB /copy QRPGLETPL,EXAMPLE D ComposeDS DS LikeDS(RXS_ComposeDS_t) D Inz(*LikeDS) /free reset ComposeDS; ComposeDS.TemplateProcedure = %Paddr(Template); RXS_StartComposeEngine( ComposeDS ); *INLR = *ON; /end-free P Template B D PI D p Like(RXS_TEMPLATE_PARM) /copy QRPGLETPL,EXAMPLE P E ``` ## Data Structures ### RXS_ComposeDS_t | Field | Description | |---|---| | ` D RXS_ComposeDS_t... D DS Qualified Template Inz` | | | ` D ReturnedErrorInfo... D Like(RXS_ReturnedErrorInfoDS_t) Inz` | | | ` D OnErrorMessageType... D 5I 0` | | | ` D TemplateProcedure... D * Procptr` | Pointer to the address of the subprocedure that will compose the XML or other character based content. | | ` D LogFile Like(RXS_Var1Kv_t)` | IFS location where a log file will be created during composition. |