From: cyril vidal (cyr.vidal@wanadoo.fr)
Date: 28/12/2002 - 10:57
Bonjour,
ci-dessous un exemple qui devrait vous aider.
A partir d'un élément <figref ref="numero"/> dans mon fichier XML source, je
cherche à créer un document HTML
où il y aurait l'instruction
<span title="cliquer pour voir figure" style="cursor:hand;color:blue"
onmouseout="this.style.textDecoration='none'"
onmouseover="this.style.textDecoration='underline'"
onclick="PopupCentrer('numero',500,250,'menubar=no,scrollbar=yes,statusbar=n
o,resizable=yes')">numero</span>
Donc qui m'ouvrirait un pop-up en passant la valeur de l'attribut ref de
l'élément <figref> comme paramètre réel dans ma fonction d'affichage de
popup.
Pour cela:
1°) Commencer par définir la fonction PopupCentrer dans le document HTML,
via XSL, c'est assez simple:
sur le template dont le pattern est statisfait par le noeud racine
(<xsl:template match="/"), on définit une balise <script> sous <html> et
<head> qui contient
la définition de notre fonction (ici javascript).
2°) Une fois sur la règle dont le pattern est satisfait par le noeud du
document source contenant l'information (ici, FIGREF), on appelle la
fonction, en passant le paramètre sous la forme d'une expression Xpath (ici,
on utilise un attribut interpolé pour plus de facilité d'écriture).
Pour vous, s'il s'agit d'afficher une image, vous devriez vraisemblablement
changer le xml en <image src="source"/> et à appeler alors le template
suivant:
<xsl:template match="image">
<span
onclick="PopupCentrer('{@src}',500,250,'menubar=no,scrollbar=yes,statusbar=n
o,resizable=yes')"
onmouseover="this.style.textDecoration='underline'"
onmouseout="this.style.textDecoration='none'"
style="cursor:hand;color:blue" title="cliquer pour voir
figure"><xsl:value-of select="@src"/><xsl:text> </xsl:text></span>
</xsl:template>
et mofidier également la fonction javascript en conséquence.
****************
Document XML (extrait)
****************
<T2>
<T2T>DOCUMENTATION</T2T>
<P>Figure <FIGREF REF="02"/></P></T2></T1>
<T1>
<T1T>PROCEDURE D'EXECUTION</T1T>
<T2>
*************
Feuille XSLT (extrait)
*************
<xsl:template match="/>
<html>
<head>
<script>
function PopupCentrer(page,largeur,hauteur,options) {
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
window.open("figures/fig"+page+".html","","top="+top+",left="+left+",width="
+largeur+",height="+hauteur+","+options);
}
</script>
</head>
</html>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="FIGREF">
<span
onclick="PopupCentrer('{@REF}',500,250,'menubar=no,scrollbar=yes,statusbar=n
o,resizable=yes')"
onmouseover="this.style.textDecoration='underline'"
onmouseout="this.style.textDecoration='none'"
style="cursor:hand;color:blue" title="cliquer pour voir
figure"><xsl:value-of select="@REF"/><xsl:text> </xsl:text></span>
</xsl:template>
Cordialement,
Cyril.
----- Original Message -----
From: "thierry pilet" <tpilet@geomatic.ch>
To: <xml-tech@xmlfr.org>
Sent: Friday, December 27, 2002 10:48 PM
Subject: [xml-tech] Ouverture d'une pop-up
> Je suis nouveau en xsl...
>
> J'ai un tableau avec des données dont une cellule contient une image.
>
> Il s'agit d'une vignette.
>
> Lors d'un click sur cette image , on affiche l'image en plus grand.
>
> J'aimerais que lors du click on ouvre une nouvelle fenêtre avec l'image
...
>
> Comment faire?
>
>
> --------------------------------------------------------------------------
--------
> Visitez http://www.swissgeo.ch
> --------------------------------------------------------------------------
--------
> Thierry Pilet Tel. ++41 21 651 30 32
> Geomatic Ingenierie ++41 21 651 30 00
> Ch. des Croisettes 26-28 Fax ++41 21 651 30 35
> Mobile: ++41 76 325 69 20
> CH-1066 Epalinges E-M tpilet@geomatic.ch
> site web : www.geomatic.ch
>
> plan dynamique:
> tpilet@geomatic.ch;269933">http://www.swissgeo.ch/mailit.php?tpilet@geomatic.ch;269933
>
>
> --------------------------------------------------------------------------
---------
> Geomatic Ingenierie: la maitrise de l'information geographique
> --------------------------------------------------------------------------
---------
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|