cniCreateElementAsLastChildFromBitstream

Crea una nuova struttura dell'elemento di sintassi come ultimo child dell'elemento di sintassi specificato e lo associa al programma di analisi indicato. La nuova struttura dell'elemento di sintassi viene popolata analizzando il flusso di bit specificato. Durante l'esecuzione di questa funzione, il flusso di bit viene copiato, cosicché chi esegue la chiamata può liberare o riutilizzare la memoria assegnata per contenere il flusso di bit di origine. E' possibile utilizzare questa funzione solo per creare il contenuto di un messaggio, ovvero, l'ultimo child del root del messaggio. Un messaggio di output deve esistere già. L'elemento root di questo messaggio di output deve essere trasferito come parametro dell'elemento di destinazione. Poiché questa chiamata è progettata per essere utilizzata solo per creare il contenuto di un messaggio, non è possibile utilizzarla per creare elementi successivi. Ad esempio, non deve essere utilizzata per creare RFH2 come ultimo child di root e quindi un messaggio XML come ultimo child di root, dopo RFH2.

Sintassi

CciElement* cniCreateElementAsLastChildFromBitstream (
  int*      returnCode,
  CciElement*     targetElement,
  const struct CciByteArray* value,
  const CciChar*             parserClassName,
  CciChar*                   messageType,
  CciChar*                   messageSet,
  CciChar*                   messageFormat,
  int                        encoding,
  int                        ccsid,
  int          options);

Parametri

returnCode
Il codice di ritorno dalla funzione (output). Se si specifica un puntatore NULL significa che il nodo non intende gestire gli errori. Se l'input è diverso da NULL, l'output indica lo stato positivo della chiamata. Eventuali eccezioni generate durante l'esecuzione di questa chiamata, vengono generate nuovamente nel nodo successivo a monte del flusso. Per informazioni dettagliate relative all'eccezione, richiamare cciGetLastExceptionData.
I codici di ritorno possibili sono:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_INV_DATA_POINTER
targetElement
L'elemento di sintassi sotto il quale viene creata la nuova struttura ad albero dell'elemento di sintassi (input). Questo deve essere il root del messaggio.
parserClassName
Il nome della classe del programma di analisi da utilizzare per analizzare il flusso di bit (input). È necessario utilizzare lo stesso programma di analisi utilizzato per analizzare l'intero flusso di bit.
value
Un puntatore su uno struct CciByteArray contenente un puntatore sul flusso di bit da analizzare e anche la dimensione in CciBytes di tale flusso di bit (output).
messageType
La definizione del tipo di messaggio utilizzata per creare la struttura ad albero dell'elemento dal flusso di bit (input). Un puntatore NULL indica che questo parametro viene ignorato. Inoltre, se il programma di analisi specificato non è interessato a questo valore, ad esempio, se è un programma di analisi XML generico, il parametro viene ignorato.
messageSet
La definizione della serie di messaggi utilizzata per creare la struttura ad albero dell'elemento dal flusso di bit (input). Un puntatore NULL indica che questo parametro viene ignorato. Inoltre, se il programma di analisi specificato non è interessato a questo valore, ad esempio, se è un programma di analisi XML generico, il parametro viene ignorato.
messageFormat
Il formato utilizzato per creare la struttura ad albero dell'elemento dal flusso di bit (input). Un puntatore NULL indica che questo parametro viene ignorato. Inoltre, se il programma di analisi specificato non è interessato a questo valore, ad esempio, se è un programma di analisi XML generico, il parametro viene ignorato.
encoding
La codifica da utilizzare quando viene eseguita l'analisi del flusso di bit (input). Questo parametro è obbligatorio. E' possibile specificare un valore 0 per indicare che deve essere utilizzata la codifica del gestore code.
ccsid
Il CCSID (Coded Character Set Identifier) da utilizzare quando viene analizzato il flusso di bit (input). Questo parametro è obbligatorio. E' possibile specificare un valore 0 per indicare che deve essere utilizzato il ccsid del gestore code.
options
Inizio modificaÈ riservato ad un utilizzo futuro. È necessario specificare un valore pari a 0 per mantenere una compatibilità successiva.Fine modifica

Valori di restituzione

Se ha esito positivo, viene restituito l'indirizzo del nuovo oggetto elemento. Altrimenti, viene restituito un valore zero (CCI_NULL_ADDR) e il parametro codice di ritorno indica il motivo dell'errore. Se durante l'esecuzione si verifica un'eccezione, returnCode è impostato su CCI_EXCEPTION

Esempio

  outMQMD = cniCreateElementAsFirstChildUsingParser(&rc,
                                                outRootElement,
                                                CciString("MQHMD",BIP_DEF_COMP_CCSID));
  checkRC(rc);

  cniCopyElementTree(&rc, inMQMD, outMQMD);
  checkRC(rc);
  
  outBlobRoot = cniCreateElementAsLastChildFromBitstream(
                                                   &rc,
                                                   outRootElement,
                                                   &bitstream,
                                                   inParserClassName,
                                                   messageType,
                                                   messageSet,
                                                   messageFormat,
                                                   encoding,
                                                   ccsid,
                                                   0);
    

  
  checkRC(rc);
  ...

  return;
}
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as07865_