Menu du compte de l'utilisateur

  • Se connecter

Navigation principale

  • Accueil
  • Tous les CMS
  • Tutoriels
  • Livres Blanc
Accueil
Guide CMS

Fil d'Ariane

  • Accueil
  • Livres Blanc
  • Les systèmes de gestion de contenu : description, classification et évaluation
  • ANNEXES
  • 7. Exemples de fichiers de transformation pour la publication
  • 7.1. « presentation template » de Interwoven TeamSite Templating

Sélecteur de langue

  • Français
  • English

Navigation principale

  • Accueil
  • Tous les CMS
  • Tutoriels
  • Livres Blanc

Connexion utilisateur

CAPTCHA
Cette question sert à vérifier si vous êtes un visiteur humain ou non afin d'éviter les soumissions de pourriel (spam) automatisées.
  • Créer un nouveau compte
  • Réinitialiser votre mot de passe

Navigation du livre

  • Livres Blanc
    • Les systèmes de gestion de contenu : description, classification et évaluation
      • RESUME ET MOTS CLES
      • REMERCIEMENTS
      • INTRODUCTION
      • CONTEXTE, OBJECTIFS ET APPROCHE
      • A. LES SYSTEMES DE GESTION DE CONTENU (CMS)
      • B. EVALUATION D’UN SYSTEME DE GESTION DE CONTENU
      • CONCLUSION
      • ANNEXES
        • 1. Schémas de classes de documents
        • 2. Définition de Type de Document (XML)
        • 3. Méta données de Dublin Core
        • 4. Ressource Description Framework
        • 5. RDF Site Summary (RSS)
        • 6. Indicateurs des processus principaux de Microsoft SharePoint Portal Server 2001
        • 7. Exemples de fichiers de transformation pour la publication
          • 7.1. « presentation template » de Interwoven TeamSite Templating
          • 7.2. Squelette du Système de Publication pour l’Internet (SPIP)
        • 8. Modèle de données général d’un système de gestion de contenu
      • BIBLIOGRAPHIE

Guy Vigneault

7.1. « presentation template » de Interwoven TeamSite Templating

Par Guy Vigneault | 12:30 AM EDT, ven octobre 09, 2026

