Table des matières

Fonctions

1. Élément <function>

Cet élément définie un fragment XML qui peut être utilisé dans la page avec des arguments. C'est l'équivalent des macros de TeX ou du préprocesseur des compilateurs C. L'attribut name précise le nom de la fonction. Si plusieurs fonctions portent le même nom, la dernière définie dans le document est utilisée. L'élément <function> doit contenir un ou plusieurs éléments <arg> et un élément <content>. Les premiers définissent les chaînes de caractères qui devront être remplacées lors de l'appel de la fonction, le second contient le fragment XML qui sera introduit dans la page lors de l'appel de la fonction.

Exemple de définition d'une fonction

             <function name="paire">
                <arg>#1</arg> 
                <arg>#2</arg> 
                <content>
                    <sb>{#1,#2}</sb>
                </content>
             </function> 
             

Remarque : l'élément content peut contenir tous les éléments XML de scidoc à l'exception de function. En particulier, une définition de fonction peut faire appel à une autre fonction (élément applyfunction ci-dessous); dans ce cas, la définition de la fonction doit se trouver avant son appel (par précaution, placer les définitions de fonction en début de document). Pour faciliter l'édition, on peut ajouter un attribut name (inutilisé) aux éléments arg.

Remarque : les arguments peuvent figurer dans toute partie du fragment XML contenu par content : texte, attributs et même nom d'élément. Il est donc possible de spécifier un élément par une construction du type <#1>...</#1>.

2. Élément <applyfunction>

Cet élément permet d'appliquer (ou d'appeler) une fonction définie dans la page ou dans un fichier externe. Il possède l'attribut name nommant la fonction. S'il possède un attribut src, celui-ci indique le fichier XML où la fonction est définie. L'élément applyfunction doit contenir autant d'éléments arg que la définition de fonction correspondante. Chaque élément arg contient une chaîne de caractères qui remplacera l'argument correspondant défini dans function.

Exemple d'appel de la fonction définie plus haut :

            <p><applyfunction name="paire">  
                <arg>a</arg> 
                <arg>b</arg>  
            </applyfunction></p>
            

qui donne le paragraphe suivant :

{a,b}

3. Exemple de fonctions imbriquées

Le fragment XML suivant

            <function name="f">
                <arg>#1</arg>
                <content><sb>#1</sb></content>
            </function>
            <function name="g">
                <arg>#1</arg>
                <content>
                        <applyfunction name="f"><arg>#1</arg></applyfunction>
                </content>
            </function>
            <p>Angle
                <applyfunction name="g">
                    <arg>&Theta;</arg>
                </applyfunction>
            </p>
            

donne le résultat suivant :

Angle Θ

Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.