3. Tutoriel: Création d'un document modulaire

Un document modulaire est un document qui ne contient pas uniquement ses propres informations mais qui contient également des éléments inclus dans d'autres documents.

Voyons ceci si nous désirons ajouter la même information de copyright au bas de chaque page XHTML que nous créons. La première étape est de créer l'information de copyright dans un document séparé que nous nommons Copyright.html. La seconde étape est d'inclure cette information de copyright au bas de chaque page XHTML créées pendant ce tutoriel.

3.1. Création du document Copyright.html

Utiliser Fichier|Nouveau et choisir cette fois XHTML|Div (partie d'un document) comme modèle de document.

Ce modèle de document est un div (un container générique) contenant un élément p. A l'aide de la commande Edition|Remplacer, remplacer l'élément p par un élément address et ensuite saisir l'information de copyright. (Le signe © du copyright a été inséré en utilisant l' outil Caractères.)

A l'aide de la commande Edition|Insérer Avant, insérer un hr (une règle horizontale) avant l'élément address pour séparer visuellement l'information de copyright du corps de la page XHTML.

A l'aide de la commande Fichier|Enregistrer sous (ou Fichier|Enregistrer qui se comporte de la même façon que Fichier|Enregistrer sous pour un nouveau document), enregistrer ce document sous le nom Copyright.html à un endroit qui peut être accessible par toutes les pages XHTML que vous créerez.

3.2. Insertion d'une référence à Copyright.html dans la page XHTML

