---
title: "xml åäö"
type: "forum-thread"
url: "https://www.webforum.nu/amne/xml/53517-xml-åäö"
topic: "XML"
topic_url: "https://www.webforum.nu/amne/xml"
author: "Boogaloo"
published: "2002-09-17T12:06:05.000Z"
updated: "2002-09-17T14:55:29.000Z"
replies: 4
views: 1782
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/xml/53517-xml-åäö"
---

# xml åäö

## #1 — Boogaloo, 2002-09-17T12:06Z

Jag försöker att skriva ut åäö i en xmlfil.
Eftersom xml inte gillar dessa så använder jag mig utav &auml; osv.

När jag sedan försöker parsa denna via en t.ex. ie så säger den att det är inte giltig xml-kod.
Vad är det för fel?

Exempel på <http://ctrlalt.com/rss2.xml>

Permalänk: https://www.webforum.nu/p/53517

## #2 — jarvklo, 2002-09-17T13:17Z

De enda specialtecken - eller "entiteter" som det heter formellt - som finns inbyggda i XML är: &amp;amp; ("&"), &amp;lt; ("\<"), &amp;gt; ("\>"), &amp;apos; ("&apos;") och &amp;quot; (dubbelfnutt ;) ) 
Om du vill använda &amp;auml; osv, måste du deklarera dem i din DTD. 
Eftersom du inte gör det så "kräks" MSXML på din kod...

I xhtml har man löst problemet med en extern fil med entitetsdeklarationer (för teckenkodningen ISO-8859-1) som man inkluderar in i de olika DTD:erna så här:

Tag t.ex. <http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>.

Där skapar man först (nästan överst i koden) entiteten "HTMLlat1" som är en referens till filen "xhtml-lat1.ent" (alltså en "extern entitet") 

```
<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
```

och sedan använder man entiteten direkt  genom att skriva 

```
%HTMLlat1;
```

 vilket motsvarar att man inkluderar deklarationerna från filen "xhtml-lat1.ent" in i DTD:n

Filen xhtml-lat1.ent (finns på <http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent> )
innehåller deklarationer av teckenkoder, typ: 

```
<!ENTITY nbsp   "&amp;#160;"> <!-- no-break space = non-breaking space,
                                  U+00A0 ISOnum -->
<!ENTITY iexcl  "&amp;#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
<!ENTITY cent   "&amp;#162;"> <!-- cent sign, U+00A2 ISOnum -->
```

osv.
Du kan naturligtvis skippa hela inkluderings-joxet och lägga in \<!ENTITY...\>-deklarationer för de specialtecken du vill använda direkt i din DTD istället om du vill. ;)

BTW:
De numeriska teckenvärdena som definieras (#160 betyder teckenkod 160 decimalt) är enligt ISO-Latin-1 som jag har fått för mig stämmer överens med ISO-8859-1... Vill du ha dem kodade i Unicode eller något annat format måste du klura ut teckenvärdena "manuellt" ;)

Lycka till!

Permalänk: https://www.webforum.nu/p/787970

## #3 — Marcus E, 2002-09-17T13:51Z

Ett annat sätt är att ange vilken teckentabell som ska användas.

T.ex:
\<?xml version="1.0" encoding="ISO-8859-1"?\>

Då kan du använda alla tecken i den teckentabellen.

Permalänk: https://www.webforum.nu/p/787992

## #4 — Boogaloo, 2002-09-17T14:48Z

Jo fast om du kollar på koden som jag har så har jag angivit ISO-8859-1 som encoding.
Det är det som är så otroligt störande.

Permalänk: https://www.webforum.nu/p/788029

## #5 — Marcus E, 2002-09-17T14:55Z

Det är inte svenska tecken som är problemet. Om du byter ut &amp;ouml; mot ö för du ett annat problem.  Och det är att filen slutar tvärt.

Permalänk: https://www.webforum.nu/p/788034

---

Tråden på webben: https://www.webforum.nu/amne/xml/53517-xml-åäö
