Avatar billede tmo Nybegynder
08. november 2002 - 00:00 Der er 12 kommentarer og
2 løsninger

"&"

Hej

Jeg har en url tagget i xml: <XLINK side='http://content.karger.com/ProdukteDB/produkte.asp?Aktion=JournalHome&ProduktNr=227075&ContentOnly=false'>test</XLINK>

som jeg ikke kan transformere da den indeholder tegnet "&" bruger følgende:

<xsl:template match="XLINK">
<xsl:variable name="cr">
  <xsl:value-of disable-output-escaping="yes"    select="@side"/>
  </xsl:variable>
<a href="{$cr}" target="_blank">
<xsl:apply-templates/></a>
</xsl:template>
Avatar billede arne_v Ekspert
08. november 2002 - 00:05 #1
Har du prøvet med &amp; ?
Avatar billede janegil Nybegynder
08. november 2002 - 00:06 #2
Hvis XSL skal virke, er du nødt til å starte med velformet XML. Dvs:

<XLINK side='http://content.karger.com/ProdukteDB/produkte.asp?Aktion=JournalHome&amp;ProduktNr=227075&amp;ContentOnly=false'>test</XLINK>
Avatar billede tmo Nybegynder
08. november 2002 - 00:13 #3
Hej

Kan ikke bruger &amp; da data bliver indtastet i et inferface som er lavet i html. Her er problemet at hvis jeg skriver &amp;, gemmer dokument og åbner det står der &. janegill: wellformed??
Avatar billede arne_v Ekspert
08. november 2002 - 00:21 #4
Hvad med &amp;amp; ?

Det må blive gemt som &amp; !
Avatar billede arne_v Ekspert
08. november 2002 - 00:21 #5
Wellformed = overholder de basale XML regler
Avatar billede tmo Nybegynder
08. november 2002 - 00:23 #6
janagil: sorry læste ikke dit eksempel igennem:-(
Avatar billede tmo Nybegynder
08. november 2002 - 00:26 #7
ka ikke bruge  &amp;amp; Mit bruger interface er en browser, så når den læser &amp; skriver den &.
Avatar billede tmo Nybegynder
08. november 2002 - 00:27 #8
Har overvejet at lave en template der læser alle chars. Støder den på & erstattes det med &amp;
Avatar billede arne_v Ekspert
08. november 2002 - 00:29 #9
Hvis din browser gemmer "&amp;" som "&", så må den
vel også gemme "&amp;amp;" som "&amp;" - eller ?
Avatar billede tmo Nybegynder
08. november 2002 - 00:33 #10
ja, det gør den sikkert, men når man åbner en file med &amp; udskriver den &. Nedenstående kode er det der bilver gemt
<broedtekst>
TEST, TEST
&amp;amp;
</broedtekst>
Avatar billede tmo Nybegynder
08. november 2002 - 00:34 #11
Når jeg gemmer den samme fil igen bilver det til:
<broedtekst>
TEST, TEST
&
</broedtekst>
Avatar billede janegil Nybegynder
08. november 2002 - 10:04 #12
...du er nok kommet i feil forum. Problemet ditt ligger ikke i XSLT, men i å få din html UI til å lagre velformet XML.

Et alternativ til &amp; i URL'en, er å bruke URL-encoding i steder for XML-entitet. Dvs. %26, altså

<XLINK side='http://content.karger.com/ProdukteDB/produkte.asp?Aktion=JournalHome%26ProduktNr=227075%26ContentOnly=false'>test</XLINK>

Men det virker jo heller ikke, gir "invalid action" fra content.karger.com, i dette tilfellet er det en feil i HTTP-serveren. IIS 5, jeg trodde den klarte sånt? Jeg mener, jeg kjører selv IIS 5, og der fungerer http://landsbank.fo/index.cfm/20.html?F11=F11%26lang=fo
likt med
http://landsbank.fo/index.cfm/20.html?F11=F11&lang=fo
Avatar billede janegil Nybegynder
08. november 2002 - 10:30 #13
En XSLT template kan ikke erstatte tegnet & med noe som helst, fordi & er ikke noe tegn i XML, det er bare en byte i fila. Hvis & ikke etterfølges med amp; eller lignende, så er bytestrengen overhodet ikke noen tegnstreng.

Men ut fra det du sier om &amp, synes jeg det ser ut som om det fungerer, men at du blir forvirret av at IE viser &amp; som & . Høyreklikk og View Source i IE?
Avatar billede tmo Nybegynder
08. november 2002 - 12:01 #14
ok, janagil.
Såfremt man har et interface til at indtaste data i som bliver gemt i xml, skal man omforme & til &amp; når data gemmes. En del artikler indeholder nemlig & og en bruger af systemet skal helst kunne skrive & og ikke &amp;
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