Le CMS Ametys met à disposition des intégrateurs de nombreuses méthodes accessibles à partir des fichiers XSLT, facilitant l'intégration des chartes graphique.

  1. Comment utiliser ces méthodes ?
  2. Structures 
    1. getParentProgramStructure
    2. getParentProgram
    3. getProgramStructure 
    4. getProgram
    5. getSubProgramStructure
    6. parentProgramId
    7. odfRootPage
  3. Informations relatives à un programme ou sous-programme
    1. odfPDFUrl
    2. getCertificationLabel
    3. getEducationalBooklet
  4. Tables de référence
    1. getCode
    2. getEntryId
    3. getTableRefItems
  5. Divers
    1. degreeLabel
    2. getRootOrgUnitId

Comment utiliser ces méthodes ?

Ajouter ce namespace "odf" dans l'entête des fichiers XSL comme suit:                       

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   
         ...   
         xmlns:odf="org.ametys.plugins.odfweb.xslt.OdfXSLTHelper"   
         ...   
         extension-element-prefixes="... ametys ...">   

De sorte à pouvoir appeler n'importe quelle fonction définie ci-dessous, en utilisant "ametys:functionName(argument1, argument2)"

Structures 

getParentProgramStructure

Description :
Retourne autant de nœuds <program> qu'il y a de formations intégrant ce sous-programme, incluant la structure des sous-programmes jusque la profondeur indiquée.
Si vous connaissez l'identifiant de la formation souhaitée, utilisez plutôt la méthode getProgramStructure.

Signature :
NodeList getParentProgramStructure (String subprogramId, int depth)

Arguments :

Nom

Type

Description

subprogramId

String

Identifiant du sous-programme

depth

int

Profondeur 

Indiquer un chiffre positif pour récupérer la structure des sous-programmes jusqu'à une profondeur de depth. 

Indiquer un chiffre négatif pour récupérer la structure complète récursivement. 

Ce paramètre concerne uniquement les sous-programmes. 

Exemple : voir getProgramStructure

getParentProgram

Description :
Retourne autant de noeuds <program> qu'il y a de formations intégrant ce sous-programme.
Si vous connaissez l'identifiant de la formation parente, utilisez plutôt la méthode getProgram.

Signature :
NodeList getParentProgram (String subprogramId)

Arguments :

Nom

Type

Description

subprogramId

String

Identifiant du sous-programme

Exemple : voir getProgram  

getProgramStructure 

Description :
Retourne un nœud <program> contenant la structure de la formation jusqu'à une profondeur de depth

Signature :
NodeList getProgramStructure (String programId, int depth)

Arguments :

Nom

Type

Description

programId

String

Identifiant de la formation

depth

int

Profondeur

Indiquer un chiffre positif pour récupérer la structure jusqu'à une profondeur de depth. 

Indiquer un chiffre négatif pour récupérer la structure complète récursivement. 

Ce paramètre concerne uniquement les sous-programmes. 

Exemple :

<program ects="content://766a60bb-0048-4c0f-9018-9a5cf3cb5a6a" code="H7AHQYZO" catalog="2013-2017" degree="content://47383714-55b6-441b-b43c-4ef27db82e1c" id="programContent://25be5972-5e5a-4068-bd30-dd97b400c8ff" title="Licence Mathématiques"> 
    <subprogram ects="content://8cbc13c3-b44d-42a4-842f-71456b3d9a1e" code="H7AHWVC8" catalog="2013-2017" id="subProgramContent://627f8540-be41-4797-bd18-82f9c09be35e" title="L3 parcours Mathématiques générales">
        <container code="K42UDTSB" catalog="2013-2017" id="container://c10dd651-afbb-4913-b813-78430749c960" title="L3 parcours Mathématiques générales">
            <container code="K42UR3PX" catalog="2013-2017" id="container://19d5cb9b-7f70-45b5-bb95-ff188cdd85db" title="Semestre 5">
                <courselist code="LMP1A3M" catalog="2013-2017" id="courseListContent://a18375e2-c581-430b-88f6-4817f77b71e5" title="Math. Options 3e année" type="MANDATORY">
                    <course code="H7AI4Z0J" catalog="2013-2017" name="course-fruai3182988bcoh7ai4z0j" id="courseContent://03a77422-20d2-4a7b-a315-74de76c327fa" title="Arithmétique"></course>
                    <!-- // ... -->
                </courselist>
            </container>
        <container code="K42UOQ9N" catalog="2013-2017" id="container://466926e2-6107-43a5-af73-0539263f0178" title="Semestre 6">
            <!-- // ... -->
        </container>
    </container>
