A classe MbsMessageAssembly representa a montagem da mensagem que é propagada entre nós em um fluxo de mensagens.
Se assembly for uma instância de MbsMessageAssembly, você poderá acessar as quatro árvores do componente usando o seguinte código:
MbsMessage message = $assembly[MB_MESSAGE];
MbsMessage local_env = $assembly[MB_LOCAL_ENVIRONMENT];
MbsMessage global_env = $assembly[MB_GLOBAL_ENVIRONMENT];
MbsMessage ex_list = $assembly[MB_EXCEPTION_LIST];
A classe MbsMessageAssembly fornece os métodos API mostrados na tabela a seguir. Os parâmetros entre colchetes são opcionais:
Método | Descrição |
---|---|
Constructor(MbsMessageAssembly $assembly, MbsMessage $msg [, MbsMessage $local_env [, MbsMessage $exception_list]]) | Instancia um novo objto de montagem de mensagem baseado na montagem de modelo especificada. A mensagem do conjunto é substituída pela mensagem passada no parâmetro msg. As outras árvores lógicas també podem ser substituídas se seus parâmetros associados forem fornecidos. Se o parâmetro associado não for fornecido, a árvore da montagem de modelos é utilizada. |
int getType() | Retorna o tipo específico do elemento raiz da árvore de mensagens. |
array xpath(string $expression [, array $namespace]) | Avalia a expressão XPath com o último filho da raiz (elemento de corpo) como o nó de contexto. Retorna o resultado como uma cadeia, double, booleano ou um nodeset como uma matriz de objetos MbsElement. O parâmetro opcional namespace é uma matriz associativa com prefixo de namespace como as URIs de teclas e namespace e como os valores. |
MbsElement getChild(string $name [, int $occurrence]) | Retorna o primeiro filho do elemento raiz da árvore de mensagens cujo nome é dado pelo primeiro parâmetro. A na ocorrência desse filho pode ser retornada especificando o segundo parâmetro opcional. |
array getChildren([string $namespace]) | Retorna todos os elementos filhos do elemento-raiz da árvore de mensagens como uma matriz de MbsElements. Se o parâmetro namespace for especificado, a matriz conterá somente os elementos filhos com esse URI de namespace. |
MbsElement getFirstChild() | Retorna o primeiro filho do elemento raiz do fluxo de mensagens. |
MbsElement getLastChild() | Retorna o último filho do elemento raiz da árvore de mensagens. |
MbsElement addElement(string $name, object $value [, string $namespace [, int $type [, int $position]]]) | Cria um elemento como último filho (por padrão) do elemento raiz da árvore de mensagens. O parâmetro type opcional
é o tipo específco do analisador do novo nó (é o padrão para o tipo de elemento XML
para analisadores XML). O parâmetro position opcional
pode ser um dos seguintes valores:
|
MbsElement addDomainElement(string $domainName) | Cria um elemento de domínio. |
void detachAllChildren() | Separa todos os elementos filhos do elemento-raiz da árvore de mensagens. |
string asBitstream([array $options]) | Serializa a árvore de elementos para produzir um fluxo
de bits. Ao utilizar o analisador MRM (e outros analisadores), a matriz options
deve estar preenchida com os seguintes pares chave/de valor:
|
void addElementFromBitstream(string $bitstream [, array $options]) | Cria uma árvore de elementos a partir do fluxo de bits fornecido. Sem options fornecido, o fluxo de bits é analisado pelo analisador do elemento-raiz da árvore de mensagens e conectado como seu último filho (nenhum elemento de domínio é criado neste caso). Caso seja fornecido options, deve conter o par valor/tecla 'domain' => '<parserDomain>' além de qualquer opção adicional para o analisador MRM (consulte asBitstream()). Neste caso, o elemento analisado é criado como cabeçalho da nova subárvore e anexado como último filho do elemento raiz da árvore de mensagens. |
void propagate(string $terminalName) | Propaga a montagem de mensagem ao terminal de saída fornecido pelo parâmetro terminalName. |
void routeToLabel(string $labelName) | Roteia a montagem da mensagem para o nó do Label fornecido pelo parâmetro labelName. |