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>



Reply via email to