Microsoft XML parser
Microsoft var betydligt snabbare att anamma XML än vad t.ex. Netscape
var. Detta medförde att Microsoft blivit tvungen att utgå från
de standarder (eller snarare förslag till standarder) som för tillfället
gällde. Detta medför i sin tur att ingen version av IE före IE
6.0 följer XML standarden. Man bör dock observera att t.ex. IE 5.5
följer den standard som då gällde.
Om du arbetar i en MS miljö så har du tillgång till en XML
parser (tolk), frågan är bara vilken? Nedan är en förteckning
över versionerna som finns i de olika standardpaketen som Microsoft har:
| Installerat |
Explorer version |
MSXML version |
| Windows 95 OSR 2.5 |
IE 4.0 |
1.0 (4.71.1712.5) |
| Windows 95 OSR 2.5 |
IE 4.0a |
1.0a (4.72.2106.4) |
| Windows 95 OSR 2.5 |
IE 4.01 (SP1) |
2.0a (5.0.2014.0206) |
| Office 2000 |
IE 5.0a |
2.0a (5.0.2314.1000) |
| MSXML |
- |
2.0a (5.0.2314.1000) |
| Windows 98 SE |
IE 5.0b |
2.0b (5.0.2614.3500) |
| Windows 95/98/ME |
IE 5.01 |
2.5a (5.0.2919.6303) |
| Windows NT 4.0 |
IE 5.01 |
2.5a (5.0.2919.6303) |
| Windows 2000 |
IE 5.01 |
2.5 (5.0.2920.0) |
| Windows 2000 |
IE 5.01 SP1 |
2.5 SP1 (8.0.5226) |
| Windows 95/98 |
IE 5.5 |
2.5 SP1 (8.0.5226) |
| Windows NT 4.0 |
IE 5.5 |
2.5 SP1 (8.0.5226) |
| Windows 2000 |
IE 5.5 |
2.5 (5.0.2920.0) |
| Windows 2000 SP1 |
IE 5.5 |
2.5 (8.0.5226) |
| SQL Server 2000 |
- |
2.6 (8.0.6518.2) |
| |
IE 6.0 |
3.0 sp2 (?) |
| För att ytterligare förvirra så finns det
versioner 3.0 MSXML filer med lägre versions nummer än 2.6 filer... |
| |
|
|
Replace mode och Side-By-Side mode
Även om du har en viss MSXML parser version på din dator (sök
efter msxml*.dll på din dator och kontrollera versionerna på filerna
du hittar) är det dock inte alls självklart att det är den som
du egentligen använder. För att inte "spräcka" tidigare
gjorda sidor så installeras version 3 av XML parsern i ett Side-By-Side
läge. Detta gör att den finns, men inte automatiskt används.
Om man använder DOM kan man specificera att 3:ans versionen skall användas
genom att ange "Msxml2.DOMDocument3.0" när man skapar DOM objektet.
Man kan även säga att MSXML version 3 alltid skall användas
genom att ladda ner ett program från adressen: http://msdn.microsoft.com/downloads/sample.asp?url=/msdn-files/027/001/469/msdncompositedoc.xml
Men innan man gör detta borde man kanske läsa följande artiklar:
http://support.microsoft.com/support/kb/articles/q278/6/36.asp
http://support.microsoft.com/support/kb/articles/q292/9/35.asp
Detta leder till...
...att vi antingen använder version 2.x av XML parsern och måste
skriva XSL filer för draft standarden, eller installerar antingen IE 6.0
eller MSXML 3.0 i replace mode. Då kan vi skriva XSL för både
draft standarden och den slutgiltiga. Go figure...
Vad vi väljer har stor betydelse för bland annat nummerformatering.
Se nästa kapitel...