Gå til innhold

Problemer med XML og CSS i Explorer


Anbefalte innlegg

Hei

 

Holder paa aa implementere noe xml i en php side.

 

Jeg bruker <?php echo file_get_contents('filename.xml'); ?>

 

for aa faa fila inn I php siden og deretter bruker jeg CSS for aa bestemme style.

(Ikke saa kjent med xsl)

 

Dette fungere fint I Opera, Firefox og Netscape, men av en eller annen grunn ikke I Explorer. Er det noen som vet hvorfor det er slik, og hva kan jeg gjore for aa fikse dette?

 

 

Takk for all hjelp…

 

Her er kode some er brukt

 

CSS:

 

CATALOG

{

background-color: #ffffff;

width: 100%;

}

CD

{

display: block;

margin-bottom: 30pt;

margin-left: 0;

}

TITLE

{

color: #FF0000;

font-size: 20pt;

}

ARTIST

{

color: #0000FF;

font-size: 20pt;

}

COUNTRY,PRICE,YEAR,COMPANY

{

display: block;

color: #000000;

margin-left: 20pt;

}

 

 

XML:

 

 

<?xml version="1.0" encoding="iso-8859-1"?>

 

<?xml-stylesheet type="text/css" href="cd_catalog.css"?>

 

<CATALOG>

<CD>

<TITLE>Empire Burlesque</TITLE>

<ARTIST>Bob Dylan</ARTIST>

<COUNTRY>USA</COUNTRY>

<COMPANY>Columbia</COMPANY>

 

<PRICE>10.90</PRICE>

<YEAR>1985</YEAR>

</CD>

<CD>

<TITLE>Hide your heart</TITLE>

<ARTIST>Bonnie Tyler</ARTIST>

<COUNTRY>UK</COUNTRY>

 

<COMPANY>CBS Records</COMPANY>

<PRICE>9.90</PRICE>

<YEAR>1988</YEAR>

</CD>

<CD>

<TITLE>Greatest Hits</TITLE>

<ARTIST>Dolly Parton</ARTIST>

 

<COUNTRY>USA</COUNTRY>

<COMPANY>RCA</COMPANY>

<PRICE>9.90</PRICE>

<YEAR>1982</YEAR>

</CD>

 

<CATALOG>

Lenke til kommentar
Videoannonse
Annonse

Har ikke IE tilgjengelig for øyeblikket så jeg får ikke testet problemet. Tror nok at dette er nok en standard IE ikke helt tolker rett. Når det gjelder XML og web så bør man bruke XSLT til formatering. Hvis du har planer om å holde på en del med XML så er XSLT et must.

 

Eksempel på bruk av XSLT:

 

index.xml (eller hva du velger å kalle det)

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<CATALOG>
<CD>
 <TITLE>Empire Burlesque</TITLE>
 <ARTIST>Bob Dylan</ARTIST>
 <COUNTRY>USA</COUNTRY>
 <COMPANY>Columbia</COMPANY>
 <PRICE>10.90</PRICE>
 <YEAR>1985</YEAR>
</CD>
<CD>
 <TITLE>Hide your heart</TITLE>
 <ARTIST>Bonnie Tyler</ARTIST>
 <COUNTRY>UK</COUNTRY>
 <COMPANY>CBS Records</COMPANY>
 <PRICE>9.90</PRICE>
 <YEAR>1988</YEAR>
</CD>
<CD>
 <TITLE>Greatest Hits</TITLE>
 <ARTIST>Dolly Parton</ARTIST>
 <COUNTRY>USA</COUNTRY>
 <COMPANY>RCA</COMPANY>
 <PRICE>9.90</PRICE>
 <YEAR>1982</YEAR>
</CD>
</CATALOG>

 

stylesheet.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes"/>
<xsl:template match="CATALOG">
 <html lang="en">
 	<head>
   <title></title>
   <meta name="keywords" content=""/>
   <meta name="description" content=""/>
   <link href="stylesheet.css" rel="stylesheet" type="text/css" media="all" title="Default styesheet"/>
 	</head>
 	<body>
     <xsl:apply-templates select="CD"/>  	
 	</body>
 </html>
</xsl:template>
<xsl:template match="CD">
 <h3><xsl:value-of select="ARTIST"/> - <xsl:value-of select="TITLE"/></h3>
 <p><xsl:value-of select="COUNTRY"/></p>
 <p><xsl:value-of select="COMPANY"/></p>
 <p><xsl:value-of select="YEAR"/></p>
 <p><xsl:value-of select="PRICE"/></p>
</xsl:template>
</xsl:stylesheet>

 

XSLT er egentlig ikke så vanskelig, det finnes mange guider/bøker om emnet.

 

IE skal greie XSLT, men man vet aldri 100%. Den beste løsningen for å ungå problem med IE er å bruke PHP til å generere innholdet av XML og XSLT.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...