From: thierry.schultz@dynaxis.net
Date: 03/04/2002 - 15:15
Anass Dalkah
<anass19@cara Pour : thierry.schultz@dynaxis.net
mail.com> cc :
Objet : Demande d'aide
03/04/02
18:14
Bonjour,
Désolé pour le dérangement, mais j'ai bloqué sur quelque
chose et ça concerne mon projet de fin d'etudes.
Bon d'abord les sources :
J'ai ma DTD :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT services (service*)>
<!ELEMENT service (nom)>
<!ELEMENT nom (#PCDATA)>
<!ATTLIST service
profil (1 | 2 | 3 | 4) "1"
lien CDATA #REQUIRED
>
<!ATTLIST services userlp (1 | 2 | 3 | 4) #IMPLIED>
J'ai mon fichier XML :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE services SYSTEM "C:\Downloads\Projets xml\Projet 4
\Services.dtd">
<?xml-stylesheet type="text/xsl" href="C:\Downloads\Projets
xml\Projet 4\Services.xslt"?>
<services>
<service lien="http://www.hotmail.com" profil="3">
<nom>Gestion mediatheque</nom>
</service>
<service lien="http://www.google.com" profil="2">
<nom>Gestion de congés</nom>
</service>
<service lien="http://cassrvsrgaed/web/pwd.asp"
profil="3">
<nom>Demande de pret</nom>
</service>
<service lien="http://www.developpez.com"
profil="4">
<nom>Suivi pupitreurs</nom>
</service>
<service lien="http://www.commentcamarche.com"
profil="1">
<nom>Suivi de budget</nom>
</service>
</services>
et ma feuille de style XSLT :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:log="http://www.royalairmaroc.co.ma">
<xsl:output method="html" media-type="text/html;
charset=ISO-8859-1"/>
<msxsl:script language="VBScript" implements-
prefix="log">
Function Verifprofil(a)
Verifprofil = CInt(a)
End Function
</msxsl:script>
<xsl:template match="/">
<html>
<head><title>Services</title></head>
<body TEXT="#0000ff" bgcolor="#fffff3">
<xsl:apply-templates select="services"/>
</body>
</html>
</xsl:template>
<xsl:template match="services">
<xsl:apply-templates select="service">
<xsl:sort select="./nom"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="service">
<xsl:if test="log:Verifprofil(string(@profil))
>= log:Verifprofil(string(//@userlp))">
<br><a href="{@lien}"><xsl:value-of
select="./nom"/></a></br>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
J'ai déclaré dans la DTD un attribut "userlp" pour
l'élément "services" qui est le n?ud racine (ROOT).
Et je l'ai mis en #IMPLIED, c'est pour pouvoir à chaque
fois le renseigner, puis le supprimer, et c'est ce que je
ne sais pas faire en ASP.
Ce que serait le mieux c'est de pouvoir passer un paramètre
d'une page ASP vers une variable de ma feuille XSLT, ex :
La XSLT suivante :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:template match="/">
<html>
<head><title>Services</title></head>
<body TEXT="#0000ff" bgcolor="#fffff3">
<xsl:apply-templates select="services"/>
</body>
</html>
</xsl:template>
<xsl:template match="services">
<xsl:apply-templates select="service">
<xsl:sort select="./nom"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="service">
<xsl:variable name="userp" select="4"/>
<xsl:if test="@profil = $userp">
<br><a href="{@lien}"><xsl:value-of
select="./nom"/></a></br>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
ce que je souhaite faire c'est de pouvoir passer la valeur
d'une variable de la page ASP vers la variable « userp » de
ma XSLT.
Sinon, depuis une page ASP, créer l'attribut « userlp »
pour le n?ud racine de mon fichier XML, lui affecter la
valeur d'une variable de la page (ASP) et si possible
sauvegarder le fichier sous un autre nom (nom2.xml), sinon
sous le même nom.
Merci d'avance.
Désolé pour le style d'écriture, au début c'était déstiné à
un ami.
______________________________________________________
Personnalise ton répondeur au 08 99 703 970 (*)
(*) 1,35 Euro/appel + 0,34 Euro/mn
--
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
|