</subprogram>
<subprogram code="H7AHX5R3" catalog="2013-2017" id="subProgramContent://b503cb25-5a69-4596-b7bb-5d9cdff18af4" title="Parcours Mathématiques pour l’assurance et la finance">
    <!-- // ... -->
</subprogram>
</program>

getProgram

Description :
Retourne un nœud <program> contenant les informations de la formation

Signature :
Node getProgram (String programId)

Arguments :

Nom

Type

Description

programId

String

Identifiant du programme

Exemple d'information retournée:

<program ects="content://766a60bb-0048-4c0f-9018-9a5cf3cb5a6a" 
         code="H7AHQYZO" 
         catalog="2013-2017" 
         degree="content://47383714-55b6-441b-b43c-4ef27db82e1c" 
         id="programContent://25be5972-5e5a-4068-bd30-dd97b400c8ff" 
         title="Licence Mathématiques">
</program>          

getSubProgramStructure

Description :
Retourne un noeud <subprogram> contenant la structure du sous-programme , incluant la structure des sous-programmes.

Si l'attribut depth est précisé, la structure est retournée jusqu'à une profondeur de depth.  

Sans attribut depth, la structure est complète. 

Signature :
Node getSubProgramStructure(String subprogramId)

Node getSubProgramStructure(String subprogramId, int depth)

Arguments :

Nom

Type

Description

subprogramId

String

Identifiant du sous-programme

depth

int

Profondeur

Indiquer un chiffre positif pour récupérer la structure jusqu'à une profondeur de depth. 

Indiquer un chiffre négatif pour récupérer la structure complète récursivement. 

Ce paramètre concerne uniquement les sous-programmes. 

Exemple :

<subprogram ects="content://8cbc13c3-b44d-42a4-842f-71456b3d9a1e" code="H7AHWVC8" catalog="2013-2017" id="subProgramContent://627f8540-be41-4797-bd18-82f9c09be35e" title="L3 parcours Mathématiques générales">
    <container code="K42UDTSB" catalog="2013-2017" id="container://c10dd651-afbb-4913-b813-78430749c960" title="L3 parcours Mathématiques générales">
        <container code="K42UR3PX" catalog="2013-2017" id="container://19d5cb9b-7f70-45b5-bb95-ff188cdd85db" title="Semestre 5">
            <courselist code="LMP1A3M" catalog="2013-2017" id="courseListContent://a18375e2-c581-430b-88f6-4817f77b71e5" title="Math. Options 3e année" type="MANDATORY">
                <course code="H7AI4Z0J" catalog="2013-2017" name="course-fruai3182988bcoh7ai4z0j" id="courseContent://03a77422-20d2-4a7b-a315-74de76c327fa" title="Arithmétique"></course>
<!-- // ... -->
            </courselist>
        </container>
        <container code="K42UOQ9N" catalog="2013-2017" id="container://466926e2-6107-43a5-af73-0539263f0178" title="Semestre 6">
            <!-- // ... -->
        </container>
    </container>
</subprogram>

parentProgramId

Description :
Retourne l'identifiant du programme parent à partir de la page courante. 

La méthode retourne null le programme n'est pas trouvé. 

Signature :
String parentProgramId()

odfRootPage

Description :
Retourne l'identifiant de la page racine ODF pour un site spécifique, une langue, et éventuellement un catalogue. 

S'il y a plusieurs pages racines, c'est la première de la liste qui est retournée

Si la page racine de l'ODF n'est pas trouvée, la méthode retourne null

Signature :
String odfRootPage (String siteName, String language)

String odfRootPage (String siteName, String language, String catalog)

Arguments :

Nom

Type

Description

siteName

String

Nom du site

language

String

Langue

catalog

String

Nom du catalogue

Informations relatives à un programme ou sous-programme

odfPDFUrl

Description :
Retourne l'URL du PDF d'un programme ou d'un sous-programme.

Si l'identifiant du contenu ne correspond pas à un programme ou à un sous-programme, la méthode renvoie une chaîne vide.

Signature :
String odfPDFUrl (String contentId, String siteName)

Arguments :

Nom

Type

Description

contentId

String

Identifiant du programme ou du sous-programme

siteName

String

Nom du site

Exemple d'utilisation :

<a href="{odf:odfPDFUrl($programId, $site)}" target="blank" >Télécharger le PDF</a>

getCertificationLabel

Description :
Retourne le libellé de la certification du programme ou du sous-programme. 

Si la formation n'est pas certifiée, la méthode retourne null. 

