Copyright © 2023 Yves MARCOUX; dernière modification de cette page: 2023-02-09.
modèleXML3011
Yves MARCOUX – EBSI – Université de Montréal
modèleXML3011
modèleXML3011
Un modèleXML3011
est une représentation d’un modèle XML suffisamment
riche pour qu’il soit possible d’en dériver automatiquement une DTD commentée et un
tableau HTML navigable (i.e., contenant des liens internes) des différents éléments
du modèle. La DTD inclut des commentaires doc:
qu’un éditeur XML (comme
oXygen) est capable d’utiliser comme infobulles d’aide à la saisie.
Un modèleXML3011
est lui-même un fichier XML valide selon une DTD.
Travailler avec un modèleXML3011
est donc faire du XML au « deuxième
degré », dans le sens qu’il s’agit d’un document XML – lui-même conforme à une DTD
préexistante spécifique – décrivant le modèle XML que vous êtes en train de mettre
au point.
modèleXML3011
Avant de créer un modèleXML3011
, vous devriez d’abord créer un dossier
à l’emplacement de votre choix, qui contiendra tous les fichiers gravitant autour de
votre modèle. Nous utilisons D:\monModele
comme exemple.
Une fois ce dossier créé, il faut y créer à l’aide d’oXygen un nouveau document XML. Pour ce faire, lancez oXygen, puis effectuez les étapes suivantes :
Faites Fichier → Nouveau, puis choisissez Document XML.
Cochez la boîte Enregistrer sous et, comme
emplacement de sauvegarde, inscrivez l’URL (dérivée du chemin d’accès) du
dossier que vous venez de créer, suivie du nom de fichier
EPHN.xml
, où vous remplacerez EPHN
par le nom de l’élément de plus haut niveau que vous envisagez pour votre
modèle, par exemple memo.xml
.
Puisqu’il sert ici de nom de fichier, on s’assure d’inscrire le nom de
l’élément sans signe diacritique (accents, cédille, etc.). Ainsi, si
nous comptons utiliser l’élément mémo
comme élément de plus haut
niveau dans notre modèle, nous inscrivons
file:/D:/monModele/memo.xml
comme emplacement de sauvegarde :
Cliquez Personnaliser.
Vis-à-vis URL du schéma, collez l’adresse suivante :
https://cours.ebsi.umontreal.ca/INU3011/modeleXML3011-horiz/modeleXML3011.dtd
Vis-à-vis Élément racine, choisissez
modèleXML3011
.
Assurez-vous aussi que la boîte Ajouter du contenu optionnel est décochée et Ajouter la première particule de choix est cochée :
Enfin, cliquez Créer.
Le fichier de votre modèleXML3011
est maintenant créé
(D:\monModele\memo.xml
dans notre exemple).
Si vous voulez que le correcteur orthographique français d’oXygen soit actif
pendant la rédaction de votre modèleXML3011
, ajoutez la spécification
d’attribut xml:lang="fr"
à la balise de début de l’élément de plus haut
niveau (modèleXML3011
). La balise complète se lira donc comme
suit :
<modèleXML3011 xml:lang="fr">
Vous pouvez travailler à la rédaction de votre modèle dans oXygen en mode Auteur ou en mode Texte. Le mode Texte vous fait voir le XML brut de votre modèle, alors que le mode Auteur offre une présentation plus conviviale.
Si vous prévoyez travailler en mode Auteur, associez à votre document la feuille de style CSS appropriée, en faisant :
puis en sélectionnant l’onglet CSS et en collant l’adresse suivante comme URL :
https://cours.ebsi.umontreal.ca/INU3011/modeleXML3011-horiz/modeleXML3011.css
Une fois cette association faite, vous pouvez passer au mode Auteur en faisant :
Vous pouvez en tout temps pendant la rédaction de votre modèle passer d’un mode d’édition à l’autre grâce à cet item de menu.
L’édition d’un modèleXML3011
n’est pas différente de l’édition de
n’importe document XML valide. Tous les trucs et fonctions explorés lors du TP 2 peuvent être utilisés,
notamment :
Cette vue affiche en tout temps les éléments qu’il est possible d’insérer à la position du curseur.
Cette vue affiche en tout temps les attributs qu’il est possible de spécifier sur l’élément dans lequel le curseur se trouve.
De plus, vous pourrez trouver utile d’ouvrir la vue « Sommaire », qui vous permettra de naviguer plus facilement dans votre modèle :
Fenêtre → Afficher la vue → Sommaire
Le réglage suivant est recommandé en mode Auteur. Faites d’abord :
Options → Préférences → Éditeur → Modes d’édition → Auteur
puis, à la section Balises, comme « Mode d’affichage des balises », choisissez Toutes les balises, et cochez la boîte « Agencement compact des balises ».
Faites très régulièrement ré-indenter le code XML de votre document selon la structure hiérarchique des éléments, pour plus de clarté, en cliquant sur l’icône dans la barre d’outils (ou en faisant Ctrl+Maj+P).
La première chose à faire est de renseigner un élément membre
, sous
équipe
au début du document, avec vos prénom, nom et matricule UdeM.
Inscrivez ces informations dans les sous-éléments appropriés de membre
.
Si vous travaillez en équipe, ajoutez un deuxième élément membre
à la
suite du premier et renseignez-le avec les informations du coéquipier.
Dans l’élément contexteDuModèle
, inscrivez une courte description du
contexte de création du modèle : pour le compte de qui il a été développé, dans quel
but, quelles en sont les principales caractéristiques. Même si le contexte est
fictif, vous le présentez ici comme réel. Vous pouvez structurer la description en
paragraphes (para
) si nécessaire. Vous pouvez aussi utiliser des listes
(liste
), mettre l’emphase sur certains passages (em
) et
inclure des URL (url
), qui seront transformées en liens externes
cliquables dans le tableau navigable.
Dans l’élément EPHN
, inscrivez le nom de l’élément de plus haut niveau
de votre modèle. Normalement, ce nom sera identique au nom du fichier XML que vous
venez de créer (moins l’extension .xml
et sans éliminer d’éventuels
signes diacritiques). Dans notre exemple, ce sera mémo
.
Ensuite, pour chaque élément de votre modèle, renseignez un élément
élément
. Les informations doivent être fournies dans les
sous-éléments suivants, qui sont clairement identifiés et documentés par des
infobulles :
idGen
doit contenir le nom (ou identificateur générique) de
l’élément.
descriptionPourInfobulle
doit contenir la description de
l’élément, à utiliser comme infobulle d’aide à la saisie.
modèleContenuXML
doit contenir le modèle de contenu tel qu’il doit
se retrouver dans la déclaration ELEMENT
de l’élément (y compris
les parenthèses, sauf pour le modèle de contenu EMPTY
).
Le modèle de contenu n’est pas validé au moment où on l’inscrit dans l’élément
modèleContenuXML
. Il sera validé au moment de la production automatique des fichiers dérivés (voir ci-dessous).
exemplesContenuAttendu
(facultatif) doit contenir des exemples (au
moins deux sous-éléments exemple
) de contenu attendu pour
l’élément. Ces exemples sont particulièrement importants pour les éléments dont
le modèle de contenu est mixte ou (#PCDATA)
. Assurez-vous de les
fournir dans ces cas.
attributs
(facultatif) doit contenir les informations concernant
les éventuels attributs de l’élément. Voir ci-après.
Les attributs de l’élément, s’il y en a, sont décrits dans le dernier sous-élément
(facultatif) de l’élément élément
. Ce dernier sous-élément s’appelle
attributs
. Les informations pour chaque attribut sont inscrites dans
un sous-élément attribut
, contenant lui-même les sous-éléments
suivants, qui sont clairement identifiés et documentés par des infobulles :
nom
doit contenir le nom de l’attribut.
descriptionPourInfobulle
doit contenir la description de
l’attribut, à utiliser comme infobulle d’aide à la saisie.
Un des sous-éléments CDATA
, NMTOKEN
et
énuméré
, pour indiquer le type de l’attribut.
CDATA
et NMTOKEN
sont des élément vides, alors que
énuméré
doit être renseigné avec un sous-élément
valeurPossible
pour chacune des valeurs que peut prendre
l’attribut de type énuméré.
Un des sous-éléments REQUIRED
et IMPLIED
, indiquant
le caractère obligatoire (REQUIRED
) ou facultatif
(IMPLIED
) de l’attribut.
REQUIRED
et IMPLIED
sont des éléments vides.
exemplesValeurAttendue
(obligatoire, sauf si l’attribut est de
type énuméré
) doit contenir des exemples (au moins deux
sous-éléments exemple
) de valeur attendue pour l’attribut.
Tant pour un élément que pour un attribut, vous avez la possibilité d’inscrire des
commentaires de modélisation, à l’intention de quiconque doit comprendre votre
modèle (notamment, dans le cadre du cours, le correcteur), dans le sous-élément
facultatif commentairesDeModélisation
. Ces commentaires peuvent être
utiles, par exemple, pour expliquer une décision de modélisation. Vous pouvez
structurer ces commentaires en paragraphes (para
) si nécessaire. Vous
pouvez aussi utiliser des listes (liste
), mettre l’emphase sur certains
passages (em
) et inclure des URL (url
), qui seront
transformées en liens externes cliquables dans le tableau navigable.
Un des avantages de travailler avec un modèleXML3011
est qu’il est
possible, à partir de cette source unique, de produire automatiquement une DTD
commentée et un tableau navigable (i.e., contenant des liens internes) des éléments
du modèle.
Pour dériver ces fichiers :
Récupérez d’abord le projet oXygen modeleXML3011.xpr
à partir de
ce lien. Sauvegardez-le directement dans votre
dossier de modèle (D:\monModele
dans nos exemples). Assurez-vous
que le fichier est sauvegardé avec l’extension .xpr
(certains
navigateurs jouent des tours avec les extensions de fichiers sauvegardés);
renommez-le au besoin.
Ouvrez ensuite le projet dans oXygen en faisant :
puis en choisissant le fichierProjet → Ouvrir le projet
modeleXML3011.xpr
tout
juste téléchargé.Une fois le projet modeleXML3011.xpr
ouvert, pour produire les
fichiers dérivés correspondant à votre modèle, sélectionnez l’onglet d’oXygen où
se trouve votre modèleXML3011
, puis cliquez sur l’outil . La fenêtre
de configuration des scénarios de transformation s’ouvre :
Cochez la ou les cases correspondant au(x) fichier(s) dérivé(s) que vous voulez produire : DTD pour la DTD et/ou Table pour le tableau HTML navigable; puis cliquez sur Appliquer le/les scénario(s) associé(s).
Les fichiers dérivés sont créés dans le même dossier que le
modèleXML3011
(c’est-à-dire D:\monModele
dans nos
exemples). Le nom de fichier est le même que le modèleXML3011
(memo
dans nos exemples), mais avec l’extension .dtd
pour la DTD et .html
pour le tableau navigable. La DTD s’ouvre
automatiquement dans un nouvel onglet d’oXygen et le tableau, dans un nouvel onglet
de votre navigateur Web.
Erreurs dans les modèles de contenu
C’est au moment où la DTD s’ouvre dans oXygen que les modèles de contenu inscrits
dans les éléments modèleContenuXML
sont validés. Si une erreur est
détectée, oXygen affichera un message d’erreur au bas de l’onglet d’édition de la
DTD. Cliquer sur le message d’erreur pour aller à l’emplacement de l’erreur.
Certaines erreurs sont aussi signalées (en rouge) dans le tableau navigable, mais
plusieurs types d’erreur ne sont détectés que par oXygen, alors il vaut mieux se
fier aux messages d’oXygen.
Si des erreurs sont signalées, il faut les corriger dans les éléments
modèleContenuXML
correspondants, puis relancer la production automatique des fichiers dérivés.
Tant que le projet modeleXML3011.xpr
est ouvert, vous pouvez relancer
autant de fois que vous voulez les scénarios de transformation DTD et/ou Table. Si jamais ces scénarios ne sont
plus visibles, il suffit de rouvrir le projet modeleXML3011.xpr
.
modèleXML3011
Cet exemple se trouve au memo.xml
(faites
afficher la source pour voir le XML brut) :
<!DOCTYPE modèleXML3011 SYSTEM "https://cours.ebsi.umontreal.ca/INU3011/modeleXML3011-horiz/modeleXML3011.dtd"> <?xml-stylesheet type="text/css" href="https://cours.ebsi.umontreal.ca/INU3011/modeleXML3011-horiz/modeleXML3011.css"?> <modèleXML3011 xml:lang="fr"> <équipe> <membre> <prénom>Charles</prénom> <nomFamille>Goldenfarb</nomFamille> <matriculeUdeM>12345</matriculeUdeM> </membre> <membre> <prénom>John</prénom> <nomFamille>Bozak</nomFamille> <matriculeUdeM>23456</matriculeUdeM> </membre> </équipe> <contexteDuModèle> <para>Ce modèle définit une structure de mémos pour un système de rédaction, d’envoi et de gestion de mémos à l’EBSI <url>https://ebsi.umontreal.ca/</url>.</para> </contexteDuModèle> <EPHN>mémo</EPHN> <éléments> <élément> <idGen>mémo</idGen> <descriptionPourInfobulle>Un mémo de l’EBSI.</descriptionPourInfobulle> <modèleContenuXML>(priorité, auteur, date?, destinataires, sujet, cc?, corps?) </modèleContenuXML> <attributs> <attribut> <nom>statut</nom> <descriptionPourInfobulle>Statut du mémo: en détermine la visibilité. Si omis, la valeur "interne" est sous-entendue.</descriptionPourInfobulle> <énuméré> <valeurPossible>confidentiel</valeurPossible> <valeurPossible>interne</valeurPossible> <valeurPossible>public</valeurPossible> </énuméré> <IMPLIED/> <commentairesDeModélisation>Nous avons hésité entre "statut" et "visibilité" comme nom d’attribut, mais avons opté pour "statut" car c’est l’appellation la plus courante à l’EBSI.</commentairesDeModélisation> </attribut> <attribut> <nom>pj</nom> <descriptionPourInfobulle>Nom de fichier d’une éventuelle pièce jointe.</descriptionPourInfobulle> <CDATA/> <IMPLIED/> <exemplesValeurAttendue> <exemple>rapport.pdf</exemple> <exemple>photo-2019.jpeg</exemple> </exemplesValeurAttendue> </attribut> </attributs> </élément> <élément> <idGen>priorité</idGen> <descriptionPourInfobulle>Priorité d’envoi du mémo.</descriptionPourInfobulle> <modèleContenuXML>( normal | urgent | vrac )</modèleContenuXML> </élément> <élément> <idGen>normal</idGen> <descriptionPourInfobulle>Priorité normale d’envoi.</descriptionPourInfobulle> <modèleContenuXML>EMPTY</modèleContenuXML> </élément> <élément> <idGen>urgent</idGen> <descriptionPourInfobulle>Priorité maximale, pour messages urgents.</descriptionPourInfobulle> <modèleContenuXML>EMPTY</modèleContenuXML> </élément> <élément> <idGen>vrac</idGen> <descriptionPourInfobulle>Priorité minimale, pour envois en lot.</descriptionPourInfobulle> <modèleContenuXML>EMPTY</modèleContenuXML> </élément> <élément> <idGen>destinataires</idGen> <descriptionPourInfobulle>Liste des destinataires directs du mémo.</descriptionPourInfobulle> <modèleContenuXML>(nom+)</modèleContenuXML> </élément> <élément> <idGen>cc</idGen> <descriptionPourInfobulle>Liste des récipiendaires d’une copie conforme du mémo.</descriptionPourInfobulle> <modèleContenuXML>(nom+)</modèleContenuXML> </élément> <élément> <idGen>corps</idGen> <descriptionPourInfobulle>Corps du mémo (peut être omis si la ligne sujet suffit).</descriptionPourInfobulle> <modèleContenuXML>(par+)</modèleContenuXML> </élément> <élément> <idGen>auteur</idGen> <descriptionPourInfobulle>Nom de l’auteur du mémo, sous la forme Prénom Nom, sans ponctuation finale.</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA)</modèleContenuXML> <exemplesContenuAttendu> <exemple>Jean K. Vanier</exemple> <exemple>Marie Hélène Vanier</exemple> <exemple>Gilles-A. Tremblay</exemple> </exemplesContenuAttendu> <attributs> <attribut> <nom>courriel</nom> <descriptionPourInfobulle>Adresse courriel de l’auteur.</descriptionPourInfobulle> <CDATA/> <REQUIRED/> <exemplesValeurAttendue> <exemple>jack.rabbit@ebsi.com</exemple> <exemple>jean_valjean@victor.hugo.net</exemple> </exemplesValeurAttendue> <commentairesDeModélisation> <para>L’adresse courriel est exigée pour l’auteur d’un mémo, de sorte que le système de gestion des mémos puisse procéder à l’envoi par courriel aux récipiendaires dont l’adresse est précisée.</para> <para>En effet, les systèmes d’acheminement du courriel <em>exigent</em> de connaître l’adresse de l’expéditeur. L’adresse courriel de l’auteur est donc essentielle.</para> </commentairesDeModélisation> </attribut> </attributs> </élément> <élément> <idGen>date</idGen> <descriptionPourInfobulle>Date de rédaction du mémo, forme AAAA-MM-JJ.</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA)</modèleContenuXML> <exemplesContenuAttendu> <exemple>2020-09-30</exemple> <exemple>1970-01-01</exemple> </exemplesContenuAttendu> </élément> <élément> <idGen>sujet</idGen> <descriptionPourInfobulle>Sujet du mémo (habituellement sans ponctuation finale).</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA)</modèleContenuXML> <exemplesContenuAttendu> <exemple>Convocation à l’assemblée générale</exemple> <exemple>Nouvelle recrue</exemple> <exemple>Party de Noël !</exemple> </exemplesContenuAttendu> </élément> <élément> <idGen>nom</idGen> <descriptionPourInfobulle>Nom d’un récipiendaire du mémo, sous la forme Prénom Nom, sans ponctuation finale.</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA)</modèleContenuXML> <exemplesContenuAttendu> <exemple>Jean K. Vanier</exemple> <exemple>Marie Hélène Vanier</exemple> <exemple>Gilles-A. Tremblay</exemple> </exemplesContenuAttendu> <attributs> <attribut> <nom>courriel</nom> <descriptionPourInfobulle>Adresse courriel de la personne.</descriptionPourInfobulle> <CDATA/> <IMPLIED/> <exemplesValeurAttendue> <exemple>jack.rabbit@ebsi.com</exemple> <exemple>jean_valjean@victor.hugo.net</exemple> </exemplesValeurAttendue> </attribut> </attributs> </élément> <élément> <idGen>par</idGen> <descriptionPourInfobulle>Un paragraphe de texte; peut contenir des passages en emphase (sous-élément <em>).</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA | em)*</modèleContenuXML> <exemplesContenuAttendu> <exemple>L’Université s’est démarquée aux derniers Jeux du commerce.</exemple> <exemple>La situation est jugée <em>très</em> préoccupante.</exemple> </exemplesContenuAttendu> </élément> <élément> <idGen>em</idGen> <descriptionPourInfobulle>Passage en emphase.</descriptionPourInfobulle> <modèleContenuXML>(#PCDATA)</modèleContenuXML> <exemplesContenuAttendu> <exemple>ATTENTION :</exemple> <exemple>très</exemple> <exemple>sans prévenir le registrariat !</exemple> </exemplesContenuAttendu> </élément> </éléments> </modèleXML3011>
Cet exemple se trouve au memo.dtd
:
<?xml version="1.0" encoding="UTF-8"?> <!-- Modèle XML développé dans le cadre du cours INU3011 Documents structurés --> <!-- EBSI - Université de Montréal --> <!-- Équipe: John Bozak (23456), Charles Goldenfarb (12345). --> <!-- Élément de plus haut niveau: mémo --> <!-- Les commentaires commençant par "doc:" sont utilisés par oXygen comme documentation d’aide à la saisie. Ils sont affichés en infobulles pendant l’édition de documents conformes à la DTD lorsque le curseur survole un nom d’élément ou d’attribut. --> <!-- doc: Un mémo de l’EBSI. --> <!ELEMENT mémo (priorité, auteur, date?, destinataires, sujet, cc?, corps?)> <!-- doc: Nom de fichier d’une éventuelle pièce jointe. Exemples: rapport.pdf photo-2019.jpeg --> <!ATTLIST mémo pj CDATA #IMPLIED> <!-- doc: Statut du mémo: en détermine la visibilité. Si omis, la valeur "interne" est sous-entendue. --> <!ATTLIST mémo statut (confidentiel | interne | public) #IMPLIED> <!-- doc: Priorité d’envoi du mémo. --> <!ELEMENT priorité ( normal | urgent | vrac )> <!-- doc: Priorité normale d’envoi. --> <!ELEMENT normal EMPTY> <!-- doc: Priorité maximale, pour messages urgents. --> <!ELEMENT urgent EMPTY> <!-- doc: Priorité minimale, pour envois en lot. --> <!ELEMENT vrac EMPTY> <!-- doc: Liste des destinataires directs du mémo. --> <!ELEMENT destinataires (nom+)> <!-- doc: Liste des récipiendaires d’une copie conforme du mémo. --> <!ELEMENT cc (nom+)> <!-- doc: Corps du mémo (peut être omis si la ligne sujet suffit). --> <!ELEMENT corps (par+)> <!-- doc: Nom de l’auteur du mémo, sous la forme Prénom Nom, sans ponctuation finale. Exemples: Jean K. Vanier Marie Hélène Vanier Gilles-A. Tremblay --> <!ELEMENT auteur (#PCDATA)> <!-- doc: Adresse courriel de l’auteur. Exemples: jack.rabbit@ebsi.com jean_valjean@victor.hugo.net --> <!ATTLIST auteur courriel CDATA #REQUIRED> <!-- doc: Date de rédaction du mémo, forme AAAA-MM-JJ. Exemples: 2020-09-30 1970-01-01 --> <!ELEMENT date (#PCDATA)> <!-- doc: Sujet du mémo (habituellement sans ponctuation finale). Exemples: Convocation à l’assemblée générale Nouvelle recrue Party de Noël ! --> <!ELEMENT sujet (#PCDATA)> <!-- doc: Nom d’un récipiendaire du mémo, sous la forme Prénom Nom, sans ponctuation finale. Exemples: Jean K. Vanier Marie Hélène Vanier Gilles-A. Tremblay --> <!ELEMENT nom (#PCDATA)> <!-- doc: Adresse courriel de la personne. Exemples: jack.rabbit@ebsi.com jean_valjean@victor.hugo.net --> <!ATTLIST nom courriel CDATA #IMPLIED> <!-- doc: Un paragraphe de texte; peut contenir des passages en emphase (sous-élément <em>). Exemples: L’Université s’est démarquée aux derniers Jeux du commerce. La situation est jugée <em>très</em> préoccupante. --> <!ELEMENT par (#PCDATA | em)*> <!-- doc: Passage en emphase. Exemples: ATTENTION : très sans prévenir le registrariat ! --> <!ELEMENT em (#PCDATA)>
Cet exemple se trouve au memo.html
:
Ce modèle définit une structure de mémos pour un système de rédaction, d’envoi et de gestion de mémos à l’EBSI <https://ebsi.umontreal.ca/>.
élément: | Nom (idGen) | Modèle de contenu | Infobulle: courte description et, si applicable, règles d’écriture et au moins 2 exemples de contenus attendus | Commentaires de modélisation |
---|---|---|---|---|
attribut: | Nom de l’attribut | Type et obligatoire ou non | ||
élément: | mémo | (priorité, auteur, date?, destinataires, sujet, cc?, corps?) | Un mémo de l’EBSI. | |
attribut: | pj | CDATA #IMPLIED | Nom de fichier d’une éventuelle pièce jointe. Exemples: rapport.pdf photo-2019.jpeg |
|
attribut: | statut | (confidentiel | interne | public) #IMPLIED | Statut du mémo: en détermine la visibilité. Si omis, la valeur "interne" est sous-entendue. | Nous avons hésité entre "statut" et "visibilité" comme nom d’attribut, mais avons opté pour "statut" car c’est l’appellation la plus courante à l’EBSI. |
élément: | priorité | ( normal | urgent | vrac ) | Priorité d’envoi du mémo. | |
élément: | normal | EMPTY | Priorité normale d’envoi. | |
élément: | urgent | EMPTY | Priorité maximale, pour messages urgents. | |
élément: | vrac | EMPTY | Priorité minimale, pour envois en lot. | |
élément: | destinataires | (nom+) | Liste des destinataires directs du mémo. | |
élément: | cc | (nom+) | Liste des récipiendaires d’une copie conforme du mémo. | |
élément: | corps | (par+) | Corps du mémo (peut être omis si la ligne sujet suffit). | |
élément: | auteur | (#PCDATA) | Nom de l’auteur du mémo, sous la forme Prénom Nom, sans ponctuation finale. Exemples: Jean K. Vanier Marie Hélène Vanier Gilles-A. Tremblay |
|
attribut: | courriel | CDATA #REQUIRED | Adresse courriel de l’auteur. Exemples: jack.rabbit@ebsi.com jean_valjean@victor.hugo.net |
L’adresse courriel est exigée pour l’auteur d’un mémo, de sorte que le système de gestion des mémos puisse procéder à l’envoi par courriel aux récipiendaires dont l’adresse est précisée. En effet, les systèmes d’acheminement du courriel exigent de connaître l’adresse de l’expéditeur. L’adresse courriel de l’auteur est donc essentielle. |
élément: | date | (#PCDATA) | Date de rédaction du mémo, forme AAAA-MM-JJ. Exemples: 2020-09-30 1970-01-01 |
|
élément: | sujet | (#PCDATA) | Sujet du mémo (habituellement sans ponctuation finale). Exemples: Convocation à l’assemblée générale Nouvelle recrue Party de Noël ! |
|
élément: | nom | (#PCDATA) | Nom d’un récipiendaire du mémo, sous la forme Prénom Nom, sans ponctuation finale. Exemples: Jean K. Vanier Marie Hélène Vanier Gilles-A. Tremblay |
|
attribut: | courriel | CDATA #IMPLIED | Adresse courriel de la personne. Exemples: jack.rabbit@ebsi.com jean_valjean@victor.hugo.net |
|
élément: | par | (#PCDATA | em)* | Un paragraphe de texte; peut contenir des passages en emphase (sous-élément <em>). Exemples: L’Université s’est démarquée aux derniers Jeux du commerce. La situation est jugée <em>très</em> préoccupante. |
|
élément: | em | (#PCDATA) | Passage en emphase. Exemples: ATTENTION : très sans prévenir le registrariat ! |