La clase de MbsMessageAssembly representa el mensaje ensamblado que se propaga entre nodos en un flujo de mensajes.
Si assembly es una instancia de MbsMessageAssembly, puede acceder a los cuatro árboles de componentes utilizando el código siguiente:
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];
La clase MbsMessageAssembly proporciona los métodos de API que se muestran en la tabla siguiente. Los parámetros entre corchetes son opcionales:
Método | Descripción |
---|---|
Constructor(MbsMessageAssembly $assembly, MbsMessage $msg [, MbsMessage $local_env [, MbsMessage $exception_list]]) | Crea una instancia de un nuevo objeto de mensaje ensamblado basándose en la plantilla ensamblada especificada. El mensaje para el ensamblado se sustituye por el mensaje que se pasa en el parámetro msg. El otro árbol lógico también se puede sustituir si se proporciona su parámetro asociado. Si no se proporciona el parámetro asociado, se utiliza el árbol de la plantilla ensamblada. |
int getType() | Devuelve el tipo específico del elemento raíz del árbol de mensaje. |
array xpath(string $expression [, array $namespace]) | Evalúa la expresión XPath utilizando el último hijo de la raíz (elemento de cuerpo) como nodo de contexto. Devuelve el resultado como serie, doble, booleano o un conjunto de nodos, como matriz de objetos MbsElement. El parámetro opcional namespace es una matriz asociativa con prefijos de espacio de nombres como claves, y URIs de espacio de nombres como valores. |
MbsElement getChild(string $name [, int $occurrence]) | Devuelve el primer hijo del elemento raíz del árbol de mensaje cuyo nombre lo proporciona el primer parámetro. Puede devolverse la aparición nth de ese hijo especificando un segundo parámetro opcional. |
array getChildren([string $namespace]) | Devuelve todos los elementos hijo del elemento raíz del árbol de mensaje como una matriz de MbsElements. Si se especifica el parámetro namespace, la matriz contiene sólo los elementos hijo con ese URI de espacio de nombres. |
MbsElement getFirstChild() | Devuelve el primer hijo del elemento raíz del árbol de mensaje. |
MbsElement getLastChild() | Devuelve el último hijo del elemento raíz del árbol de mensaje. |
MbsElement addElement(string $name, object $value [, string $namespace [, int $type [, int $position]]]) | Crea un elemento como último hijo (por omisión)
del elemento raíz del árbol de mensaje. El parámetro opcional type es el tipo específico de analizador del nodo nuevo (que toma el valor predeterminado del tipo de elemento XML para los analizadores XML). El parámetro opcional position puede ser uno de los valores siguientes:
|
MbsElement addDomainElement(string $domainName) | Crea un elemento de dominio. |
void detachAllChildren() | Separa todos los elementos hijo del elemento raíz del árbol de mensajes. |
string asBitstream([array $options]) | Serializa el árbol de elementos para generar una corriente de bits. Cuando se utiliza el analizador MRM
(y otros analizadores), la matriz options debe contener
las siguientes parejas clave/valor:
|
void addElementFromBitstream(string $bitstream [, array $options]) | Crea un árbol de elementos a partir de la corriente de bits proporcionada. Si no se proporciona options, la corriente de bits se analiza utilizando el analizador del elemento raíz del árbol de mensaje y se adjunta como su último hijo (en este caso no se crea ningún elemento de dominio). Si se proporciona options, debe contener la pareja clave/valor 'domain' => '<parserDomain>' más cualquiera de las opciones adicionales del analizador MRM (consulte asBitstream()). En este caso, se crea un elemento de analizador en la cabeza del nuevo subárbol y se adjunta como el último hijo del elemento raíz del árbol de mensaje. |
void propagate(string $terminalName) | Propaga el mensaje ensamblado en el terminal de salida proporcionado por el parámetro terminalName. |
void routeToLabel(string $labelName) | Direcciona el mensaje ensamblado al nodo Label proporcionado por el parámetro labelName. |