Cette procédure est très simple. Elle est identique à l'action de copier un élément d'un document et de le coller dans un autre document.

  1. Ouvrir avec XXE le document contenant l'élément que vous souhaitez référencer. Si ce document contenant cette élément est déjà ouvert dans XXE, faire apparaître simplement sa fenêtre.

  2. Sélectionner explicitement l'élément que vous souhaitez référencer.

  3. A l'aide du menu Edition de la barre de menus (pas le popup menu Edition), sélectionner le sous-menu Référence de document et choisir l'entrée Copier comme Référence (raccourci Ctrl-Maj-C ) A la différence de la commande Copier standard qui copie les données XML dans le presse-papier, cette commande spéciale copie une référence à un élément dans le presse-papier (un pointeur sur l'élément).

  4. Maintenant, aller à la fenêtre contenant le document modulaire.

  5. Sélectionner l'élément où vous souhaitez insérer la référence.

  6. Utiliser une des commandes standard Coller Avant, Coller ou Coller Après pour insérer la référence dans le document modulaire. Comme toujours les commandes Coller Avant, Coller ou Coller Après ne sont actives que si la DTD ou le schéma XML associé au document modulaire l'autorise.

Maintenant, appliquons cette procédure à notre exemple:

  1. La fenêtre contenant le document Copyright .html que nous souhaitons référencer est déjà affichée, nous n'avons rien à faire pour l'étape 1.

  2. Nous voulons référencer le document en entier, par conséquent nous devons sélectionner son élément racine. Cliquer sur le mot div dans la barre des noeuds pour faire ceci.

  3. Utiliser Ctrl-Maj-C pour copier une référence à div dans le presse-papier. Remarquez qu'en bas de la fenêtre de XXE, prêt de l'icône "Afficher le contenu du presse-papier", le mot div est affiché avec une couleur plus claire. Ceci signifie que le presse-papier contient une référence plutôt qu'une donnée XML normale.

  4. Passer à la fenêtre contenant notre page XHTML. XXE étant un éditeur multi-document. La page XHTML créée pendant ce tutoriel est toujours chargée dans l'éditeur mais elle est cachée au dessous de Copyright.html. Utiliser la commande Fenêtre|SansTitre.html : XHTML : XHTML pour retourner à la page XHTML.

  5. Sélectionner le dernier élément p à la fin de la page, par exemple, en cliquant simplement à droite du logo XMLmind logo. (Il y a plusieurs façons de sélectionner un noeud en utilisant le clavier ou la souris: Elles sont toutes décrites dans le chapitre suivant de ce guide utilisateur: Etre productif avec XXE)

  6. Utiliser la commande Coller Après (raccourci Ctrl-W ) pour coller la référence à div après l'élément p sélectionné. Une boite de dialogue apparaît pour vous informer que vous êtes sur le point de coller une référence à un élément externe et non une donnée ordinaire.

    Cliquer sur OK

La page XHTML ressemble à ceci maintenant.

Noter que l'information de copyright insérée à la fin de page est affichée avec un fond gris clair. Ceci montre que cette partie a été incluse à partir d'un autre document et par conséquent ne peut être édité dans cette fenêtre.

Cliquer n'importe où à l'intérieur de l'information de copyright et essayer de taper du texte: Aucun caractère n'est inséré (vous pouvez uniquement supprimer, couper ou remplacer la totalité de l'information de copyright: C'est le div qui n'est pas éditable pas l'élément parent body.)

Noter également que l'indicateur de noeud affiche les noeuds non éditable avec une couleur plus faible.

A la gauche de l'indicateur de noeud, le bouton avec une flèche vers la droite bascule vers la fenêtre du document inclus. Essayer et vous êtes ainsi capable d'éditer le document Copyright.xhtml.

En ayant le document Copyright.xhtml devant vous, utiliser le bouton avec une flèche vers la gauche qui se trouve à la gauche de l'indicateur de noeud pour revenir à la page XHTML crée pendant ce tutoriel.

3.3. Utilisation étendue de la commande "Copier comme Référence"

Supposons que vous deviez écrire un article sur des taxes mais vous ne souhaitez pas écrire directement les valeurs des différents taux de TVA utilisés dans les différentes pays de l'Europe, parce que vous savez que ces taux de TVA peuvent changer. Disons que vous avez déjà un document XML détaillant ces taux de TVA.

(dans ce tutoriel, créé le document des taux de TVA à partir de rien peut s'avérer fastidieux, c'est pourquoi vous trouverez le fichier tauxTVA.html dans le répertoire XXE_install_dir/doc/user/tutoriel/. Vous trouverez également dans ce répertoire: SansTitre.html, la page XHTML que nous créons, Copyright.html et xxe.gif, tous les fichiers utilisés dans ce tutoriel).

Ajouter un nouveau p à la fin de notre page XHTML et entrer "Le taux de TVA de la France est supérieur au taux de TVA de l'Allemagne" .

Maintenant nous avons besoin du fichier tauxTVA.html pour insérer les valeurs numériques des taux de TVA dans notre nouveau paragraphe

  1. Ouvrir tauxTVA.html dans XXE.

  2. Cliquer à l'intérieur le la cellule qui contient le taux de TVA de la France pour le sélectionner implicitement, puis utiliser Ctrl+Maj-C pour le copier comme référence.

  3. Passer à la fenêtre affichant notre page XHTML: SansTitre.html.

  4. Déplacer le curseur après "Le taux de TVA de la France"

  5. Coller la référence copiée en utilisant Ctrl-V.

Faire la même chose avec le taux de TVA de l'Allemagne.

La page XHTML ressemble à ceci.

Ceci a fonctionné facilement car :

  1. Chaque cellule de la table tauxTVA.html contient un simple élément span plutôt que du texte. Un élément span peut être inséré presque partout dans un document XHTML.

  2. Chaque span de la deuxième colonne est identifié en utilisant un attribut id : austria_vat, belgium_vat, etc.

Maintenant essayons s'insérer la table de TVA en entier dans notre page XHTML :

  1. Passer à la fenêtre tauxTVA.html.

  2. Sélectionner la table en entier, en cliquant par exemple sur le mot table de l'indicateur de noeud.

  3. Utiliser Ctrl+Maj-C pour copier la table comme une référence.

  4. Passer à la fenêtre affichant notre page XHTML: SansTitre.html.

  5. Sélectionner le dernier élément p ajouté.

  6. Coller la référence copiée de la table TVA après avoir sélectionner l'élément p.

Après avoir confirmé la boite de dialogue standard, cette boite de dialogue de message apparaît.

Cliquer sur Non. Qu'est que ceci signifie ?

La commande Copier comme Référence autorise la copie comme référence de tout élément, incluant même ceux n'ayant pas ID.

A moins que la référence copiée soit une référence à l'élément racine d'un document, cela signifie que la référence copiée est basée sur la position de l'élément comme le fils de son élément père , sur la position de l'élément père comme le fils de l'élément grand-père et ainsi de suite.

C'est ce que nous nommons un XPointer hiérarchique. Dans l'exemple ci-dessus, c'est "tauxTVA.html#element(/1/2/2)".

Coller une référence basée sur un XPointer hiérarchique n'est pas sans danger car si vous modifiez le document référencé, votre document le référençant peut pointé sur un autre élément que celui pour lequel la référence a été copier à l'origine.

C'est pour cela qu'XXE vous avertit à chaque fois que vous essayé de coller une référence basé sur un Xpointer hiérarchique.

Noter que vous n'aurez jamais la boite de dialogue ci-dessus lorsque vous collerez une référence à l'élément racine d'un document (exemple: "Copyright.html") ou lorsque vous collerez une régence qui utilise exclusivement un ID pour repérer l'élément (exemple: "tauxTVA.html#france_vat") car ces références sont considérées comme sans danger.

Maintenant, taper cette phrase à la fin du dernier élément p ajouté: "Noter que le taux de TVA de la France est inférieur au taux de TVA de l'Italie." et insérer le taux de TVA de l'Italie comme expliqué précédemment

Insérer le taux de TVA de la France dans la deuxième phase est plus simple car nous l'avons déjà coller dans notre page XHTML, nous n'avons pas besoin de repasser à la fenêtre tauxTVA.html :

  1. Sélectionner l'élément span précédemment collé dans notre page XHTML page qui contient le taux de TVA de la France. Par exemple sélectionner le implicitement en cliquant dessus.

  2. Ctrl+Maj-C pour le copier comme référence

  3. Cliquer dans la deuxième phase après "Noter que le taux de TVA de la France"

  4. Coller la référence copiée en utilisant Ctrl-V.

La page XHTML ressemble finalement à ceci.

Si vous sauvegardez cette page XHTML page ou si vous cliquer sur l'icône Vérifier validité situé en bas à gauche de la fenêtre d'XXE, vous trouverez qu'XXE prétend que la page XHTML est invalide: l'ID "france_vat" a déjà été définie (en fait, le même élément est inclus plusieurs fois depuis "file:/C:/Documents%20and%20Settings/olivier/My%20Documents/doc_xxe/user_fr_src/tutoriel/tauxTVA.html#france_vat") [cvc-id.2].

Vous pouvez ignorer cet avertissement sans danger. Il est mentionné quand une référence à un élément externe est copié plusieurs fois dans le même document modulaire. Dans le cas de notre exemple c'est la référence à l'élément externe span contenant le taux de TVA de la France qui est insérée deux fois.