Crée un message localisable (voir Prise en charge de la localisation) à partir du contenu XML à structure libre.
Le message créé correspond au contenu XML littéral dans l'élément XmlMessage, à une exception près : le contenu d'un élément replace est défini sur l'expression qu'il contient.
L'élément replace comme simple mécanisme de remplacement de jeton ; si vous avez besoin d'un formattage complexe des jetons, ou de modifier le texte de message sans modifier les règles, pensez à utiliser ResourceMessage à la place.
Si vous avez besoin du comportement de suppression antérieur à Cúram V6 de XmlMessage, vous devez alors définir la variable d'environnement d'application curam.creole.XmlFormat.enableWhitespaceTrimming sur la valeur true dans votre environnement de développement.
Dans un environnement de production, vous devez vous assurer que si la valeur de la variable d'environnement curam.creole.XmlFormat.enableWhitespaceTrimming est modifiée de manière dynamique, vous devez prendre des mesures pour vérifier que les données dérivées dans votre système qui dépendent d'attributs de règles utilisant l'expression XmlMessage doivent être forcées pour recalculer toutes les instances de la valeur d'attribut stockées.
<?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> <!-- L'utilisation de XmlMessage peut permettre de s'assurer que les éléments XML sont démarrés et terminés correctement, par exemple, <b> et </b> --> <XmlMessage>Le texte suivant s'affiche en gras dans un navigateur : <b>Eléments en texte gras.</b> </XmlMessage> </derivation> </Attribute> <Attribute name="tokenReplacementHtmlMessage"> <type> <javaclass name="curam.creole.value.Message"/> </type> <derivation> <XmlMessage><p/>Ce nombre calculé s'affiche en italique et est mis en forme en fonction des préférences locales :<i> <replace> <arithmetic operation="+"> <Number value="1.23"/> <Number value="3.45"/> </arithmetic> </replace> </i> <p/>Et voici un message de ressource : <replace> <ResourceMessage key="simpleGreeting" resourceBundle="curam.creole.example.Messages"/> </replace> </XmlMessage> </derivation> </Attribute> </Class> </RuleSet>