Dieser Ausdruck erstellt aus frei formatiertem XML-Inhalt eine lokalisierbare Nachricht (siehe Lokalisierungsunterstützung).
Die erstellte Nachricht ist der Inhalt mit XML-Literalcodierung im Element XmlMessage. Es gibt jedoch eine Ausnahme: Als Inhalt eines Elements replace wird der Ausdruck festgelegt, den es enthält.
Das Element replace stellt einen Ersatzmechnismus für einfache Token dar. Falls eine komplexere Tokenformatierung erforderlich ist oder die Möglichkeit bestehen muss, Nachrichtentext ohne die Änderung von Regeln zu ändern, kann es sinnvoll sein, stattdessen den Ausdruck "ResourceMessage" (siehe ResourceMessage) zu verwenden.
Falls Sie das Abschneideverhalten benötigen, das der Ausdruck XmlMessage vor Cúram Version 6 aufwies, müssen Sie die Anwendungsumgebungsvariable curam.creole.XmlFormat.enableWhitespaceTrimming in Ihrer Entwicklungsumgebung auf den Wert true setzen.
In einer Produktionsumgebung sollten Sie bei einer dynamischen Änderung der Umgebungsvariablen curam.creole.XmlFormat.enableWhitespaceTrimming sicherstellen, dass alle abgeleiteten Daten in Ihrem System, die von Regelattributen abhängig sind, bei denen der Ausdruck XmlMessage verwendet wird, zwingend alle gespeicherten Attributwertinstanzen neu berechnen müssen.
<?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> <!-- contains no XML at all --> <XmlMessage/> </derivation> </Attribute> <Attribute name="simpleHtmlMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <!-- Using XmlMessage can ensure that XML elements are started and ended correctly, e.g. <b> and </b> --> <XmlMessage>The following text will appear in bold in a browser: <b>Some in bold text.</b> </XmlMessage> </derivation> </Attribute> <Attribute name="tokenReplacementHtmlMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <XmlMessage><p/>This calculated number will appear in italics and formatted according to locale preferences:<i> <replace> <arithmetic operation="+"> <Number value="1.23"/> <Number value="3.45"/> </arithmetic> </replace> </i> <p/>And here's a resource message: <replace> <ResourceMessage key="simpleGreeting" resourceBundle="curam.creole.example.Messages"/> </replace> </XmlMessage> </derivation> </Attribute> </Class> </RuleSet>