Création d'un nouveau texte
Ce tutoriel présente une série de fonctions qu'un utilisateur possédant quelques connaissances informatiques peut définir afin de personnaliser les fonctionnalités de XS selon ses besoins.
Lorsqu'une fonction intégrée à XS est utilisée dans ce tutoriel, le nom de celle-là est suffisamment explicite pour permettre à l'utilisateur de comprendre son emploi et son effet.
Pour des opérations plus complexes, les fonctions décrites dans le tutoriel avancé seront utilisées.
Fonction NouveauTexte
Cette fonction ajoute au corpus un nouveau texte et lance l'édition de celui-ci.
function NouveauTexte
global corpus
-
texte = interpretXML:"<doc>
<head>
<name></name>
<date></date>
<author></author>
<comment></comment>
</head>
<body>(Entrez le corps du texte ici)</body>
</doc>"
EditerTexte:texte
if isDefined:corpus
corpus += texte
else
corpus = texte
end
Ligne 1: Déclaration de la fonction
Ligne 2: Déclare la variable corpus comme globale. Une variable globale est une variable propre au document. Par opposition, les autres variables utilisées dans une fonction (comme ici, la variable texte) sont effacées à la fin de l'exécution de la fonction.
Lignes 4 à 12: Crée la structure d'un nouveau texte vierge.
Ligne 14: Lance l'édition du nouveau texte. La fonction EditerTexte: est décrite à la ci-dessous.
Lignes 16 à 20: Si la variable corpus est déjà définie, ajoute le texte à celle-ci. Sinon, définit la variable corpus.
Édition de texte
Fonction EditerTexte:
-
function EditerTexte:(var)texte
-
editXML:texte withStyle:"Edition" synonyms:["Division" = "div", "Abréviation" = "abr"]
n = 1
for division = tagsIn:texte name:"div"
setValue:n forAttribute:"n" ofTag:division
n += 1
tagWordsIn:division withTagName:"w"
-
end
Ligne 1: Déclaration de la fonction. La variable texte est précédée du mot-clé (var), qui indique que la variable texte sera modifiée au cours de l'exécution de la fonction.
Ligne 3: Lance l'éditeur graphique avec le style Edition ainsi qu'une liste de noms de balises avec leurs correspondances. Ainsi, lorsque l'utilisateur choisira de définir p.ex. une "Division", une balise <div> sera insérée.
Lignes 5 à 10: Renumérote les divisions du texte en ajoutant un attribut n à chaque balise <div> (ligne 7). Ajoute également une balise <w> autour de chaque mot (ligne 9).