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?
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.