26. august 2003 - 17:06Der er
9 kommentarer og 1 løsning
XSLT, JavaScript, #10; problem
Jeg håber spørgsmålet er placeres i den rigtige kategori!
Jeh har en XSL transformation der danner en html fil med bl.a. noget sciptkode.
Uddrag fra xsl-fil: <xsl:attribute name="onClick">openHlpWindow('','', '<xsl:value-of select="."/>', '<xsl:value-of select="help"/>');return false;</xsl:attribute>
Dette bliver så ex. transformeret til følgende html kode: <A class=ingen onclick="openHlpWindow('','', 'Har du indsendt virksomhedsskema på edb-medium?', 'Hvis du har indsendt virksomhedsskema S569, skal du vælge Ja i feltet her. ');return false;" href="java script:void()">
Dette giver så en 'unterminated string constant' fejl under visningen hvilket skyldes tegnet (linieskift)
Jeg formoder det ikke må være en del af parameteren til JavaScript kaldet - men hvordan kan man undgå dette? (jeg kan ikke fjerne alle 'linie skift' fra data/xml filen!!)
Jeg har prøvet forskellige indstillinger af xsl:output method og encoding i xsl filen, men uden held. Kan man måske indlæse tekstværdien i en variabel i xsl'en og så sende den men som parameter?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Altså, du får ut en som du ikke selv har kodet, den kommer som en følge av linjeskift inne i help-elementet ditt? I så fall skulle det ikke være nødvendig å fjerne ALLE linjeskift fra XML-kilden, bare de som er inne i help-elementene.
atoft: Virker umiddelbart ikke! Dit forslag resultere i en masse fejl, siden kommer ikke engang frem. Det er en Servlet der udfører arbejdet og det er selvt servletten der fejler men en masse fejl!
<xsl:output method="html" omit-xml-declaration="yes" indent="no" encoding="UTF-8" /> - giver min oprindelige fejl
<xsl:output method="xml" omit-xml-declaration="yes" indent="no" encoding="UTF-8" /> - giver min oprindelige fejl
<xsl:output method="xml" omit-xml-declaration="yes" indent="no" /> - giver min oprindelige fejl
janegil: Jeg prøver ... men det flytter vel bare problematikken til et ny JavaScript funktionskald.
Jeg forståe ikke helt hvad du mener med at fjerne linieskift fra XSLT-filen!? Jeg kan vel ikke fjerne noget fra nedenstående linie i XSL-filen!?: <xsl:attribute name="onClick">openHlpWindow('','', '<xsl:value-of select="."/>', '<xsl:value-of select="normalize-space(help)"/>');return false;</xsl:attribute>
.. har også prøvet med: <xsl:attribute name="onClick">openHlpWindow('','', '<xsl:value-of select="."/>', normalize-space(<xsl:value-of select="help"/>));return false;</xsl:attribute>
.. men det giver nok ingen mening.
Jeg vil ikke til at skulle fjerne linieskift i XML filen. I XML filen har jeg et (langt) tag men en hjælpetekst, og i henne hjælpetekst er eventuelle linieskift jo helt ok hvis man ex. laver afsnit i sin hjælpetekst.
janegil: Undskyld det sene svar. Du hjalp mig på rette vej ... det endte med at jeg rettede Servletten så den retunerede '<br/>' i stedet for eller \n og det virker.
Synes godt om
Ny brugerNybegynder
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.