Este tema describe las DTD incorporadas y la propiedad Texto de DOCTYPE que pueden incluirse en los mensajes.
Puede incluir DTD incorporadas en los mensajes, y puede especificar información adicional estableciendo la propiedad Texto de DOCTYPE, pero debe conocer la acción que realiza el analizador cuando construye un mensaje de salida:
- Si realiza alguna acción que hace que el mensaje de salida se regenere, por ejemplo
si configura un nodo de cálculo para crear un nuevo mensaje de salida codificando
expresiones ESQL como SET OutputRoot.MRM.Field1 = xxx:
- Si ha establecido la propiedad Suprimir DOCTYPE para el conjunto de mensajes en los que ha definido este mensaje en Yes, tanto la información de DOCTYPE (especificada en la propiedad Texto de DOCTYPE para el mensaje o conjunto de mensajes) como la DTD incorporada se excluyen del mensaje de salida.
- Si ha establecido la propiedad Suprimir DOCTYPE para el conjunto de mensajes en los que ha definido este mensaje en No.
- La DTD incorporada se conserva si es posible.
- En caso contrario, si el mensaje es de autodefinición, la información de la propiedad Texto de DOCTYPE del conjunto de mensajes se incluye en el mensaje de salida.
- En caso contrario (el mensaje no es de autodefinición), la información de la propiedad Texto de DOCTYPE del nivel de mensaje se incluye en el mensaje de salida.
- Si no realiza ninguna acción que haga que se regenere el mensaje de salida, el analizador genera un mensaje de salida que es una copia directa del mensaje de entrada. Esto ocurre si ha configurado un nodo de cálculo en el flujo de mensajes para copiar el mensaje utilizando SET OutputRoot = InputRoot (explícitamente, o marcando el recuadro de selección Copiar mensaje entero), y no modifica el mensaje de ninguna manera en éste o cualquier otro nodo. En este caso, la DTD incorporada se conserva en el mensaje de salida pero la información que especifique en la propiedad Texto de DOCTYPE para el mensaje o conjunto de mensajes no se incluye.