---
title: "Första problemet.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/xml/5251-första-problemet"
topic: "XML"
topic_url: "https://www.webforum.nu/amne/xml"
author: "Hallgren"
published: "2002-01-25T11:54:00.000Z"
updated: "2002-01-28T00:15:00.000Z"
replies: 34
views: 1133
page: 1
pages: 2
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/5251-första-problemet"
---

# Första problemet..

_Sida 1 av 2._

## #1 — Hallgren, 2002-01-25T11:54Z

Yo!
Sitter och pillar lite med XML och CSS. Började lära mig för typ någon dag sedan och har nu stött på ett prob. Vissa som försöker kolla på mitt dokumentet får:

The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later. 

XML document must have a top level element. 

Anävnder följande kod...

```
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="varor.css"?>
<varor>
	<mobiltelefoner>
		<tillverkar namn="ericsson">Ericsson</tillverkar>
		<modell>Ericsson T39</modell>
		<artikel nr="1000">1000</artikel>
		<info>
T39m är utrustad med GPRS (General Packet Radio Services) för omedelbar 
Internetåtkomst och trådlös Bluetooth-teknik för sladdlös komfort. 
Till det kan du lägga en imponerande lista av användbara funktioner. 
Du får en effektiv och säker Internetåtkomst med T39:ans WAP-bläddrare 
1.2.1, eller med en laptop, eller handdator med hjälp av det inbyggda 
modemet i T39m. PIM-applikationerna (Personal Information Management) 
inkluderar en avancerad kalender och telefonbok.
		<pris>Pris: 5000</pris>
		</info>
		<tillverkar namn="siemens">Siemens</tillverkar>
		<modell>Siemens SL45</modell>
		<artikel nr="1001">1001</artikel>
		<info>
SL 45 är en av de första telefonerna med MP-3 spelare. Vad som 
skiljer ut den här produkten är att den har utbytbart MultiMediaCard
TM (MMC) som musiken lagras på. Genom att lansera en high-end produkt 
med elegans och högteknologiska funktioner blir Siemens GSM-portfölj 
komplett. SL 45 är inte bara en telefon. Med sin MP-3 spelare, utbyt 
bara MultiMediaCard TM (MMC), röstinspelning, mobil internet anslutning, 
adressbok/planeringskalender är den mycket, mycket mer. Med sin eleganta 
design är den en av de mest attraktiva produkterna på marknaden.
		<pris>Pris: 7000</pris>
		</info>
	</mobiltelefoner>
</varor>
```

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

## #2 — SPiN, 2002-01-25T18:31Z

Verkar mysko. Vilken webläsare kör dessa personer?

Det smidigaste är att formatera XMLen på servern, eftersom att många webläsare fortfarande inte stödjer XML.

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

## #3 — Hallgren, 2002-01-25T20:01Z

De använder IE 5.5+.

> Det smidigaste är att formatera XMLen på servern, eftersom att många webläsare fortfarande inte stödjer XML

Uh?

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

## #4 — SPiN, 2002-01-26T00:20Z

Ja, du omvandlar din XML till HTML! :)
Jag är tveksam att man kan göra det med CSS, utan man kanske måste använda XSL... Men du kan ju prova. :)

Du använder ASP eller?

```
<%
objXML = Server.CreateObject ( "Microsoft.XMLDOM" )
objCSS = Server.CreateObject ( "Microsoft.XMLDOM" )

objXML.Load ( "xmlen.xml" )
objXML.async = False
objCSS.Load ( "cssen.css" )
objCSS.async = False

Response.Write objXML.transformNode ( objCSS )
%>
```

Men som sagt, det verkar skumt att dom får dessa meddelanden om inte du får det.

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

## #5 — Hallgren, 2002-01-26T00:49Z

XSL e något jag kommer att komma in på lite längre och då kommer jag allt jaga fatt på dig, ;) dock så måste jag få detta att funka. 

Kan något testa att använda min koda, göra en enkel css och se om det funka?

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

## #6 — SPiN, 2002-01-26T08:30Z

Jag hinner tyvärr inte att testa just nu, men kan göra det senare när jag kommer hem.