Il s’agit d’un langage de script Perl, gérant les éléments XML d’un fichier XML et produisant un fichier « Html » en sortie. L’intérêt de cet exemple est qu’il peut s’appliquer à l’exemple de fichier XML vu en annexe 2.4 « Exemple de QCM simple conforme au schéma QCM.xsd ». On y trouve à la fois du code de sélection, de mise en forme et d’ajout de comportement (javascript).

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<iw_pt>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<html>
<head><title>
<iw_iterate var='element' list='dcr.*'>
<iw_value name='element.titre'/>
</iw_iterate>
</title>
<![CDATA[
<script language="JavaScript">
<!--
// hide
if (self != top) top.location.href = self.location.href;
this.name="principale";
function affiche2(lien) {
newwin=window.open(lien,'autre','width=130,height=110,directories=no,location=no,men
ubar=no,resizable=yes,status=no,toolbar=no,titlebar=no,fullscreen=no');
}
var browser = navigator.appName;
var version = navigator.appVersion.charAt(0);
/* GameQuiz v1.0 by MCQ.
Copyright (c) of MCQ, 2003.
*/
var rep = new Array;
var faite = new Array;
var score = 0;
//changez les reponses ci-dessous (a, b, c, ou d) pour chacune des 10 questions
function Engine(question, reponse, estCorrecte) {
if (estCorrecte != "vrai") {
if (!faite[question]) {
faite[question] = -1;
alert("Faux ! Ton score est de : " + score + " ");
}
else {
alert("Encore cette question ? Vois la suivante !");
}
}
else {
if (!faite[question]) {
faite[question] = -1;
score++;
alert("Bien ! Ton score est de : " + score);
}
else {
alert("Encore cette question ? Vois la suivante !");
}
}
}
function NextLevel (nombreQuestion) {
if (score > nombreQuestion) {
alert("Tricheur !");
}
if (score >= nombreQuestion && score <= nombreQuestion) {
alert(score + "/" + nombreQuestion + ". Fort bien !");
}
if (score >= (nombreQuestion - ((nombreQuestion * 20)/100)) && score <
nombreQuestion) {
alert(score + "/" + nombreQuestion + ". Bien, mais... pas
parfait.");
}
if (score >= (nombreQuestion - ((nombreQuestion * 50)/100)) && score <
(nombreQuestion -((nombreQuestion * 20)/100)) ) {
alert(score + "/" + nombreQuestion + ". Assez bien, mais des
erreurs...");
}
if (score < (nombreQuestion / 2)) {
alert(score + "/" + nombreQuestion + ". Pas terrible... un autre
essai ?");
}
// ======================================================
// lignes qui suivent pour vider le formulaire:
faite = new Array;
score = 0;
//=======================================================
// pour IE4 ou Nettcape 3 et +
if(browser == "Microsoft Internet Explorer" && version >= 4 || browser ==
"Netscape" && version >= 3) {
document.quest.reset();
}
}
// -->
</script>
]]>
</head>
<body>
<h1><center><font color="green">
<iw_iterate var='element' list='dcr.*'>
<iw_value name='element.titre'/>
</iw_iterate>
</font></center></h1>
<![CDATA[ <!-- <br> --> ]]>
<hr></hr>
<p><font color="red" size="+1"><bold>
<iw_iterate var='element' list='dcr.*'>
<iw_value name='element.enTeteModeEmploi'/>
</iw_iterate>
</bold></font></p>
<p><font color="blue" size="+1"><bold>
<iw_iterate var='element' list='dcr.*'>
<iw_value name='element.enTeteDescription'/>
</iw_iterate>
</bold></font></p>
<hr></hr>
<p><NOSCRIPT>JavaScript est désactivé. Utilisez un autre navigateur plus
récent...</NOSCRIPT> </p>
<form name="quest">
<iw_perl><![CDATA[
use TeamSite::DCRnode;
my $compteur1 = '1';
foreach my $question
( iwpt_dcr_list( 'dcr.QCM.chapitre.question' ) )
{
my $compteur2 = '1';
my $compteur3 = 0;
my $questionLibelle = iwpt_dcr_value('question.questionLibelle' ) ;
iwpt_output( "
<li>
<font color='black' size='+1'><bold> $questionLibelle
? </bold></font>
</li>
<br>
"
);
my @alist = $question->get_node_list('reponse');
foreach my $reponse ( iwpt_dcr_list('question.reponse') )
{
my $reponseLibelle = iwpt_dcr_value('reponse.reponseLibelle') ;
# print $alist[$compteur3]->get_attrib('estCorrecte'), "\n";
my $estCorrecte = $alist[$compteur3]->get_attrib('estCorrecte');
iwpt_output ( "
<input type='radio' name=$compteur1 value=$compteur2
onclick='Engine($compteur1, this.value,
this.estCorrecte)' estCorrecte=$estCorrecte>
<font color='#FF0000'>&nbsp;$compteur2&nbsp;</font>
$reponseLibelle<br>
");
$compteur2 = $compteur2+1;
$compteur3 = $compteur3+1;
}
$compteur1= $compteur1 + 1;
}
$compteur1= $compteur1 - 1;
iwpt_output ("
<p> </p>
<p><input type='button' name='Resultats'
value='resultats' nombreQuestion='$compteur1'
onclick='NextLevel(this.nombreQuestion)'>
</p>
");
]]></iw_perl>
<p> </p>
<p> </p>
</form>
</body>
</html>
</iw_pt>

Liens transversaux de livre pour Livres Blanc

  • ‹ 7. Exemples de fichiers de transformation pour la publication
  • Haut
  • 7.2. Squelette du Système de Publication pour l’Internet (SPIP) ›
CMS

 

Tous les CMS

Tuto

 

Tutoriels

 

Livre Blanc

 

Livres Blanc

Propulsé par Drupal

Politique de confidentialite

Politique de confidentialite

Contenu récent

  • 11.4. Trouver des thèmes
    2 jours ago
  • 11.3. Télécharger et installer un module depuis Drupal.org
    2 jours ago
  • 11.2. Activer et désactiver le mode maintenance
    2 jours ago
  • 11.1. Trouver des modules
    2 jours ago
  • Chapitre 11. Étendre et personnaliser son site
    2 jours ago

Copyright

Creative Commons

Sauf mention contraire, Guide CMS © 2025 par Guy Vigneault est sous licence Creative Commons Attribution - Utilisation non commerciale - Partage dans les mêmes conditions 4.0 International

 

Creative Commons

Unless otherwise stated, Guide CMS © 2025 by Guy Vigneault is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

eGV Web