cniElementNamespace

Obtém o valor do atributo namespace para o elemento de sintaxe especificado. O nome do elemento da sintaxe foi configurado previamente utilizando cniSetElementNamespace ou cpiSetElementNamespace.

Isso é utilizado ao converter uma mensagem que pertence a um domínio com conhecimento de espaço de nome para um fluxo de bits.

Sintaxe

CciSize cniElementNamespace(
int*                   returnCode,
CciElement*            targetElement,
  const CciChar*             value,
CciSize length)

Parâmetros

returnCode
O código de retorno da função (saída). Especificar um ponteiro NULL significa que o nó não deseja lidar com erros. Se a entrada não for NULL, a saída significa o status de êxito da chamada. Quaisquer exceções lançadas durante a execução desta chamada serão lançadas novamente para o próximo nó acima no fluxo. Chame cciGetLastExceptionData para obter detalhes da exceção.Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
Especifica o endereço do objeto do elemento de sintaxe de destino (entrada).
value
Especifica o endereço de um buffer para o qual o valor de espaço de nomes do elemento é copiado (saída). Uma cadeia de caracteres (incluindo um terminador NULL) representando o valor de espaço de nomes é copiada para esse buffer. O buffer deve ser uma parte da memória alocada anteriormente pelo responsável pela chamada.
length
O comprimento, em caracteres, do buffer especificado pelo parâmetro value (entrada).

Valores de Retorno

  • Se bem-sucedida, o número de CciChars copiados para o buffer é retornado.
  • Se o buffer não for grande o suficiente para conter o valor de atributo, returnCode será configurado como CCI_BUFFER_TOO_SMALL e o número de CciChars requeridos será retornado.
  • Se uma exceção ocorrer durante a execução, returnCode é definido como CCI_EXCEPTION.

Exemplo

if (element != 0) {
    /*obter nome*/
    cniElementName(&rc, element, (CciChar*)&elementName,
sizeof(elementName));
    /*obter espaço de nomes*/
      elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
      elementNamespaceLength = cniElementNamespace(&rc,
                                                   element,
                                                   elementNamespace,
                                                   elementNamespaceLength);
    if (rc==CCI_BUFFER_TOO_SMALL){
      free(elementNamespace);
      elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
      elementNamespaceLength = cniElementNamespace(&rc,
                                                   element,
                                                   elementNamespace,
                                                   elementNamespaceLength);
}
    checkRC(rc);
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
as07742_