cniElementNamespace

Obtém o valor do atributo namespace para o elemento de sintaxe especificado. O nome do elemento de sintaxe terá sido definido anteriormente 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);
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07742_