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 nomes 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.
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 namespace do elemento é copiado (saída). Uma cadeia de caracteres (incluindo um terminador NULL) representando o valor de namespace é 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 era grande o suficiente para conter o valor de namespace, o número de bytes necessário é retornado, e returnCode é definido como CCI_BUFFER_TOO_SMALL.
  • 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);

Conceitos relacionados
Nós de Processamento de Mensagem Definidos pelo Usuário
Nós de Saída Definidos pelo Usuário

Tarefas relacionadas
Criando um Nó de Processamento de Mensagem em C

Referências relacionadas
cciGetLastExceptionData
cniElementName
Grupo cniSearchElementInNamespace
cniSetElementNamespace
cpiSetElementNamespace