MozillaPL.org - polskie centrum Mozilli

Główne menu:

[xhtml] Encje zewnętrzne

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

[xhtml] Encje zewnętrzne

Postautor: zwierz » 12 lutego 2005, 19:41

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.5) Gecko/20041108 Firefox/1.0

Mam taki plik test.xhtml:
Kod: Zaznacz cały
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
[
<!ENTITY jeden SYSTEM "http://sciezka.do.pliku.com/jeden.xhtml">
<!ENTITY dwa SYSTEM "http://sciezka.do.pliku.com/dwa.xhtml">
<!ENTITY trzy SYSTEM "http://sciezka.do.pliku.com/trzy.xhtml">
]>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<head>
   <title>Tytuł</title>
</head>
<body>
&jeden;
&dwa;
&trzy;
</body>
</html>

W plikach jeden.xhtml, dwa.xhtml, trzy.xhtml jest coś takiego:
Kod: Zaznacz cały
<p>Tekst</p>

Plik test.xhtml jest wyświetlany jak pusta strona. Da się to jakoś przerobić/poprawić, by efektem było wyświetlenie napisu "Tekst" (w tym wypadku trzykrotne)?
Wszystkie pliki mają typ application/xhtml+xml
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Re: [xhtml] Encje zewnętrzne

Postautor: Domel » 12 lutego 2005, 19:53

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

Generalnie takie podejscie nie jest bledem, to znaczy przejdzie przez parser ale dla takiej wersji DTD powinno sie raczej zrobic modol. Po za tym encje zewnetrzne sa bardzo niezalecane (po angielsku pisza strongly ;) )
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: zwierz » 15 lutego 2005, 20:30

Przeglądarka: Opera/7.54 (Windows NT 5.1; U) [en]

Z modułem było gorzej - wtedy parser wrzeszczał, że nie zna takich encji.
Może opiszę co, chcę zrobić. Mam taką encję:
Kod: Zaznacz cały
&fajna_encja;

umieszczoną gdzieś w dokumencie XHTML. Chcę, by w miejscu encji wyświetlił się tekst
Kod: Zaznacz cały
Jest super

przy czym ważne jest dla mnie, by definicja encji znajdowała się w osobnym pliku. Jak to zrobić?
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Postautor: Domel » 15 lutego 2005, 21:43

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

Ja bym zrobil to na dwa sposoby:
1. Jesli bym chcial zeby wiekszosc przegladarek to lyknela:
Kod: Zaznacz cały
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
 <!ENTITY domel "To jest test" >
 ]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>g</title>
</head>
<body>
<p>&domel;</p>
</body>
</html>

2. Jesli bym chcial byc mocno zgodny ze standardami to bym uzyl XInclude lub ewentualnie XLink.
Kod: Zaznacz cały
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>g</title>
</head>
<body>
<p><xi:include href="domel.txt" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/></p>
</body>
</html>
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: zwierz » 15 lutego 2005, 22:18

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.5) Gecko/20050212 Firefox/1.0

Domel pisze:Ja bym zrobil to na dwa sposoby:
1. Jesli bym chcial zeby wiekszosc przegladarek to lyknela:
Kod: Zaznacz cały
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
 <!ENTITY domel "To jest test" >
 ]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>g</title>
</head>
<body>
<p>&domel;</p>
</body>
</html>


Akurat tego nie chcę, bo encja ma być wykorzystywana w wielu plikach, a definicja ma być jedna (będzie zawierać całe menu strony). Próbuję to wykorzystać, jako coś zastępczego dla PHP, którego na jednym serwerze nie mogę użyć (mogę za używać plików z XHTML-owym MIME).
Domel pisze:2. Jesli bym chcial byc mocno zgodny ze standardami to bym uzyl XInclude lub ewentualnie XLink.
Kod: Zaznacz cały
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>g</title>
</head>
<body>
<p><xi:include href="domel.txt" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude"/></p>
</body>
</html>

Przetestuję. Co to obsługuje? (jakie wersje przeglądarek, wiesz może?)
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Postautor: Domel » 15 lutego 2005, 22:22

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

zwierz pisze:Akurat tego nie chcę

No i bardzo dobrze :) Encje to przeszlosc. Nowe definicje schematow nie supportuja encji (w wielu powodow) wiec to ze Gecko slabo obsluguje DTD wcale mnie nie martwi.

zwierz pisze:Przetestuję. Co to obsługuje? (jakie wersje przeglądarek, wiesz może?)

Nic czyli tak jak w przypadku encji zewnetrznych ;) ale FF niedlugo bedzie.
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: zwierz » 15 lutego 2005, 23:01

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.5) Gecko/20050212 Firefox/1.0

Domel pisze:Nowe definicje schematow nie supportuja encji (w wielu powodow) wiec to ze Gecko slabo obsluguje DTD wcale mnie nie martwi.

Nie tylko Gecko. W tej kwestii Opera 8 Beta 1 też się tak zachowuje.
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków


Wróć do Tworzenie stron WWW

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: