Avatar billede frederikschack Nybegynder
14. januar 2005 - 11:07 Der er 5 kommentarer og
1 løsning

Link i variabel

Jeg er nybegynder med hensyn til XSLT.

Hvis jeg indhenter en variabel, som bl.a. rummer et link "<a href=...", så vises linket ikke som et link, men som rå HTML kode.

Eksempel:
Vi mener at det er urimeligt at store aviser som f.eks. Politiken, først bringer nyheden om aflytningen af FN, et år efter at <a href="http://observer.guardian.co.uk/iraq/story/0,12239,905954,00.html" target="Observer">The Guardian</a> faktisk afslørede aflytningen.

Skulle vises som:
Vi mener at det er urimeligt at store aviser som f.eks. Politiken, først bringer nyheden om aflytningen af FN, et år efter at The Guardian faktisk afslørede aflytningen.
Avatar billede janegil Nybegynder
14. januar 2005 - 11:59 #1
Hvilket verktøy? "indhenter en variabel", det er visst ikke mulig med et XSLT stilark transformert i browseren, så du bruker IE skripting eller et eller annet serverspesifikt?
Avatar billede Slettet bruger
14. januar 2005 - 12:11 #2
Hvis du overfører (X)HTML til en parameter, vil det altid blive overført som CDATA dvs. dine "<" og ">" vil opføre sig som entities (&lt; + &gt;).

Hvis du bruger MSXML kan du omgås det ved at udskrive parameteren sådan her:

<xsl:value-of select="$link" disable-output-escaping="yes" />

- men det fungerer såvidt jeg ved kun i MSXML, da W3-specifikationen specificerer denne funktionalitet vha. "MAY". (Det er lidt mere tricky end beskerevet her, men humlen er at man vha. af denne attribut kan lave non-wellformed XML, hvilket ikke er hensigtsmæssigt...)

/CS
Avatar billede frederikschack Nybegynder
14. januar 2005 - 12:24 #3
Det er en XML fil, som vises med en XSL formatering, som nedenstående:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict">
<body style="font-family:Arial,helvetica,sans-serif;font-size:12pt;background-color:FBFDEB">
<xsl:for-each select="Censur_Nyt/censurnyt_news">
<div style="background-color:#FF4545;color:#FBFDEB;padding:10px;font-size:10pt;">
<div style="font-size: 30pt;">
<xsl:value-of select="heading" /><br/><br/>
</div>
<div style="font-size: 20pt;">
<xsl:value-of select="author" /><br/><br/>
</div>
<div style="font-size: 15pt;">
<xsl:value-of select="content" /><br/><br/>
</div>
</div>
</xsl:for-each>
</body>
</html>


Problemet er at content rummer links, som er formateret sådan her:
&lt;a href=&quot;http://www.information.dk/Indgang/VisArkiv.dna?pArtNo=20040302156538.txt&quot; target=&quot;Information2&quot;&gt;&quot;Jagten på Aristides tilhængere i Port-au-Prince’s gader har kostet en kvinde livet.&quot;&lt;/a&gt;
Avatar billede Slettet bruger
14. januar 2005 - 12:32 #4
Well, du kan jo prøve at udskrive "content" vha. disable-output-escaping, men jeg tvivler på at det virker.

Kan du ikke pille ved XML filen inden du transformerer? Så skulle et par Regular Expressions hurtigt kunne gøre det.

/CS
Avatar billede Slettet bruger
14. januar 2005 - 12:33 #5
Dvs. lave <content> om til ren XML/XHTML som du så istedet for "value-of" bruger "copy-of" til at udskrive.

/CS
Avatar billede frederikschack Nybegynder
14. januar 2005 - 12:49 #6
Hej, undskyld svartiden, jeg havde lige lavet en fejl så vores forum på CensurNyt.dk var nede, det blev jeg nødt til at rette.

greystate: Tak skal du have! Det virker perfekt!
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