XML z XSL nie działa w FireFox

0

A dokładniej plik xsl nie jest brany pod uwagę przy przetwarzania xml. W IE wszystko gra a w FF dostaję dane bez sformatowania.

Sprawdziłem poprawność zapisu i niby wszystko się zgadza.

A więc po kolei co robię.

  1. Skrypt PHP generuje stronę xml i ją wyświetla

<?php
echo"<?xml version=\"1.0\" encoding=\"Windows-1250\" ?>\n";
echo"<?xml-stylesheet type=\"text/xsl\" href=\"aaa.xsl\"?>\n";
echo"<start>\n";

// dostęp do bazy
// .....
// odczyt z bazy i zapis rekordów

while ($row = ibase_fetch_object($sth))
{
print" <rekord>\n";
print" <lp>" . $row->LP . "</lp>\n";

... itd.

  1. Na serwerze w tym samym miejscu co skrypt PHP jest plik xsl aaa.xsl

<?xml version="1.0" encoding="Windows-1250" ?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <head> </head> <body> </body> </html> </xsl:template> <xsl:template match="START/rekord"> <xsl:apply-templates select="lp" /> <xsl:value-of select="nazwa" />
0

Ja nie chcę nic mówić, ale tagi XML pisze się małymi literami. Tak jak i nazwy właściwości. A Ty już na samym początku masz "<start>". Nie wiem, czy to wina tego, ale wiem jedno: to IE ma problemy z interpretacją XML'a, nie FF.

0

Ten <start> to tylko tak napisany bo w kodzie mam <listing_z_bazy_testowo> a togło trochę zaciemniać obraz sytuacji.

Co do FF to napisałem, że nie czepiam się FF tylko prawdopodobnie mojej składni bo jak wiadomo FF jest bardziej restrykcyjny od IE.

0

Tagi w pliku XML można pisać dowolną wielkoscią znaków, różnica polega na tym że w XML-u wielkość ma znaczenie także tag '<aa>' to nie to samo co tag '<aa>'
W XHTML-u tagi i atrybuty muszą być pisane małymi literami...

Ja myslę że to jest kwestia nagłówków wysyłanych do przeglądarki domyślnie PHP jeżeli się nie myle informuje że zwraca HTML-a więc FF traktuje to co dostaje jako HTML, myślę że pwinieneś wysłac odpowiednie nagłówki do przegladarki, było już o tym na forum:

http://4programmers.net/Forum/206691?h=nag%C5%82%C3%B3wki#206691

0

Panczo - jesteś wielki [!!!]

header("Content-type:text/xml"); pomogło

:)

Niestety mój optymizm był chwilowy.

W IE, FireFox i Mozilli wszystko gra.
W Operze niestety nie formatuje.
Ręce "opadowywują" normalnie. Gdzie te standardy?
</ort>

0
Marcin_J23 napisał(a)

Niestety mój optymizm był chwilowy.

W IE, FireFox i Mozilli wszystko gra.
W Operze niestety nie formatuje.
Ręce "opadowywują" normalnie. Gdzie te standardy?
</ort>

niestety, nic z tym nie zrobisz, opera nie daje rady i tyle :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0