Bonjour Jean,
I send you my command for my specific DTD.
I hope that you will understand enough or see which XXE command I use to
develop your own.
--
Cordialement,
Marc Courriel : Marc.Liste at free.fr
<!--
***********************************************************************************************************************
********************* LIEN
**************************************************************************
***********************************************************************************************************************
-->
<command name="Unedic.AjouterLien">
<macro trace="true">
<!-- On regarde avec la premi?re sequence si la macro peux
s'executer car on est dans un Texte, comme cela elle apparait active dans le
menu -->
<sequence>
<pass>
<command name="selectNode" parameter="self[implicitElement]
Texte"/>
</pass>
<!-- On coupe le cas ?ch?ant et on initialise la varaible
pressePapier pour faire le coller si besoin, sinon on collerait un texte qui
vient d'ailleurs -->
<choice>
<sequence>
<command name="cut"/>
<set expression="Oui" plainString="true"
variable="pressePapier"/>
</sequence>
<sequence>
<set expression="Non" plainString="true"
variable="pressePapier"/>
</sequence>
</choice>
<!-- On selectionne l'?lement Texte -->
<command name="selectNode" parameter="self[implicitElement]
Texte"/>
<!-- on choisit le fichier, pas en URL pour avoir une boite de
s?lection standard -->
<command name="selectFile" parameter="openFile %d"/>
<!-- on transforme en URL -->
<set expression="uri-or-file-name('%_')" plainString="false"
variable="NomFichier"/>
<get expression="$NomFichier"/>
<!-- on cr?? le lien sans l'accroche fin -->
<command name="insert" parameter="into
#template(Lien,SansAccrocheFin)"/>
<command name="selectNode" parameter="self"/>
<command name="selectNode" parameter="firstChild"/>
<choice>
<test expression="$pressePapier = 'Non'"/>
<command name="paste" parameter="into"/>
</choice>
<command name="selectNode"
parameter="ancestorOrSelf[implicitElement] Texte"/>
<command name="selectNode" parameter="nextSibling"/>
<command name="selectNode" parameter="firstChild"/>
<command name="selectNode" parameter="firstChild"/>
<choice>
<sequence>
<test expression="contains($NomFichier,'ManuelTome')"/>
<get
expression="replace($NomFichier,'.*/([^/]*).xml$','$1.xml')"
plainString="false" variable="NomFichierSsRep"/>
<set
expression="concat(replace($NomFichier,'.*/ManuelTome([^/]*)/.*','ManuelTome$1'),'/','%_')"
plainString="false" variable="NomLocalFichier"/>
</sequence>
<set
expression="relativize-uri($NomFichier,replace('%d','/[^/]*$',''))"
plainString="false" variable="NomLocalFichier"/>
</choice>
<!-- on ?crit le nom du fichier modifi? pour ?tre conforme aux
Liens -->
<get expression="$NomLocalFichier"/>
<command name="insertString" parameter="%_"/>
<!--
*************************************************************************
on remplit la liste des accrocheLien pour les Textes ou
Numero pour les Manuels
******************************************************** -->
<set
expression="join(document($NomFichier)//@AccrocheLien |
document($NomFichier)//@Numero,' ')"
variable="Liste"/>
<!-- si on des elements on les affichent sinon on n'inserera
que le nom de fichier -->
<sequence>
<get expression="$Liste"/>
<command name="pick" parameter="'Choisir AccrocheLien'
false %_"/>
</sequence>
<set expression="%_" plainString="true" variable="Accroche"/>
<!-- on s?lectionne et on ?crit l'accrocheDebut -->
<command name="selectNode"
parameter="nextSibling[implicitElement]"/>
<get expression="$Accroche"/>
<command name="insertString" parameter="%_"/>
<!-- On choisit l'accroche fin -->
<sequence>
<get expression="$Liste"/>
<command name="pick" parameter="'Choisir AccrocheLien'
false %_"/>
</sequence>
<set expression="%_" plainString="true" variable="Accroche"/>
<!-- si on est l? c'est que l'on en a choisit un sinon on aura
arr?t? la macro -->
<!-- on cr?e l'accrocheFin-->
<command name="selectNode"
parameter="ancestorOrSelf[implicitElement] AccrocheDebut"/>
<command name="insert" parameter="after AccrocheFin"/>
<get expression="$Accroche"/>
<command name="insertString" parameter="%_"/>
<!-- on s?lectionne le Lien pour positionner dans l'?l?ment
Texte soit pour Coller soit pour pouvoir le saisir -->
<command name="selectNode"
parameter="ancestorOrSelf[implicitElement] Lien"/>
<command name="selectNode" parameter="firstChild"/>
</sequence>
</macro>
</command>