Problem z plikiem xml/xsl

w dziale Strony WWW w Operze
Seji napisał(a):

Hej

Bawie sie ostatnio w DDR przy pomocy Stepmanii (troche ruchu nie zaszkodzi ;)). Stepmania generuje statystyki dla graczy. Ale nie jestem ich w stanie poprawnie wyswietlic ani pod Opera 8.54 (nie wiem, jak pod 9.xx, jeszcze sie nie przesiadlem) ani pod IE. Dzialaja tylko pod FireFoxem.

Zalaczam pliki - glowny statystyk (xml) i style (czy cokolwiek to jest - xsl). Jelsi ktos wie, co w nich zmienic, zeby 8.54 wyswietlala porpawnie zawartosc, bede wdzieczny za pomoc. Chyba, ze starczy sie na 9.xx przesiac, to prosze o info, a niezwloczeni to uczynie.

Stats.xml
Stats.xsl

Zaufany napisał(a):

Dopiero od wersji 9 Opera wspiera xsl, czy jak to się nazywa. Poza tym nie zamieściłeś pliku Common.xsl, który jest wymagany przez plik Stats.xsl.

Seji napisał(a):

Ze common.xsl jest wymagany, nie mialem pojecia, wiec nie wrzucalem. Widze, ze czas jednak sie rpzesiasc na 9.xx. Dzieki smile.

janbar napisał(a):

[OFFtopik]Marcin gratuluje wystepu w bardzo dobrej etiudzie filmowej "Revenge of Staszek" bigsmile[/OFFtopik]

A o Stepmanii mozesz z glootechem pogadac. :]

Pozdrawiam,

janbar.smile)

Seji napisał(a):

Odswiezam, bo wrocilem do DDR (po przerwie), mam Opere 9.xx i dalej mam problemy :/

Opera 9.1, przy porbie otwarcia statystyk, wyswietla komunikat "XSLT processing failed!". Pod FF wszystko gra.

Zalaczam pliki (tak, tym razem chyba wszystkie wymagane). jesli ktos ma pomysl, o tam trzeba zmienic, zeby dzialalo, niech pisze.

PS. Janbar - dzieki wink.

Common.xsl
Stats.xml
Stats.xsl

danadam napisał(a):

Zerknij na konsolę błędów:

XSLT - file://localhost/tmp/Common.xsl
attribute at line 49, column 30
Error: invalid expression: document('Catalog.xml')/Catalog
Call to undefined function: document

XSLT - file://localhost/tmp/Common.xsl
attribute at line 49, column 30
Error: invalid expression: document('Catalog.xml')/Catalog
Call to undefined function: document

XSLT
global
Error: invalid top-level variable

Czyli problem podobny jak tutaj

Seji napisał(a):

Funkcja document() chyba nie jest jeszcze w Operze zaimplementowana.


Aha...

Da sie to jakos obejsc? Z XML itd jestem absolutnie zielony.

danadam napisał(a):

To zależy (ale ostatecznie i tak lepiej to w Firefoksie otworzyć). Jeśli te statystyki są generowane za każdym razem i chcesz żeby się poprawnie wyświetlały po każdym odświeżeniu, to nie bardzo wiem jak pomóc. Natomiast jeśli chcesz żeby ten konkretny xml, który powyżej zamieściłeś, wyświetlić w Operze to się da. Najpierw w Common.xsl zamieniasz linijkę:

<xsl:variable name="Catalog" select="document('Catalog.xml')/Catalog" />
na:
<xsl:variable name="Catalog" select="/Catalog" />
. Potem kopiujesz zawartość Common.xsl do Stats.xsl coby wyglądał tak:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="Common.xsl"/>


    <xsl:output method="html" omit-xml-declaration="no" encoding="iso-8859-1" indent="no"/>
    <xsl:strip-space elements="*" />

    
    <xsl:template name="ToggleDisplayImage">
        <img name="toggleImage" align="absmiddle" class="hidden" /><span>â~Vź</span><span>â~Vş</span>
    </xsl:template>
    



    
    <xsl:variable name="Stats" select="/Stats" />

Na koniec z pliku Stats.xsl trzeba jeszcze usunąć niepotrzebną już linijkę z importem Common.xsl (to jest trzecia linijka powyżej). Teraz Stats.xml wyświetli się również w Operze ale... no właśnie, nie tak samo jak w Firefoksie. Chyba coś nie tak z javascriptem, bo wszystkie "węzły" są otwarte i nie da się ich zamknąć.

Seji napisał(a):

Dzieki, jest troche lepiej.
Tych statystyk sie nie odswieza - trzeba za kazdym razem odpalac recznie.

W zasadzie to, co mnie tam interesuje, to licznik kalorii wink - reszta to ozdobniki. I tu wszystko jest chyba OK.

FF instalowac dla tylko tej jednej rzeczy nie chce - nie uzywam, nie lubie (nie ideologicznie, ale za toporny dla mnie jest).

Bardzo pomogles, dzieki smile. Moze ktos jeszcze cos doradzi, ale jak dla mnie - moze byc wink.