Avatar billede ibrene Nybegynder
04. december 2002 - 12:41 Der er 11 kommentarer og
1 løsning

replace i xsl

Hejsa

Jeg har et xml style sheet XSL med et felt som dette:
<xsl:value-of select="fornavn"/>

Hvis nu jeg gerne ville søge og erstatte en char i denne string, så
ø blev til o
eller
' blev til ''

Kan dette lade sig gøre i et xsl eller skal jeg gøre det efter at koden er hente ex ind i PHP, ASP eller VB?
Avatar billede medions Nybegynder
04. december 2002 - 12:44 #1
Du kan gøre det vha. ASP!

Replace("Din tekst ' tek", "'", "''")

//>Rune
Avatar billede ibrene Nybegynder
04. december 2002 - 12:47 #2
Ja det ved jeg sku godt jeg kan... men det er ikke det som jeg har lyst til at gøre. Jeg har brug for at gøre det i min XSL-file
Avatar billede ehf Nybegynder
04. december 2002 - 12:48 #3
Du kan evt. bruge translate(string, string, string)

fx vil translate('abc', 'ac', 'xy') blive til xby.

/ehf
Avatar billede ehf Nybegynder
04. december 2002 - 12:50 #4
Dette refcard indeholder en liste af standard funktioner i xsl
http://www.mulberrytech.com/quickref/XSLTquickref.pdf
Avatar billede ibrene Nybegynder
04. december 2002 - 13:03 #5
Er det så noget alla dette man skal gøre?

<xsl:variable name="vcbeskrivelse2" select="translate(vcbeskrivelse,'A','#')" />
<xsl:value-of select="vcbeskrivelse2"/>
Avatar billede ibrene Nybegynder
04. december 2002 - 13:05 #6
vcbeskrivelse er et felt fra min XML file skulle jeg nok lige fortælle
Avatar billede ehf Nybegynder
04. december 2002 - 13:15 #7
Det kan det

<xsl:variable name="temp" select="translate(vcbeskrivelse,'A','#'/>
<xsl:value-of select="$temp"/>

Læg mærke til at variablen skal prefixes med $ når du spørger på den.
Avatar billede ibrene Nybegynder
04. december 2002 - 13:24 #8
Jeg har nu prøvet at lave følgende, men den kommer op nu og fortælle at den ikke vil vise siden. Hvis jeg kun "udskriver" vcadresse så kommer alle ud.
HAr du en ide ehf=

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="tforhandler/forhandler">
    <xsl:param name="temp" />
    <xsl:variable name="temp" select="translate(vcadresse,'A','#'/>
    <xsl:value-of select="$temp"/>
    <xsl:value-of select="vcadresse"/>
    <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>




<%

set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("GenerelForhandlerXML.xml"))

set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("PRODC030.xsl"))

Response.Write(xml.transformNode(xsl))
%>
Avatar billede ehf Nybegynder
04. december 2002 - 13:38 #9
Det ser ud som om du har en fejl i xsl, prøv med

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="tforhandler/forhandler">
    <xsl:variable name="temp" select="translate(vcadresse,'A','#'/>
    <xsl:value-of select="$temp"/>
    <xsl:value-of select="vcadresse"/>
    <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Avatar billede ibrene Nybegynder
04. december 2002 - 13:46 #10
Det er den rimeligt meget lige glad med og jeg har også ændret på følgende:
    <xsl:variable name="temp" select="translate(vcadresse,'A','#'/>
til  <xsl:variable name="temp" select="translate(vcadresse,'A','#')"/>

Dette fejlen nu, nogle ideer?
Keyword xsl:variable may not be used in namespace http://www.w3.org/TR/WD-xsl.
/xml/Default.asp, line 11

HAr du testet det du har lagt op, bare rent nysgerrig
Avatar billede ehf Nybegynder
04. december 2002 - 13:54 #11
Nej jeg har ikke testet det....

Men det har jeg nu.
Du skal skifte <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
ud med <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Avatar billede ibrene Nybegynder
04. december 2002 - 13:56 #12
Du er jo ganske enkelt genial... tusind tak for hjælpen.
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