Testade du min kod annars? Det är möjligt att det funkar, nämligen. :)

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

## #7 — jarvklo, 2002-01-26T10:01Z

> Jag är tveksam att man kan göra det med CSS, utan man kanske måste använda XSL...

Jodå, det går utmärkt... 

Jag knappade ihop följande CSS-fil åt dig:

```
varor {display:block;}
mobiltelefoner {display:block; border 1px solid black}
tillverkar {display:block;border:5px inset black;margin-top:10px}
modell {color:navy;}
modell:before {content:"Modell: "}
modell:after {content:" - ett bra val."}
artikel {color:black;}
artikel:before {content:" Artikelnummer: "}
artikel:after {content:"."}
info {display:block; color:maroon}
pris {color:teal; border: 1px solid maroon}
```

Koden är giltig CSS2, och ditt exempel finns upplagt för test på <http://jarvklo.net/xmlexempel/varor.xml> 

Jämför skillnaderna mellan Netscape 6.2 och Opera 6 (som gör "rätt") och MSIE 5.5 (som inte hanterar border-stilen inset och inte klarar av :before och :after) så ser du vad jag menar med att MSIE har ofullständigt CSS-stöd 

En annan sak man får tänka på, är att man verkligen lagrar XML-filen i den encoding man anger i XML-taggen om man har svenska tecken (åäö - typ) i sitt innehåll - Annars kan man få det felmeddelande du anger för att webbläsaren tolkar åäö "snett"...

och en tredje sak ;) som \*eventuellt\* kan spela in är att 

> XML document must have a top level element.

 tyder på att den som får felet jar en version av webbläsare som har validering av XML påslagen (om det nu är möjligt ;) ) och därför förväntar sig en \<!DOCTYPE i XML-dokumentet - \<!DOCTYPE anger ju vilket XML-element i dokumentet som är rot-element ;)

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

## #8 — Hallgren, 2002-01-26T17:56Z

Så problemet kan vara att jag inte har **doctype** i mitt xml dokument?

Hur skulle det se ut om jag placerar ut ett sånt? Förmodar att det inte räcker med \<!DOCTYPE bara. :)

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

## #9 — SPiN, 2002-01-26T18:13Z

Hm, det bästa är väl om du skriver en full DTD för ditt XML-dokument, är inte säker på om följande fungerar:

```
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="varor.css"?>
<!DOCTYPE varor [
<!ELEMENT varor>
]>
<varor>
...
```

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

## #10 — Hallgren, 2002-01-26T19:08Z

Icke, jag får..Required white space was missing..

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

## #11 — SPiN, 2002-01-26T19:20Z

Jäpp, det var det jag var rädd för... Du måste nog skriva en fullständig DTD om du ska ha med någon över huvud taget.

Om du inte har kunskaperna, så kanske det står något på <http://www.xml101.com>  eller <http://www.xmlakademin.se>  ( Eller var det .nu? ). Orkar tyvärr inte skriva ihop hela åt dig just nu. :l

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

## #12 — Hallgren, 2002-01-26T21:10Z

Yo!

Tog och kollade lite på DTD och efter lite småpill och ändringar fick jag fram följande kod..

