A classe MbsElement representa um único elemento analisado em uma mensagem (ou outra árvore lógica).
A classe MbsElement fornece os métodos API demonstrados na tabela a seguir (parâmetros entre colchetes são opcionais):
Método | Descrição |
---|---|
Construtor() | Instancia um novo objeto MbsElement. |
objeto getValue() | Retorna o Valor do elemento atual. |
anular setValue(objeto $value) | Define o valor do elemento atual. |
int getType() | Retorna o tipo específico do elemento atual. Para obter uma lista completa de valores de tipo, consulte Constantes PHP para Valores de Tipo. |
void setType(int $type) | Configura o tipo específico do elemento atual. Para obter uma lista completa de valores de tipo, consulte Constantes PHP para Valores de Tipo. |
object xpath(string $expression [, array $namespace]) | Avalia a expressão XPath com o elemento atual 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 espaço de nomes como as URIs de teclas e espaço de nome e como os valores. |
cadeia getName() | Retorna o nome do elemento atual. |
void setName(string $name) | Configura o nome do elemento atual. |
string getNamespace() | Retorna o espaço de nomes URI do elemento atual. |
void setNamespace($namespace) | Configura o espaço de nomes URI do elemento atual. |
MbsElement getParent() | Retorna o pai do elemento atual. |
MbsElement getChild(string $name [, int $occurrence]) | Retorna o primeiro filho do elemento atual 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 n do elemento atual como uma matriz de MbsElements. Se o parâmetro namespace for especificado, a matriz conterá somente os elementos filhos com esse URI de espaço de nomes. |
MbsElement getFirstChild() | Retorna o primeiro filho do elemento atual. |
MbsElement getLastChild() | Retorna o último filho do elemento atual. |
MbsElement getNextSibling() | Retorna o próximo irmão do elemento atual. |
MbsElement getPreviousSibling() | Retorna o irmão anterior do elemento atual. |
MbsElement getAttribute(string $name) | Retorna o atributo do elemento atual dado pelo parâmetro name. |
MbsElement addAttribute(string $name, object $value [, string $namespace]) | Inclui um atributo ao elemento atual. |
MbsElement addElement(string $name, object $value [, string $namespace [, int $type [, int $position]]]) | Cria um elemento como último filho (por padrão) do elemento atual. O parâmetro type opcional
é o tipo específico do analisador do novo nó (que é padrão para o tipo de elemento XML
para analisadores XML). O parâmetro position opcional
pode ser um dos seguintes valores:
|
MbsElement detach() | Desconecta o elemento atual da árvore. |
void detachAllChildren() | Separa todos os elementos filhos do elemento atual. |
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 o fornecimento de options, o fluxo de bits é analisado usando o analisador do elemento atual 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()). Nesse caso, um elemento analisador é criado no cabeçalho na nova subárvore e conectado como último filho do elemento atual. |
function transformItem($input) {
$item = new MbsElement;
$item->Desc = $input->Description;
$item->Cost = $input->Price->getValue() * 1.6;
$item->Qty = $input->Quantity;
return $item;
}
É possível copiar essa subárvore em uma mensagem de saída
usando o seguinte código:$output_assembly->XMLNSC->doc->item = transformItem($input_sub_tree);
onde $input_sub_tree é
uma referência a uma parte da mensagem de entrada.