Avatar billede edbrian Nybegynder
08. marts 2002 - 10:50 Der er 17 kommentarer og
1 løsning

specielle characters

Hej alle

Jeg sidder, og skal have hentet specielle karakterer fra min XML-filind i mit xslt-sheet, men hvordan gør jeg ??
f.eks skal jeg have hentet følgende værdi:
<NAVN>BANG & OLUFSEN</NAVN>

og bruger:
<fo:block><xsl:value-of select="NAVN"/></fo:block>
Avatar billede edbrian Nybegynder
08. marts 2002 - 10:52 #1
det er følgende tegn, jeg skal have med: &  <  >
Avatar billede a1a1 Novice
08. marts 2002 - 10:59 #2
Du skal bruge &#38; IKKE &amp; (som ellers også er et & tegn), hvis du bruger &#VÆRDI; virker det
Avatar billede a1a1 Novice
08. marts 2002 - 11:00 #3
altid til spc. tegn også æ ø å
Avatar billede edbrian Nybegynder
08. marts 2002 - 11:04 #4
jeg kan ikke ændre specialtegnet i min xml-fil - det er output fra mainframe...
Avatar billede a1a1 Novice
08. marts 2002 - 11:09 #5
tja så har du et problem.....

IE 6 vil ikke engang åbne mine med spc. tegn i, den siger ulovlige tegn.
Avatar billede janegil Nybegynder
08. marts 2002 - 12:00 #6
Hvis du kan få overtalt mainframen til å produsere:

<NAVN><![CDATA[Bang & Olufsen]]></NAVN>

?

(Og ellers får du vel UNICODE-støtte på de store IBM'ene nå ved å kjøre Java på dem?)
Avatar billede getalife Nybegynder
08. marts 2002 - 12:01 #7
Parser du det igennem noget ASP eller PHP?
Avatar billede janegil Nybegynder
08. marts 2002 - 12:02 #8
a1:
Hvorfor ikke &amp; ? Jeg trodde &amp; og &lt; var blant de svært få characters entities man skulle bruke i XML?

XMetal-editoren produserer
<NAVN>&amp; &lt; &gt;&#x00E6;&#x00F8;&#x00E5;</NAVN>
hvis jeg skriver
& < >æøå
Avatar billede getalife Nybegynder
08. marts 2002 - 12:04 #9
Jeg har heller aldrig haft problemer med &amp; , &lt; og &gt;
Avatar billede janegil Nybegynder
08. marts 2002 - 12:05 #10
Aner du hvilket tegnsett mainframen din bruker? Mere sannsynlig ISO-8859-1 enn UTF-8, så du skal spesifisere encoding i XML-output fra mainframe:

<?xml version="1.0" encoding="ISO-8859-1"?>
Avatar billede a1a1 Novice
08. marts 2002 - 12:12 #11
og det dur så :)
Avatar billede a1a1 Novice
08. marts 2002 - 12:15 #12
...dog kun med æ ø og å

hvordn så med & tegn...:?
Avatar billede edbrian Nybegynder
08. marts 2002 - 12:18 #13
præcist!!! - hvad med & tegnet ?? :=)
- ellers må jeg give pointene til janegil
- og jeg parser det med Antenna House XSL Formatter (www.antennahouse.com) (et dyrt men godt værktøj)
Avatar billede a1a1 Novice
08. marts 2002 - 12:22 #14
<![CDATA[Bang & Olufsen]]>
virker....
Avatar billede edbrian Nybegynder
08. marts 2002 - 12:23 #15
a1>> I know, I know.....
Avatar billede janegil Nybegynder
08. marts 2002 - 12:40 #16
&-tegnet er ikke et spørsmål om hvilken koding som brukes. (Og det kodes faktisk likt i de fleste kodinger.)

'Problemet' med "&" er at det er markup som innleder en entitet. Så når du vil ha et bokstavlig "&" må det gjøres via omveier, fx ved å bruke "&amp;" eller "<![CDATA[&]]>".
Avatar billede edbrian Nybegynder
08. marts 2002 - 13:52 #17
det virker bare som overkill at bruge en C-data selection hver gang man kan riskere at løbe ind i specielle karakterer.... - vores XML-fil er i forvejen ret stor (omkring 8 mb)
Avatar billede janegil Nybegynder
08. marts 2002 - 14:17 #18
Vel, med standard XSL/T transformasjon eller standard XML-parser, så kan du ikke slippe unna med
<NAVN>B&O</NAVN>

Hele sjarmen med XML er at du kan bruke standardverktøy, så du har ikke lyst til å skrive din egen parser. Dermed må du enten sette CDATA 'overalt', eller få byttet ut "&" med "&amp;" osv.
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