```
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="varor.css"?>
<!DOCTYPE varor [
	<!ELEMENT varor (mobiltelefoner, tillverkare, modell, artikel, info, pris)>
	<!ELEMENT mobiltelefoner	(#PCDATA)>
	<!ELEMENT tillverkare		(#PCDATA)>
	<!ELEMENT modell			(#PCDATA)>
	<!ELEMENT artikel			(#PCDATA)>
	<!ELEMENT info				(#PCDATA)>
	<!ELEMENT pris				(#PCDATA)>
	]>
<varor>
	<mobiltelefoner>
		<tillverkare>Ericsson</tillverkare>
		<modell>Ericsson T39</modell>
		<artikel nr="1000">1000</artikel>
		<info>
T39m är utrustad med GPRS (General Packet Radio Services) för omedelbar 
Internetåtkomst och trådlös Bluetooth-teknik för sladdlös komfort. 
Till det kan du lägga en imponerande lista av användbara funktioner. 
Du får en effektiv och säker Internetåtkomst med T39:ans WAP-bläddrare 
1.2.1, eller med en laptop, eller handdator med hjälp av det inbyggda 
modemet i T39m. PIM-applikationerna (Personal Information Management) 
inkluderar en avancerad kalender och telefonbok.
		<pris>Pris: 5000</pris>
		</info>
		<tillverkare>Siemens</tillverkare>
		<modell>Siemens SL45</modell>
		<artikel nr="1001">1001</artikel>
		<info>
SL 45 är en av de första telefonerna med MP-3 spelare. Vad som 
skiljer ut den här produkten är att den har utbytbart MultiMediaCard
TM (MMC) som musiken lagras på. Genom att lansera en high-end produkt 
med elegans och högteknologiska funktioner blir Siemens GSM-portfölj 
komplett. SL 45 är inte bara en telefon. Med sin MP-3 spelare, utbyt 
bara MultiMediaCard TM (MMC), röstinspelning, mobil internet anslutning, 
adressbok/planeringskalender är den mycket, mycket mer. Med sin eleganta 
design är den en av de mest attraktiva produkterna på marknaden.
		<pris>Pris: 7000</pris>
		</info>
	</mobiltelefoner>
</varor>
```

...dock får jag Only text allowed inside element "mobiltelefoner" :(

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

## #13 — SPiN, 2002-01-26T21:18Z

Jäpp. Det beror på att du sätter att innehållet ska vara PCDATA, vilket innebär text. Prova med att sätta ANY istället. Tror att det bör hjälpa... Ska snoka runt lite, och se om det inte var så. :)

Red.} Ja, ANY skulle det vara. Då borde det se ut så här:

```
<!ELEMENT mobiltelefoner ANY>
```

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

## #14 — Hallgren, 2002-01-26T22:07Z

Ahh, tror allt jag missuppfattade texten om PCDATA.

Har bytt på "mobiltelefoner" och får nu.. this file is not well-formed: % expected

Liten undrarn. Räcker det med att jag kör ANY på mobiltelefoner då de andra elementen e underelement? OM, borde jag inte då köra ANY på varor då det e topelementet?

Måste säga att det e mycket pill med det här. Tog en snabb titt på XHTML förut och det verkar vara ännu värre.

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

## #15 — SPiN, 2002-01-26T22:21Z

Hmm. \*klia i huvudet\*

Jag har inte pysslat så mycket med DTDer... Vad jag har förstått så ska ett element deklareras med ANY om det innehåller både text och andra element, eller länkar. Annars #PCDATA.

Visst är det mycket pillegöra om man sitter med scheman och DTDer, men det är inte alltid såna används... Även om det är att föredra. :)

Tyvärr kan jag nog inte hjälpa dig mer med DTDer, men jag ska försöka hitta information på nätet som är nyttig...

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

## #16 — Hallgren, 2002-01-26T22:28Z

Tar emot all info du kan hitta med öppna armar. :)

Ni som tittar in på den här tråden och kör IE. Kan ni kolla om [denna](http://www.thirdfloor.biz/xml/varor.xml) sida funkar?

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

## #17 — SPiN, 2002-01-26T22:36Z

Jag kör inte IE, men den funkade finfint för mig på Linux med webläsaren Konqueror. :)

\*forsätter leta\* :)

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

## #18 — Hallgren, 2002-01-26T22:38Z

SPiN \>\>
Weeee! :) Skulle du kunna dra en skärmdump det hela?

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

## #19 — SPiN, 2002-01-26T22:53Z

Sure! Här har du:
 <http://www.command.nu/Screenshot.jpg> 

Dock funkade det inte i Netscape för Linux...

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

## #20 — @nders, 2002-01-26T23:08Z

Hallgren, funkar klockers här också.

Mvh,

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

---

Tråden på webben: https://www.webforum.nu/amne/xml/5251-första-problemet  
Nästa sida: https://www.webforum.nu/amne/xml/5251-första-problemet/page2.md
