Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Travailler avec des règles de normalisation

    Traduisible
    Pour travailler avec les règles de normalisation, vous devez avoir le rôle suivant :
    • Administrateur de catalogue
    • Gestionnaire de catalogue
    • Catalogueur
    Les règles de normalisation constituent le fondement des améliorations sur les notices MARC 21. Ces améliorations peuvent être faites sur des notices individuelles dans l'Éditeur de métadonnées (Modifier > Améliorer la notice) ou sur un groupe de notices en utilisant des ensembles.
    Pour apporter des améliorations à une seule notice, utilisez l'option Améliorer la notice (se reporter aux sections Options du menu et de la barre d'outils dans l'Éditeur de métadonnées et Améliorer la notice) ou l'option Appliquer les changements à une seule notice lorsque vous utilisez la fonctionnalité Prévisualiser les règles de normalisation (se reporter à la procédure Prévisualiser le résultat d'un fichier de règles).
    Afin de traiter les améliorations de notices dans un ensemble de notices, vous devez créer un processus à l'aide des tâches Normalisation MARC Drool ou (Nouveau en juin !) Normalisation DC Drool (voir Travailler avec des processus de normalisation) et préciser la règle de normalisation que vous créez dans l'Éditeur de métadonnées (se reporter à la procédure Créer un nouveau fichier de règles de normalisation). Une fois le processus créé, vous pouvez exécuter un traitement à l'aide de ce processus (voir Effectuer des traitements manuels sur des ensembles définis).
    Les règles de normalisation sont créées en suivant une syntaxe de programmation spécifique et à l'aide de la fenêtre de modification accessible dans l’Éditeur de métadonnées sous l'onglet Règles.
    Rules_Tab_Editing_Window_NewUI_02_TC.png
    Onglet Règles Fenêtre de modification
    En plus de créer votre propre programme de règles de normalisation, vous pouvez également copier/coller des règles existantes dans la fenêtre de modification ou utiliser les exemples prédéfinis (Onglet Règles > Modifier > Ajouter une règle) pour développer vos règles de normalisation. Voir Syntaxe des règles de normalisation pour des informations concernant la syntaxe des règles de normalisation et pour voir des exemples que vous pouvez copier dans la fenêtre de modification.
    À l'aide de la fonction de prévisualisation dans l’Éditeur de métadonnées, vous pouvez :
    • Consulter les règles de normalisation et les notices de métadonnées côte-à-côte
    • Prévisualiser le résultat d'un fichier de règles lorsqu'il est exécuté sur une notice de métadonnées
    • Basculer entre le fichier de règles et la prévisualisation des modifications
    • Modifier les règles et les tester immédiatement
    Cette section décrit comment créer un fichier de règles de normalisation, comment travailler avec des fichiers de règles déjà créées et comment prévisualiser le résultat d'un fichier de règles lorsqu'il est exécuté sur une seule notice de métadonnées. Pour plus d'informations sur les règles de normalisation, voir Règles et processus de normalisation (fichier .pptx).
    Pour regarder une vidéo sur les règles de normalisation, voir Règles de normalisation (41:07 mins). Pour une session détaillée Demander à l'expert sur la configuration des règles de normalisation, voir Règles de normalisation.
    Pour créer un nouveau fichier de règles de normalisation :
    1. Sur la page Éditeur de métadonnées (Ressources > Catalogage > Ouvrir l'Éditeur de métadonnées), créez une règle de normalisation pour une notice MARC en sélectionnant Fichier > Nouveau > Règle de normalisation et (Nouveau en juin !) créez un ensemble de règles de normalisation pour une notice DC en sélectionnant Fichier > Nouveau > Transformeurs XSL. La boîte de dialogue Propriétés des règles de normalisation s'ouvre.
      Boîte de dialogue Propriétés des règles de normalisation
    2. Saisissez un nom (requis) et une description pour le fichier de règles de normalisation.
    3. Sélectionnez une option d'accès, Privé ou Partagé. Si vous sélectionnez la première option, vous seul pouvez travailler sur la règle, qui ne peut être incluse dans un processus de normalisation. Si vous sélectionnez la seconde option, votre règle sera partagée entre les catalogueurs. Dans ce cas, la règle peut être vue par plus d'un utilisateur à la fois. Si deux personnes ou plus ouvrent la règle pour la modifier, un message d'avertissement apparaît lorsque l'un d'eux essaie d'enregistrer des modifications. (Vous avez le choix entre conserver vos changements ou autoriser un autre utilisateur à effectuer et enregistrer ses changements.)
    4. Pour activer la règle, sélectionnez la case Activé. (Par défaut, le ficher de règles de normalisation que vous créez est désactivé.)
    5. Cliquez sur Enregistrer. Une fenêtre de texte, dans laquelle vous saisissez la ou les règles, s'ouvre.
      Vous pouvez inclure la syntaxe d'une règle existante (Modifier > Ajouter une règle > {type de règle}) ou définir une règle (pour plus de détails, voir Syntaxe des règles de normalisation).
    6. Cliquez sur Enregistrer. Le fichier de règles est ajouté à la liste des fichiers de règle dans l'onglet Règles de normalisation.
    Pour travailler sur un fichier de règles de normalisation existant :
    1. Sur la page Éditeur de métadonnées (Ressources > Catalogage > Ouvrir l'Éditeur de métadonnées), dans le cas d'une règle de normalisation MARC, sélectionnez l'onglet Règles et étendez le fichier Règles de normalisation pour afficher les fichiers de règles enregistrés et (Nouveau en juin !) dans le cas des règles de normalisation DC, sélectionnez l'onglet Transformeurs XSL.
    2. Cliquez sur le fichier de règles sur lequel vous souhaitez travailler et sélectionnez l'une des options suivantes :
      • Modifier – Ouvre la fenêtre de texte et affiche la syntaxe de la ou des règles, que vous pouvez alors modifier (pour plus de détails, voir Syntaxe des règles de normalisation).
      • Supprimer – Cliquez sur Oui pour confirmer la suppression du fichier de règles.
      • Dupliquer – Duplique le fichier de règles sélectionné, ce qui vous permet de le modifier et de l'enregistrer comme nouveau fichier sans que le fichier d'origine soit modifié.
      • Propriétés – Ouvre la boîte de dialogue Propriétés des règles de normalisation, vous permettant de modifier les propriétés du fichier de règles.
    Pour prévisualiser le résultat d'un fichier de règles :
    1. Localisez la notice bibliographique avec laquelle vous souhaitez travailler (à l'aide de la Recherche dans le répertoire ou de l'onglet Notices de l’Éditeur de métadonnées) et ouvrez-la dans l'Éditeur de métadonnées.
    2. Sélectionnez Modifier > Scinder l'éditeur (F6) ou cliquez sur l'icône Scinder l'éditeur.
    3. Cliquez sur l'onglet Règles, agrandissez la liste tirée de Règles de normalisation > Partagé pour afficher les fichiers de règles enregistrés, sélectionnez le fichier de règles que vous souhaitez prévisualiser puis cliquez sur Modifier.
      Rules_Actions_NewUI_02_TC.png
      Clic sur Modifier pour ouvrir l'onglet Règles de normalisation
      Le fichier de règles s'affiche sur le panneau droit de l’Éditeur de métadonnées.
      Normalization_Rule_Preview_14.png
      Prévisualisation des règles de normalisation
    4. Cliquez sur Prévisualiser. La ou les règles du fichier sont appliquées à la notice et le résultat est affiché.
      Lorsque vous prévisualisez une règle pour la notice du réseau, le message suivant s'affiche :
      Notez que les règles ne s'appliqueront qu'aux champs locaux lors de l'exécution du processus de normalisation.
    5. Cliquez sur Appliquer les changements pour enregistrer les modifications concernant la notice ou cliquez sur Retour aux règles de normalisation.
    Si vous choisissez de revenir aux règles de normalisation, vous pouvez apporter des modifications supplémentaires à votre/vos règle(s) de normalisation. Cliquer à nouveau sur Prévisualiser vous permet de visualiser vos changements. Lors les modifications apportées à la/aux règle(s) de normalisation sont finalisées, cliquez sur Enregistrer (à côté du bouton Prévisualiser) pour enregistrer la version finale de votre/vos règle(s) de normalisation.

    Syntaxe des règles de normalisation

    Les fichiers de règles contiennent une ou plusieurs règles, qui contiennent une ou plusieurs actions à appliquer aux notices choisies. Les actions sont appliquées à une notice si la notice remplit la condition. Chaque action au sein d'une règle peut être effectuée sur un seul champ au sein d'une notice. Les actions sont effectuées dans l'ordre dans lequel elles apparaissent au sein de la règle.
    Lorsque vous définissez une règle contenant elle-même plusieurs règles, vous devez utilisez le facteur de priorité. Les actions stipulées dans la règle avec la plus haute priorité sont effectuées en premier. Par exemple, l'action dans la règle avec la priorité 2 ci-dessous est effectuée avant l'action dans la règle avec priorité 1. Pour des exemples concernant l'utilisation des priorités dans les règles de normalisation, voir Exemple de règle de normalisation.
    Apprenez-en plus sur la création des règles de normalisation dans la vidéo Règles de normalisation (41:07 mins).
    Apprenez comment créer des règles de normalisation qui effacent des champs spécifiés dans des notices ou qui changent le contenu de ces champs dans la vidéo Syntaxe de la routine de normalisation pour supprimer ou changer du contenu (9:57 mins).
    When
    (<conditions sur la notice MARC>) then
    Action1
    Action2 si condition
    Action3
    End
    <conditions sur la notice MARC> contient une ou plusieurs clauses booléennes qui s'appliquent à la notice. Si <conditions sur la notice MARC> renvoie VRAI, la règle est appliquée à la notice ; sinon, la règle n'est pas appliquée et la notice n'est pas traitée.
    • “When” doit être le seul mot sur la première ligne. La condition doit être placée sur une ligne séparée.
    • Veuillez noter que bien qu'il soit autorisé d'inclure plusieurs opérateurs booléens dans les règles, lorsqu'un grand nombre d'opérateurs booléens sont sélectionnés, il est probable que les performances ralentissent. Ainsi, chaque règle devrait inclure au maximum 200 opérateurs booléens.

    Éléments de la notice

    Les conditions et les actions s'appliquent aux éléments de la notice, tels que la notice MARC, les champs (un ou plus), les indicateurs, les sous-champs (un ou plus) et le contenu des champs/sous-champs.
    Pour tester une condition ou appliquer une action à un élément de la notice, la syntaxe de l'élément doit être de la forme suivante :
    Syntaxe
    Expression Signification
    "<tag>", "<new tag>" Représente une étiquette de champ, par exemple, 001, 245, etc.
    "<oldCode>", "<newCode>" Représente le code d'un sous-champ, par exemple, a, b, c.
    "<element>" pour un champ de données Des valeurs possibles pour le champ de données sont les suivantes :
    • FIELD – par exemple : 245
    • FIELD_VALUE – par exemple : 245.value*
    • FIELD_INDICATOR – par exemple : 245.{1,2}
    • FIELD_SUBFIELD_CODE – par exemple : 245.a
    • FIELD_INDICATOR_SUBFIELD_CODE – par exemple : 245.{1,2}.a.
    • FIELD_SUBFIELD_CODE_VALUE – par exemple : 245.a.value*
    • FIELD_INDICATOR_SUBFIELD_CODE_VALUE – par exemple : 245.{1,2}.a.value*
    "<element>" pour un champ de contrôle Des valeurs possibles pour un champ de contrôle sont les suivantes :
    • FIELD_POSITION_LENGTH – par exemple : LDR.{17,3}
    • FIELD_POSITION_LENGTH_VALUE – par exemple : LDR.{17,3}.eng
    CONDITION au niveau de la notice Les options suivantes sont les options de condition possibles :
    • TRUE
    • not exists "{element}"
    • not existsControl "{element}"
    • exists "{element}"
    • existsControl "{element}"
    • existsMoreThanOnce "{element}" (voir Gérer les requêtes de recherche et les ensembles) pour voir un exemple de l'utilisation de cette condition)
    • contains (pour les règles de fusion)

    Condition

    Les conditions peuvent concerner la règle dans sa globalité (WHEN) ou à un niveau d'action spécifique (IF). La même condition aura des conséquences différentes en fonction du niveau sur lequel elle est définie.
    • Clause WHEN – définit une condition qui doit être remplie par la notice dans sa globalité, cela permet de déterminer si la notice peut être choisie pour l'application de la règle
    • Clause IF (dans une action) – définit une condition qui s'applique à un seul champ, cela permet de déterminer si une action spécifique sera ou non exécutée sur ce seul champ
    Les conditions peuvent être :
    • exists <element> – au moins un élément correspondant est trouvé
      • exists <element> – s'applique aux champs de données
      • existsControl <element> – s'applique aux champs de contrôle
    • not exists <element> – aucune correspondance trouvée
      • not exists <element> – s'applique aux champs de données
      • not existsControl <element> – s'applique aux champs de contrôle
    Chaque action de clause IF peut avoir l'un des formats suivants :
    • Est appliqué lorsqu'une condition spécifique n'est pas vraie, par exemple : addControlField "{element}" if(not exists "{condition}")
    • Est appliqué lorsqu'une condition spécifique est vraie, par exemple : addControlField "{element}" if(exists "{condition}")
    • S'applique sans condition, par exemple : addControlField "{element}"
    L'opérateur booléen OU peut être utilisé dans une déclaration de conséquence en utilisant le symbole de la barre verticale (|), par exemple : removefField "866" if (not exists "866.8.0|99")
    Dans les cas où la barre verticale fait partie de la valeur, vous devez utiliser quatre barres obliques (\\\\) pour fermer la chaîne, par exemple : removeField "866" if (exists "866.8.0\\\\|99")

    Liste d'actions

    Le tableau suivant fournit une liste des actions disponibles.
    Liste d'actions
    Action Condition Commentaire
    Remplacer les champs et les sous-champs par d'autres champs et sous-champs changeControlField "<tag>" to "<new tag>"
    Exemple : ChangeControlField "007" to "008"
    Change l'identifiant de l'étiquette d'un champ de contrôle ; ne modifie pas le contenu.
    changeField "<tag>" to "new tag"
    Exemple : changeField "245" to "246"
    Change l'identifiant de l'étiquette ; ne modifie pas les indicateurs ou les sous-champs.
    changeSubField "<tag>.<code>" to "<new code>"
    changeSubFieldOnlyFirst "<tag>.<code>" to "<new code>"
    changeSubFieldExceptFirst "<tag>.<code>" to "<new code>"
    Exemple : changeSubField "035.b" to "a"
    Change les sous-champs (ou uniquement le premier sous-champ, ou bien tous les sous-champs sauf le premier) "<code>" en sous-champ "<new code>" dans le champ "<tag>".
    changeFirstIndicator "<tag>" to "<value">
    changeSecondIndicator "<tag>" to "<value">
    Exemple : changeFirstIndicator "245" to "3"
    Définit la valeur de l'indicateur spécifié dans l'étiquette <tag>.
    combineFields "<tag>" excluding "<comma-separated subfield list>"
    Exemple : combineFields "852" excluding "a,b"
    Combine tous les champs d'un numéro spécifique. Copie tous les sous-champs à partir de la seconde et des lignes subséquentes à la première ligne, sauf les sous-champs nommés : seules les occurrences des sous-champs exclus sont copiées, et seulement s'ils n'existent pas sur la première ligne.
    Ajouter des champs et sous-champs addField "<tag>.<code>.<value>"
    addField "<tag>.{<ind1>,<ind2>}.<code>. <value>"
    Exemple : addField "999.a.RESTRICTED"
    Ajoute le champ à la notice MARC. Définit la valeur du sous-champ à la valeur indiquée.
    addControlField "<tag>"."<value>"
    Exemple : addControlField "008.820305s1991####nyu###########001#0#eng##"
    Ajoute le champ de contrôle à la notice MARC.
    addSubfield "<tag>.<code>.<value>"
    addSubfield "<tag>.{<ind1>,<ind2>}.<code>.<value>"
    Exemple : addSubfield "245.h.[Journal]"
    Ajoute le sous-champ <code> avec la valeur <value> dans le champ <tag>. Si le champ n'existe pas, rien n'est fait.
    addSystemNumber "<element>" from "<tag>" prefixed by "<prefix tag>"
    Exemple : addSystemNumber "035.a" from "001" prefixed by "003"
    Ajuste les données du champ <element> au contenu du deuxième champ de contrôle <prefix tag> entre parenthèses suivi du contenu du premier champ de contrôle <tag>.
    Par exemple, si le champ 001 a la valeur 9945110100121 et si le champ 003 a la valeur DAV, la condition de l'exemple à gauche indiquera 035 avec la valeur ‡(DAV)9945110100121.
    Copier des champs copyField "<tag>" to "<new tag>"
    copyField "<tag>.<code>" to "<new tag>.<new code>"
    copyField "<tag>" to "<new tag>.{<ind1>,<ind2>}"
    Exemple : copyField "971.a" to "100.u"
    Copie des champs vers un autre champ. Dans la première version, les sous-champs ne sont pas précisés (<code> et <new code>), et le nouveau champ contient les mêmes sous-champs que l'ancien champ. Dans la seconde version, si seul le champ <new code> n'est pas indiqué, le nouveau sous-champ est identique à celui spécifié par le champ <code>.
    copyField créé un champ séparé plutôt que de l'ajouter à un champ existant. Vous pouvez souhaiter combiner le nouveau champ à n'importe quels champs existants (voir combineFields).
    Supprimer des champs et sous-champs removeControlField "<tag>"
    Exemple : removeControlField "009"
    Supprime toutes les occurrences du champ de contrôle.
    removeField"<tag>"
    Exemple : removeField "880"
    Supprime toutes les occurrences du champ <tag>.
    removeSubfield "<tag>.<code>"
    Exemple : removeSubfield "245.h"
    Supprime toutes les occurrences du sous-champ <code> du champ indiqué.
    Remplacer du texte dans les champs et sous-champs replaceControlContents "<tag>.{<position>,<length>}.
    <value>" with "<new value>"
    Exemple : replaceControlContents "LDR.{7,1}.s" with "m"
    Remplace <value> par "<new value>" dans la position de départ <position> jusqu'à <position>+<length> dans le champ de contrôle <tag>. Remplace uniquement le texte qui correspond à <value>.
    replaceContents "<tag>.<code>.<value>" with "<new value>"
    replaceContentsOnlyFirst "<tag>.<code>.<value>" with "<new value>"
    replaceContentsExceptFirst "<tag>.<code>.<value>" with "<new value>"
    Exemple : replaceContents "245.h.[Journal]" with "[Book]"
    Remplace les chaînes correspondantes (ou chaque instance de la chaîne de caractères correspondante dans le premier sous-champ correspondant ou bien toutes les chaînes de caractères correspondantes dans tous les sous-champs correspondants sauf pour le premier sous-champ correspondant) <value> dans le sous-champ <code> du champ "<tag>" avec "<new value>". La chaîne ou la partie de la chaîne qui ne correspond pas à <value> n'est pas modifiée.
    replaceSubFieldContents "<tag>.<code>" with "<tag>.<code>"
    Exemple : replaceSubFieldContents "245.b" with "100.a"
    Remplace le contenu du sous-champ avec le contenu d'un autre sous-champ.
    Ajouter du texte dans des sous-champs
    prefix "<tag>.<code>" with "<value>"
    Exemple : prefix "035.b" with "(OCoLC)"
    Ajoute un préfixe à la valeur du sous-champ "<code>" dans le champ "<tag>".
    La nouvelle valeur sera <value> suivie par l'ancienne valeur.
    prefixSubField "<tag>.<code>" with "<source tag>.<source code>"
    Exemple : prefixSubField "910.a" with "906.a"
    Ajoute la valeur du sous-champ "<source code>" dans le champ "<source tag>" comme préfixe au sous-champ "<code>" dans le champ "<tag>".
    La nouvelle valeur sera la valeur du sous-champ "<source code>" dans le champ "<source tag>" suivie par l'ancienne valeur.
    suffix "<tag>.<code>" with "<value>"
    Exemple : suffix "035.b" with "(OCoLC)"
    Ajoute un suffixe au sous-champ "<code>" dans le champ "<tag>".
    La nouvelle valeur sera l'ancienne valeur suivie par <value>.
    suffixSubField "<"<tag>"code>" with "<source tag>.<source code>"
    Exemple : suffixSubField "910.a" with "907.c"
    Ajoute la valeur du sous-champ "<source code>" dans le champ "<source tag>" comme suffixe au sous-champ "<code>" dans le champ "<tag>".
    La nouvelle valeur sera l'ancienne valeur suivie de la valeur du sous-champ "<source code>" dans le champ "<source tag>".
    Maintenir les informations de l'agence dans des notices bibliographiques et d'autorité
    Par exemple, cette syntaxe peut être utilisée dans les règles de normalisation qui sont sélectionnées dans la Liste des tâches de configuration des métadonnées bibliographiques MARC 21 pour normaliser les notices bibliographiques de la Zone réseau lors de leur enregistrement.
    Cette fonctionnalité est en construction. Pour activer cette syntaxe, contactez le Support Ex Libris.
    addCreatingAgency "<tag>.<code>"
    Exemple : addCreatingAgency "040.a"
    Ajoute le code ISIL de l'agence de création au sous-champ "<code>" dans le champ "<tag>".
    addModifyingAgency "<tag>.<code>"
    Exemple : addModifyingAgency "040.d"
    Remplace le code ISIL de l'agence à l'origine de la modification au sous-champ "<code>" dans le champ "<tag>". S'il existe déjà une agence à l'origine de la modification dans "<tag>.<code>", ceci ajoute un autre code d'agence ISIL.
    replaceModifyingAgency "<tag>.<code>"
    Exemple : replaceModifyingAgency "040.d"
    Remplace le code ISIL de l'agence à l'origine de la modification au sous-champ "<code>" dans le champ "<tag>". S'il existe déjà des agences à l'origine de la modification dans "<tag>.<code>", elles sont toutes remplacées.
    Couper les sous-champs splitSubField "<tag>.{ind1,ind2}.<code>.<delimiter>" to "<tag>.{<ind1>,<ind2>}.<code>" addSeq "<code>"
    Exemple 1 : splitSubField "866.a.;" to "555.{0,0}.a" addSeq "8"
    Exemple 2 : splitSubField "555.a. – " to "859.{0,0}.a" addSeq "8"
    Exemple 3 : splitSubField "859.a.\\\\."
    Exemple 4 : splitSubField "999.a.;" to "555.a" addSeq "8"
    Cette étiquette est obligatoire.
    Les indicateurs sont optionnels.
    Comme la coupure a lieu au niveau du sous-champ, le code est obligatoire.
    Le séparateur peut être n'importe quelle chaîne. Si aucun séparateur n'existe, le sous-champ est copié en entier comme première (et unique) occurrence et la séquence est ajoutée.
    Le composant to est optionnel. S'il est précisé, plusieurs occurrences du code to sont créés, chacune contenant les données jusqu'au séparateur. Voir les exemples 1 et 2. Si le composant to n'est pas précisé, le sous-champ est divisé selon les mêmes sous-champs supplémentaires dans le même champ, comme indiqué dans l'exemple 3.
    Le composant addSeq est optionnel. Il n'est pas important si le composant to n'est pas précisé. Lorsque le composant addSeq est renseigné, le sous-champ avec la séquence sera ajouté comme dans l'exemple 1. Si le sous-champ existe déjà dans le champ original, une séquence (commençant par un point) est ajoutée à ce champ comme indiqué dans l'exemple 2.

    Jokers et caractères spéciaux

    Un caractère dièse (#) au début d'une ligne indique que le reste de la ligne correspond à un commentaire et doit être ignoré lors du traitement de la règle.
    L'astérisque (*) est utilisé pour correspondre à n'importe quelle chaîne de caractères, y compris une chaîne vide. Par exemple, "<tag>.<*>.<value>" s'applique à tous les sous-champs de l'étiquette <tag> dont la valeur est <value>. * est "gourmand", donc il assortit autant de caractères que possible dans la chaîne de caractères. Par exemple, si vous avez une chaîne de caractères "a b c b d b e", le motif "b*b" assortit "b c b d b", et non pas seulement "b c b".
    Les indicateurs vides (mais pas les champs ou sous-champs) sont indiqués par un tiret (-). Par exemple, "<tag> {-,<ind2>}" renvoie tous les champs dans lesquels l'étiquette MARC est <tag>, le premier indicateur n'est pas défini et le deuxième indicateur est <ind2>.
    Si le texte d'un sous-champ contient un point, utilisez quatre barres obliques inversées pour compléter le point. Par exemple :
    rule "Replace 1 v. to Leaves $$a (unconditional)"
    when
    (TRUE)
    then
    replaceContents "300.a.1 v\\\\." with "Leaves"
    end
    Des guillemets doubles peuvent être utilisés dans des conditions (uniquement). Pour utiliser des guillemets doubles dans une condition, utilisez des guillemets simples pour encadrer du texte dans la règle (') à la place des guillemets doubles ("). De cette manière, vous pouvez utiliser des guillemets doubles à l'intérieur d'un texte à la suite de deux barres obliques inversées (\\).
    rule "populate 008 7-10 2016"
    when
    (exists '245.{*, }.c.\\"')
    then
    replaceControlContents "008.{7,4}" with "double quote"
    end
    Des dates en hébreu peuvent être utilisées dans les conditions (uniquement). (l'Hébreu se lit de droite à gauche, de telle sorte que les deux barres obliques inversées dans l'exemple suivant se trouvent avant les guillemets doubles)
    rule "populate 008 7-10 2016"
    when
    ((exists '260.{*, }.c.תשע\\"ו') OR (exists '264.{*, }.c.תשע\\"ו'))
    then
    replaceControlContents "008.{7,4}" with "2016"
    end
    • Des caractères spéciaux ne peuvent pas être utilisés comme premier caractère d'une condition ou d'une valeur.
    • Pour utiliser une barre oblique inversée littéralement (\), faites-la précéder d'une autre barre oblique inversée : \\. De même, pour utiliser un astérisque littéralement, faites-le précéder d'une barre oblique inversée.
    • Utilisez quatre barres obliques inversées (\\\\) pour utiliser un point. Lorsque le point est immédiatement suivi d'un autre caractère, il n'a pas besoin d'être précédé par quatre barres obliques inversées (tel que dans addField "907.a.F.L.T\\\\."). Toutefois, la meilleure pratique est de toujours utiliser les quatre barres obliques inversées dans les règles de normalisation pour garantir les meilleurs résultats possibles en fonction des résultats désirés. Voir les exemples suivants.
    • Comme mentionné ci-dessus, si des guillemets doubles sont utilisés dans une condition (uniquement) qui est citée à l'aide de guillemets simples ou si des guillemets simples sont utilisés dans une condition qui est citée à l'aide de guillemets simples, faites-les précéder de deux barres obliques inversées.
    • Dans les cas où la barre verticale fait partie de la condition, faites-la précéder de quatre barres obliques inversées (\\\\), par exemple : removeField "866" if (exists "866.8.0\\\\|99") Ceci est nécessaire uniquement si vous utilisez le symbole de la barre verticale dans la condition.

    Exemple : Utiliser un point dans une règle de normalisation avec replaceContents

    Exemple de notice avec des points :
    245 00 $$a Feminist literary theory. : $$b a reader / $$c edited by Mary Eagleton.
    246 0# $$a F.L.T.
    Règle de normalisation pour l'exemple de notice ci-dessus :
    rule "remove the periods in 245 and 246 subfield a (and replace periods with nothing); precede period with four backslashes"
    when
    (TRUE)
    then
    replaceContents "245.a.\\\\." with ""
    replaceContents "246.a.\\\\." with ""
    end
    Voir le schéma ci-dessous pour les exemples "avant" et "après".
    Exemples Avant et Après

    Exemple : Utiliser un point dans une règle de normalisation avec addField

    Ci-dessous est un exemple de notice à laquelle des points doivent être ajoutés.
    906 $$a Architecture.
    907 $$a F.L.T.
    Ci-dessous est une règle de normalisation pour l'exemple de notice ci-dessous en utilisant la meilleure méthode qui est de toujours ajouter les barres :
    rule "Add field 906 with text Architecture and period at end and also add field 907 with F.L.T."
    salience 100
    when
    TRUE
    then
    addField "906.a.Architecture\\\\."
    addField "907.a.F\\\\.L\\\\.T\\\\."
    end
    Voir le schéma ci-dessous pour les exemples de notice "avant" et "après".
    Exemples Avant et Après

    Exemple de règle de normalisation

    Pour une liste de plus de 50 exemples de règles de normalisation et d'autres documents sur les règles de normalisation, voir Règles de normalisation.
    • Was this article helpful?