Signature :
String getCertificationLabel(String abstractProgramId)

Arguments :

Nom

Type

Description

abstractProgramId

String

Identifiant du programme ou du sous-programme

Exemple d'utilisation :

<xsl:variable name="label" select="odf:getCertificationLabel(@id)"/>

<xsl:if test="$label != ''">
    <xsl:variable name="labelImgPath" select="concat('img/labels/', $label, '.svg')"/>
    <img class="ametys-main-banner-label__img" src="{ametys:skinURL($labelImgPath)}" alt="" />
</xsl:if>

getEducationalBooklet

Cette méthode est disponible à partir de la version 4.4

Description :
Retourne le livret pédagogique au format PDF le plus récent pour un sous-programme. 

Si le sous-programme n'existe pas ou s'il n'existe pas de livret pédagogique sur le sous-programme, la méthode renvoie null. 

Signature :
AmetysNodeList getEducationalBooklet (String subProgramId)

Arguments :

Nom

Type

Description

subProgramId

String

Identifiant du sous-programme

Exemple :

<pdf filename="Livret pédagogique L3 parcours Mathématiques générales - 2020-11-27.pdf"
    lastmodified="2020-11-27T17:06:26.000Z" 
    mime-type="application/pdf" 
    multiple="false" 
    path="educational-booklets[1]/pdf" 
    size="135670" 
    type="attribute" 
    typeid="file" 
    uri="educational-booklets[1]/pdf">
</pdf>

Tables de référence

getCode

Description :
Retourne le code associé à une entrée de table de référence. 

Si l'entrée n'est pas trouvée, la méthode retourne null. 

Signature :
String getCode (String tableRefEntryId)

Arguments :

Nom

Type

Description

tableRefEntryId

String

Identifiant de l'entrée de la table de référence

Exemple d'utilisation:

<xsl:variable name="degreeId" select="metadata/degree/@id"/>
<xsl:variable name="degreeCode" select="odf:getCode($degreeId)"/>

getEntryId

Description :
Retourne l'identifiant d'une entrée de table de référence à partir de son code.

La méthode retourne null si l'entrée n'est pas trouvée. 

Signature :
String getEntryId (String tableRefId, String code)

Arguments :

Nom

Type

Description

tableRefId

String

Identifiant de la table de référence

code

String

Code de l'entrée de la table de référence

Exemple :

<xsl:variable name="degreeId" select="odf:getEntryId('odf-enumeration.Degree', 'XA')"/>

getTableRefItems

Description :
Retourne les entrées d'une table de référence

Signature :
Node getTableRefItems (String tableRefId, String lang)

Node getTableRefItems (String tableRefId, String lang, boolean ordered)

Arguments :

Nom

Type

Description

tableRefId

String

Identifiant de la table de référence

lang

String

Langue à utiliser pour les libellés

ordered

booléen

Si ce booléen est positionné à true, alors les entrées seront triés selon l'attribut "ordre". 

Exemple :

<items id="odf-enumeration.Domain">
    <item code="STS" id="content://305e6e9e-1ec2-4adb-8ffc-2274ab807907" title="Sciences, Technologies, Santé"></item>
    <item code="ALL" id="content://47bb25ce-234c-4ed4-9e29-ce2c0227ddbe" title="Arts, Lettres, Langues"></item>
    <item code="SHS" id="content://64e192e6-31cd-4a12-88b4-d8d38267bce5" title="Sciences humaines et sociales"></item>
    <item code="DEG" id="content://fb0f2f0e-fc29-4ceb-8d2b-70bf1ef3b729" title="Droit, Economie, Gestion"></item>
    <item code="HD" id="content://fe887b17-fc96-42ac-a698-0e9868e56e7c" title="Hors domaines de formation"></item>
    <item code="STA" id="content://34170b44-174a-44fc-937b-c6c56d8e8910" title="Sciences et Techniques des Activités Physiques et sportives"></item>
</items>

Divers

degreeLabel

Description :
Retourne le libellé du diplôme associé à la valeur CDM du diplôme. 

Si la clef n'est pas trouvée, la méthode retourne une chaîne vide

Signature :
String degreeLabel (String cmdValue)

String degreeLabel (String cmdValue, String language)

Arguments :

Nom

Type

Description

cmdValue

String

Clef du diplôme

language

String

Langue

Exemple d'utilisation :

<xsl:variable name="degreeLabel" select="odf:degreeLabel('licence', $lang)"/>

getRootOrgUnitId

Description :
Retourne l'identifiant de la composante racine.

Signature :
String getRootOrgUnitId()         

Retour en haut