Toon posts:

[SVG + XSLT] Internet Explorer geeft geen SVG weer

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben mijn probleem al in meerdere onderwerpen tegengekomen, maar heb nergens een echt antwoord kunnen vinden. Het probleem is als volgt:

Ik heb een XML-bestand "gegevens.xml":

code:
1
2
3
4
5
6
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="gegevens.xsl"?>

<gegevens>
Blablablablablabla
</gegevens>


Zoals je ziet wordt er verwezen naar een XSLT-stylesheet "gegevens.xsl":

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="ISO-8859-1"?> 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/> 

<xsl:template match="/">
  <svg viewBox="0 0 400 300" width="400" height="300" xmlns="http://www.w3.org/2000/svg">
    <g style="font-size: 10; font-family: Verdana; text-anchor: middle;">
      <text x="200" y="15">Een standaard tekst met opmaak</text> 
    </g>
  </svg>
</xsl:template> 

</xsl:stylesheet>


De XSLT genereert SVG opmaak (er wordt daarbij nog niks met de data gedaan, het is puur om te testen). Nu wil ik mijn XML in SVG-weergave bekijken met Internet Explorer, maar hij laat geen SVG zien, maar gewoon plain text. Het is dus zo dat Internet Explorer niet weet dat het om SVG-code gaat (omdat het de extensie .xml heeft)

Weet iemand hoe je dit op kan lossen?

p.s. Ik heb vernomen dat Mozilla dit wel juist weet te verwerken, maar het moet echt strikt voor Internet Explorer gemaakt worden.

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

En waarom weet IE niet dat het SVG is? Door de mime-type misschien, kun je hem anders laten serveren door je server?

Verwijderd

Topicstarter
André schreef op 14 september 2004 @ 13:49:
En waarom weet IE niet dat het SVG is? Door de mime-type misschien, kun je hem anders laten serveren door je server?
Volgens mij kijkt Internet Explorer puur naar de extensie (.xml dus)

Alles is trouwens serverside, het XML-bestand en de XSLT.

[ Voor 10% gewijzigd door Verwijderd op 14-09-2004 16:16 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Verwijderd schreef op 14 september 2004 @ 16:15:
[...]


Volgens mij kijkt Internet Explorer puur naar de extensie (.xml dus)

Alles is trouwens serverside, het XML-bestand en de XSLT.
Volgens mij kijkt Internet Explorer puur naar de MIME-type :)

Verwijderd

Topicstarter
André schreef op 14 september 2004 @ 16:19:
[...]

Volgens mij kijkt Internet Explorer puur naar de MIME-type :)
Thanx, ik zal dit eens gaan proberen

Verwijderd

Volgens mij doet IE niks, maar alleen de Adobe SVG viewer (of hoe dat ding ook mag heten). Het zou best kunnen dat deze, als het document over HTTP verstuurd wordt, het MIME type 'image/svg+xml' nodig heeft.

  • JeromeB
  • Registratie: September 2003
  • Laatst online: 19-03 22:07

JeromeB

woei

Verwijderd schreef op 14 september 2004 @ 16:34:
Volgens mij doet IE niks, maar alleen de Adobe SVG viewer (of hoe dat ding ook mag heten). Het zou best kunnen dat deze, als het document over HTTP verstuurd wordt, het MIME type 'image/svg+xml' nodig heeft.
Volgensmij doet de Adobe SVG Viewer dat niet. De Adobe SVG Viewer (er zijn nog meer SVG Viewers voor het win platform zoals bijvoorbeeld de Corel SVG Viewer) is een ActiveX component dat word aangeroepen op het moment dat deze nodig blijkt te zijn. Er zal dus eerst moeten blijken dat het om een SVG mime-type gaat.

PC load letter? What the fuck does that mean?


Verwijderd

Volgensmij doet de Adobe SVG Viewer dat niet. De Adobe SVG Viewer (er zijn nog meer SVG Viewers voor het win platform zoals bijvoorbeeld de Corel SVG Viewer) is een ActiveX component dat word aangeroepen op het moment dat deze nodig blijkt te zijn. Er zal dus eerst moeten blijken dat het om een SVG mime-type gaat.
En die heeft de SVG viewer geinstalleerd. IE heeft standaard geen ondersteuning voor 'image/svg+xml' AFAIK.

  • JeromeB
  • Registratie: September 2003
  • Laatst online: 19-03 22:07

JeromeB

woei

IE heeft standaard inderdaad geen ondersteuning voor het SVG mime-type.

Volgensmij zit het zo:
- IE heeft een soort lijstje (of iets dergelijks) met mime-types die ondersteund worden.
- Wanneer je de Adobe SVG Viewer installeerd zal deze ook dat lijstje updaten met het SVG mime-type (image/svg+xml).

- Als IE een request doet aan de server dan geeft IE eerst enkele informatie af aan die server. Hij zal oa een lijstje afgeven met de mime-types die ondersteund worden.
- Vervolgens zal de server het bestand afleveren met een bepaald mime-type.
- Als blijkt dat dit mime-type 'image/svg+xml' is dan zal IE de Adobe SVG Viewer aanroepen om het bestand te parsen.
- Eventueel zal er een extra controle gedaan worden door de Adobe SVG Viewer.

Het is misschien simpel/lomp omschreven, maar er wordt dus (eerst) door IE gecheckt welk mime-type wordt meegestuurd.

-----------------------

Kun je anders even (simpel) uitleggen hoe jij er over denkt? Dat de SVG Viewer eerst een request doet lijkt mij namelijk niet logisch.

PC load letter? What the fuck does that mean?


Verwijderd

Daar ben ik het wel mee eens ;-). M'n eerdere post was wat ongelukkig geformuleerd. Maar IE stuurt niet echt een lijst met geaccepteerde MIME types naar de servers, de standaard Accept header van IE ziet er zo uit:
code:
1
*/*
... erg handig dus. (Vooral erg handig als je ook een PDF versie van je site aanbied en iemand heeft een PDF plugin waardoor de Accept header 'application/pdf,*/*' wordt en iedereen met IE en een PDF plugin dus automatisch de PDF versie krijgt...

  • JeromeB
  • Registratie: September 2003
  • Laatst online: 19-03 22:07

JeromeB

woei

Overigens vond ik nog dit artikel: http://wwws.sun.com/software/xml/developers/svg/support/

Als het waar is wat daar staat dan zitten we beide fout, maar ik betwijfel of het waar is.
Verwijderd schreef op 14 september 2004 @ 18:06:
Daar ben ik het wel mee eens ;-). M'n eerdere post was wat ongelukkig geformuleerd. Maar IE stuurt niet echt een lijst met geaccepteerde MIME types naar de servers, de standaard Accept header van IE ziet er zo uit:
code:
1
*/*
... erg handig dus. (Vooral erg handig als je ook een PDF versie van je site aanbied en iemand heeft een PDF plugin waardoor de Accept header 'application/pdf,*/*' wordt en iedereen met IE en een PDF plugin dus automatisch de PDF versie krijgt...
hmm, dat wist ik dus niet, maarja dan is het eigenlijk nogal onduidelijk hoe IE omgaat met mime-types.

[ Voor 64% gewijzigd door JeromeB op 14-09-2004 18:14 ]

PC load letter? What the fuck does that mean?

Pagina: 1