Avatar billede babz Nybegynder
03. juni 2005 - 14:25 Der er 6 kommentarer og
2 løsninger

xsl, servervariabler med asp

Hej alle!

Jeg kunne godt tænke mig at lave en xsl-fil der gør brug af servervariabler via asp.

Jeg havde tænkt mig noget lignende dette:

<xsl:jada jada jada>
<%
Dim org = request.querystring("org")
IF org="testOrg" THEN
<xsl:value-of select="orgNavn"/>
ENDIF
%>
<xsl: mere jada>

Det mås jeg bare ikke siger min server.

Hvordan skal jeg skrue noget sådant sammen?

/Babz
Avatar billede atoft Nybegynder
03. juni 2005 - 14:31 #1
Husk at xsl også bare et simpelt xml document og derfor manipuleres som et almindeligt xmldocument. Derfor vil jeg foreslå du loader dit xsl ind i en xmldom og manipulerer den der.
Avatar billede medions Nybegynder
03. juni 2005 - 14:31 #2
Du sætter blot flg. i toppen af dit dokument:

<% Response.ContentType = "text/xml" %>

og så kalder du idn fil for filnavn.asp

//>Rune
Avatar billede babz Nybegynder
06. juni 2005 - 14:48 #3
medions-> <% Response.ContentType = "text/xml" %> er desværre ikke nok.

atoft-> jeg er klar over at det er et simpelt xml-dokument, og den xmlfil jeg skal transformere indeholder kun en knude.

xmldok:http://www.staff.hum.ku.dk/mikaelj/xml/test/person.xml
Avatar billede babz Nybegynder
06. juni 2005 - 14:53 #4
Det jeg er ude efter er at bruge eet stylesheet til samme person, med mulighed for at få vist hvilke organisationer/grupper vedkommende er medlem af...(se xmlfil).

Dette havde jeg forestillet mig klaret vha. servervariabler der fortæller mit xml-dokument hvilken udgave af stylesheetet jeg gerne vil bruge. Og da filen ikke er større synes jeg det er lidt overkill at stoppe skidtet ind i XMLDOM og bede asp om at formattere.

/Babz
Avatar billede Slettet bruger
07. juni 2005 - 00:46 #5
Det kan godt lade sig gøre - og Rune (medions) har sådan set ret... Sagen er bare den at du er nødt til at lade ASP håndtere både XML og XSLT, da du jo vil kunne lægge en parameter på... Det her har jeg fået til at virke:

Fil: "person.xml.asp"
---------------------
<% @language = "jscript" %>
<% Response.ContentType = "text/xml";

var sStylesheet = "test.asp?tlf=" + Request.QueryString("tlf");

%><?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="<%= sStylesheet %>" ?>
<ISIS xmlns="xml_person.isis.ku.dk">
<person>
    <personid>175007</personid>
    <kupersonid>21163</kupersonid>
    <rettet>2004-08-19T14:07:18.0000000+02:00</rettet>
    <fornavn>Christina Folke</fornavn>
    <efternavn>Ax</efternavn>
    <kontor>15.2.9</kontor>
    <telefon>35328273</telefon>
    <email>ax@hum.ku.dk</email>
    <linieskifttilhtml>1</linieskifttilhtml>
    <tilknytningsperiode>
        <start>1960-01-01</start>
        <slut>2020-01-01</slut>
        <status>nuværende</status>
    </tilknytningsperiode>
    <type>
        <beskrivelse>VIP</beskrivelse>
        <subtype>VIP-Adj</subtype>
    </type>
    <org gruppe="0" ejer="1">
        <orgid>23969</orgid>
        <kortnavn>SAXO-INST</kortnavn>
        <navn>Saxo-Instituttet - Arkæologi, Etnologi, Historie o</navn>
        <navnE>SAXO-Institute - Archaeology, Ethnology, Greek &amp; L</navnE>
        </org>
    <org gruppe="1" ejer="0">
        <orgid>27681</orgid>
        <kortnavn>test</kortnavn>
        <navn>test</navn>
        </org>
</person>
</ISIS>

Fil: "test.asp"
---------------
<% @language = "jscript" %>
<% Response.ContentType = "text/xml";
var sMode = Request.QueryString("tlf") == "ja" ? "visTlf" : "skjulTlf";

%><xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ISIS="xml_person.isis.ku.dk"
>
    <xsl:template match="/">
        <xsl:apply-templates select="ISIS:ISIS" mode="<%= sMode %>" />
    </xsl:template>
   
    <xsl:template match="ISIS:ISIS" mode="visTlf">
        <h1>Vis Telefon</h1>
    </xsl:template>
   
    <xsl:template match="ISIS:ISIS" mode="skjulTlf">
        <h1>Skjul Telefon</h1>
    </xsl:template>
</xsl:stylesheet>

/CS
Avatar billede Slettet bruger
07. juni 2005 - 00:48 #6
Men husk lige at når du vælger at lade IE transformere - hvad er det så lige man får, når man vælger "View source" på et XML dokument?

Yep - selve XML filen, hvilket betyder, at hvis det er fordi man ikke MÅ se telefonnummeret (dit eksempel) så er det ikke sådan her det skal løses.

/CS
Avatar billede babz Nybegynder
08. juni 2005 - 08:29 #7
Ahhhh. Der faldt tiøren.
Jeg var godt klar over at mine variabler skulle med fra xml til xsl, men kunne ikke få det til at virke.

Detter er jo den rigtigt pæne løsning.
Så er jeg jo blot ked af at jeg fik afvist medions....
Hvis han vil være så venlig kunne han jo smide endnu et svar, så skal han da have lidt point.

Ellers kan Greystate rende af med det hele.....ikke fordi det er en bondegård.....men hvad...60 point er ikke at foragte.

Tak for hjælpen greystate.....'stort ydmygt buk' herfra.

/B
Avatar billede medions Nybegynder
08. juni 2005 - 11:09 #8
Svar :)  og tak for din ærlighed!

//>Rune
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester