Crea un mensaje traducible (consulte Soporte de localización) a partir de contenido XML de formato libre.
El mensaje creado será el contenido XML literal en el elemento XmlMessage, con una excepción: El contenido de cualquier elemento replace se establecerá en la expresión que contiene.
El elemento replace como mecanismo de sustitución de señal simple; si necesita formato de señal más complejo o la posibilidad de cambiar texto de mensaje sin cambiar reglas, considere la posibilidad de utilizar ResourceMessage en su lugar.
Si necesita el comportamiento de recorte anterior a Cúram V6 de XmlMessage, debe establecer la variable de entorno de aplicación curam.creole.XmlFormat.enableWhitespaceTrimming en el valor true en el entorno de desarrollo.
En un entorno de producción, debe asegurarse de que si el valor de la variable de entorno curam.creole.XmlFormat.enableWhitespaceTrimming cambia dinámicamente, toma las medidas para asegurarse de que se fuerza que los datos obtenidos del sistema que dependen de los atributos de regla que utilizan la expresión XmlMessage vuelvan a calcular todas las instancias de valor de atributo almacenadas.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_XmlMessage" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="XmlMessageExampleRuleClass"> <Attribute name="emptyMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <!-- no contiene XML en absoluto --> <XmlMessage/> </derivation> </Attribute> <Attribute name="simpleHtmlMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <!-- La utilización de XmlMessage puede asegurar que los elementos XML se inicien y finalicen correctamente, por ejemplo <b> y </b> --> <XmlMessage>El texto siguiente aparecerá en negrita en un navegador: <b>Texto en negrita.</b> </XmlMessage> </derivation> </Attribute> <Attribute name="tokenReplacementHtmlMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <XmlMessage><p/>Este número calculado aparecerá en cursiva y formateado de acuerdo con las preferencias de entorno local:<i> <replace> <arithmetic operation="+"> <Number value="1.23"/> <Number value="3.45"/> </arithmetic> </replace> </i> <p/>Y aquí se muestra un mensaje de recurso: <replace> <ResourceMessage key="simpleGreeting" resourceBundle="curam.creole.example.Messages"/> </replace> </XmlMessage> </derivation> </Attribute> </Class> </RuleSet>