5.2.3.1.3 診断

この関数は、成功した場合に入力パラメータCustomerBuffer * aのポインタ値を返す必要があります。

失敗した場合、次の例に示すように、この関数はNULLを返します:

例5-5 Oracle Tuxedoカスタム型付きバッファへのXMLペイロード変換の疑似コード

CustomerBuffer * myxml2buffer (void * xercesDOM, CustomerBuffer *a, CustType_Ext * extinfo)
{
       // casting the input void * xercesDOM to class DOMDocument object
       DOMDocument * DOMTree =

       // allocate custom typed buffer via tpalloc
       a->buf = tpalloc("MYTYPE", "MYSUBTYPE", 1024);
       a->len = 1024;

       // fetch data from DOMTree and set it into custom typed buffer
       DOMTree ==> a->buf;
       if ( error ) {
              release ( DOMTree );
              tpfree(a->buf);
              a->buf = NULL;
              a->len = 0;
              return NULL;
       }

       release ( DOMTree );

       return a;
}

ヒント:

Oracle Tuxedo 22cには、Xerces 3.2.3がバンドルされています。