Référencement de ressource unique sur plusieurs boîtes de dialogue
Souvent, une source unique est utilisée dans différentes boîtes de dialogue. Par exemple, une telle ressource peut être un portlet de sélection de dates générique. Sur un site de voyage, une page de ce type peut être utilisée pour sélectionner la date de départ et la date de retour pour la boîte de dialogue de réservation de vol, ainsi que pour la boîte de dialogue de location de véhicule.
Les portlets peuvent avoir une seul titre dédié par environnement local. Le portlet peut, par exemple, s'appeler Calendrier. Par conséquent, dans la boîte de dialogue les définitions doivent être claires pour le visiteur venu sur le site réserver un voyage. Le portlet doit clairement indiquer lorsqu'il est utilisé pour sélectionner la date de départ et lorsqu'il est utilisé pour sélectionner la date de retour pour le voyage.
Si aucun titre ni aucune description n'a été indiqué explicitement pour un noeud final de transition dans cadre d'une définition de boîte de dialogue. L'affichage d'état de boîte de dialogue (DSD) affiche l'étape avec le titre localisé de la ressource référencée.
Les actions suivantes sont par conséquent appliquées :
- Si le noeud final de transition fait référence à une page, le titre de la page localisée est affiché.
- Si le noeud final de transition fait référence à un portlet, le titre du portlet localisé est affiché.
Mais ce mécanisme de rétromigration ne permet toujours pas d'afficher différents titres pour la même ressource au cours de différentes étapes. Pour résoudre ce problème, les modélisateurs peuvent également indiquer de manière explicite des titres et des descriptions localisés pour des noeuds finaux de transition. Le composant DSD affiche alors ces titres et descriptions au lieu du titre et de la description initiaux de la ressource. Vous pouvez par conséquent définir deux noeuds finaux de transition pointant sur la même ressource mais ayant différents titres et descriptions ou des titres et descriptions localisés pour cette ressource.
Cet exemple fait référence au même portlet de calendrier (Calendar) deux fois dans le cadre de deux noeuds finaux de transition distincts. Dans un nœud final de transition, le titre anglais Date to leave et dans l'autre Date to return. De cette manière, le composant DSD peut afficher le même portlet avec des titres différents ou des titres localisés.
<dialog name="dialog1">
<transition-endpoint name="calendar.leave">
<localedata locale="en">
<title>Date to leave</title>
<description>Specify the date to leave</description>
</localedata>
<localedata locale="de">
<title>Abreisedatum</title>
<description>Geben Sie Ihr Abreisedatum an</description>
</localedata>
<resource uniquename="uniquename.calendar"/>
<invocation type="static"/>
</transition-endpoint>
<transition-endpoint name="calendar.return">
<localedata locale="en">
<title>Date to return</title>
<description>Specify the date to return</description>
</localedata>
<localedata locale="de">
<title>Rueckreisedatum</title>
<description>Geben Sie Ihr Rueckreisedatum an</description>
</localedata>
<resource uniquename="uniquename.calendar"/>
<invocation type="static"/>
</transition-endpoint>
...
<transition>
<source>
<transition-endpoint nameref="portlet1">
<event qname="e1"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="calendar.leave">
<event qname="ecl"/>
</transition-endpoint>
</target>
</transition>
...
<transition>
<source>
<transition-endpoint nameref="portlet2">
<event qname="e2"/>
</transition-endpoint>
</source>
<target>
<transition-endpoint nameref="calendar.return">
<event qname="ecr"/>
</transition-endpoint>
</target>
</transition>
...
</dialog>