[PR] [xml+xsl] Transformacja w Fx i Operze 9

0

Witam

Piszę aplikację opartą o XML transformowany przez XSL. Podczas testów wszystko śmigało, jednak po umieszczeniu aplikacji na serwerze Fx i Opera 9 zaczęły odmawiać posłuszeństwa (IE transformuje prawidłowo :/). Stąd moje pytanie: Czy ktoś spotkał się z podobnym przypadkiem (xsl działający jak natura chciała lokalnie, a odmawiający posłuszeństwa zdalnie)? Wie ktoś może, jak ten problem rozwiązać? Najgorsze jest to, że nie dotyczy to wszystkich dokumentów xsl, tylko niektórych :(.

P.S. Niestety niezbyt mogę zamieścić całość xsl na forum (klauzula tajności).

0

Sprawdź czy serwer nie wymusza obsługi jako niewłaściwy typ MIME.

0

Ech, dzięki. O to chodziło. W jednym pliku były znaczki zapisywane przez Notatnik przy zapisie do UTF-8 i uniemożliwiały ustawienie nagłówka odpowiedniego.

//Added:
Pojawił się kolejny problem - wszystkie typy mime są teraz text/xml, ale w jednym przypadku wszystko jest ok, a w innym linijka
<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"/> powoduje, że treść strony wyświetla się jak jeden wielki zlepek tekstów bez ładu i składu.

Z tego co udało mi się zauważyć, to dokumenty te różnią się dwiema rzeczami:

  1. Dokument nieprawidłowo interpretowany jest bardziej skomplikowany;
  2. Przeglądarka w przypadku drugiego z dokumentów nie widzi nagłówka META (View Page Info się różni w tym właśnie miejscu).
0

Tak przy okazji polecam edytory w stylu Notepad++. Można w nich włączyć kodowanie ANSI i zaznaczyć, że jest to zwykły plik UTF-8 tyle, że bez nagłówka (BOM - byte order marker).

0

Akurat ja osobiście używam Notatnika SP i Gżegżółki do zmiany kodowania (żelazne przyzwyczajenie, choć brak natywnego wsparcia dla UTF pewnie w którymś momencie zmusi mnie do zmiany edytora), a problem spowodowała osoba, która współpracuje nad projektem (swoją drogą - zazwyczaj również nie używająca MS Notepad do tworzenia stron internetowych).

P.S. Spotkałeś się kiedyś z takim problemem z xsl:output? Dodatkowo należałoby zaznaczyć, że problem po raz kolejny nie występuje w IE, a tylko w Fx i Operze...

0

Problem udało się rozwiązać. Okazało się, że do każdego dziecka xsl:template trzeba było dodać xmlns="http://www.w3.org/1999/xhtml" Dlaczego tak? Nie wiem, ale działa ;).

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