http://www.kdesi.ca/user/cesta/stranka.htmlbude URL téze stránky pri pozadavku jejího prekódování do sedmibitového ASCII napr.
http://www.kdesi.ca/user/cgi-bin/ascii.cgi/cesta/stranka.htmlPredpokládám, ze URL cesta ke kódujícím skriptűm je http://www.kdesi.ca/user/cgi-bin. Műzete pouzít libovolný ze skriptű toXXX[.cgi]. nebo yyy[.cgi] (kde XXX çi yyy jsou jména kódű popsaná v predchozích kapitolách). Pokud cesta ke kódujícím skriptűm je http://www.jinde.cz/cgi-bin (globální CGI adresár serveru), bude URL pozadující prekódovanou stránku mít tvar:
http://www.jinde.cz/cgi-bin/ascii.cgi/user/cesta/stranka.html
Odkazy tohoto typu vsak predpokládájí, ze predem víte, jaký kód bude uzivatel vyzadovat. To çasto nemusí být pravda. V takovém prípadë doporuçuji pouzít skript whichcode[.cgi] a URL
http://www.kdesi.ca/user/cgi-bin/whichcode.cgi/cesta/stranka.htmlprípadnë
http://www.jinde.cz/cgi-bin/whichcode.cgi/user/cesta/stranka.htmlSkript whichcode uzivateli oznámí, ze cílový dokument obsahuje diakritická znaménka a umozní mu zvolit kód, který povazuje za optimální.
<A HREF="kapitola1.html">První kapitola</A>klient prepracuje relativní URL kapitola1.html na absolutní. Vyjde pritom z URL dokumentu, obsahujícího znaçku. Pokud bylo pűvodní URL dokumentu napríklad http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/obsah.html, povede zmínëný odkaz k dokumentu http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/kapitola1.html. Informace o kódu byla zachována.
Pozor! Chcete-li vyuzívat pro uchování kódu relativní odkazy, nesmíte v dokumentu pouzít znaçku <BASE>, která urçuje základní URL dokumentu. Kdybyste ji pouzili, budou vsechna relativní URL vztazena k lokátoru, definovanému touto znaçkou, nikoli k URL, pod kterým klient získal stránku.
Absolutní odkazy je treba resit jinak. Tady pouzívá SaCzech(-U) metodu podobnou programu WWWdia. Do textu műzete na kterékoli místo (vçetnë cest) vlozit retëzec
__CHARSET__Kódující skript nahradí kazdý výskyt tohoto retëzce identifikací kódu, do kterého právë prevádí stránku. Pokud se tento retëzec vyskytuje ve spojení to__CHARSET__ nebo charset=__CHARSET__, je vzdy nahrazen jménem kódu uzívaným v programu WWWdia (a pűvodním SaCzechu), ve vsech ostatních prípadech bude nahrazen jménem EUnet modulu pro stejný kód. Proto műzete v textu pouzít znaçku
<A HREF="http://www.jinde.cz/cgi-bin/to__CHARSET__/jinacesta/str.html">odkaz</A>Pokud stránka projde skriptem toKEYBCS2, který ji prevede do kódu KEYBCS2, bude v odeslaném dokumentu v této znaçce uvedeno URL
<A HREF="http://www.saczechserver.cz/cgi-bin/toKEYBCS2/jinacesta/str.html">odkaz</A>Predpokládám, ze server, urçený tímto absolutním URL, má instalován SaCzech-U. Műze, ale nemusí se jednat o tentýz server, který poskytl pűvodní dokument. Stejnë je zvládnut i odkaz na stránku v pravomoci WWWdia, pouzijete-li pro tento odkaz URL
<A HREF="http://www.diaserver.cz/cgi-bin/charset/jestecesta/str.html?charset=__CHARSET__">odkaz</A>Stejný skript toKEYBCS2 z rodiny SaCzech-U navíc zvládne na téze stránce i pouzití znaçky
<a href="http://pes.eunet.cz/__CHARSET__">odkaz</A>V odeslaném dokumentu se v tom prípadë objeví
<a href="http://pes.eunet.cz/kam">odkaz</A>Schopnost automaticky zachovávat kód pri kontaktu s co nejvëtsím poçtem serverű stála za nápadem zavést podporu alternativních jmen kódu v programu SaCzech-U. Problémem ale je, ze server vëtsinou neví co má dëlat s zádostí typu <a href="http://pes.eunet.cz/__CHARSET__">, kdyz výse uvedená stránka náhodou neprojde zádným konverzním skriptem. Neví to dokonce i nëkteré servery, které pouzívají SaCzech a na nichz bylo zrejmë opomenuto zavést synonyma doporuçená pro to__CHARSET__.cgi. K tomu navíc existují i moduly se jmény kódű, které se lisí od jmen EUnetu, takze dvë sady jmen kódű na vsechno stejnë nestaçí.
Díky tomuto mechanismu műzete na své stránky vkládat relativní odkazy na obrázky, zvuky a dalsí druhy dat, kterým by prekódování rozhodnë neprospëlo.
Jestlize se na stránce vyskytne znaçka
<IMG SRC="obraz.gif">a URL stránky je http://www.kdesi.cz/cgi-bin/toASCII/cesta/stranka.html, bude klient po serveru pozadovat http://www.kdesi.cz/cgi-bin/toASCII/cesta/obraz.gif. Server spustí skript toASCII. Ten vsak zjistí, ze je po nëm pozadováno kódování souboru s príponou .gif. Místo aby se pustil do díla, odpoví klientovi "hele s tímhle já nechci nic mít, vezmi si rovnou ten soubor". Klient si ho vezme a vse funguje k plné spokojenosti vsech zúçastnëných.
<!--MYCHARSET=kód-->Napríklad <!--MYCHARSET=CP1250-->. Poçínaje rádkem, obsahujícím tento komentár (doporuçuji jej uvést na samostatném rádku na zaçátku dokumentu), bude za výchozí kód dokumentu povazován kód CP1250. SaCzech-U bëhem konverze nevkládá do výsledného dokumentu pűvodní komentáre typu <!--MYCHARSET=kód-->, protoze jiz neplatí, a místo nich vlozí na jeho úplný poçátek komentár s vyznaçením kódu do nëhoz je dokument prekládán. Po ulození pak není pochyby v jakém kódu je daná kopie dokumentu zapsána. Je mozno pak pokraçovat v upravování dokumentu v novém kódu.
Pro milovníky patologických prípadű:
<!--BAR-->SaCzech-U jej bëhem zpracování textu nahradí nabídkou mozných kódű, do kterých lze stránku prevést. Ridte se podobnými pravidly, jako v prípadë MYCHARSET - v komentári neuvádëjte nic jiného.
Chcete-li, aby nabídka kódű byla nadepsána anglicky (napr. na anglické stránce, která obsahuje çeská jména), pouzijte komentár
<!--BAR E-->
Pokud uvedete na jednom rádku více nez jeden komentár
<!--BAR --> nebo <!--BAR E-->, SaCzech-U
vygeneruje jen jednu nabídku podle prvního komentáre a vsechny ostatní
ignoruje. Aby se zamezilo opakovanému generování nabídek pri opëtovném
pouzití konvertovaného dokumentu, SaCzech-U neprekopíruje ani komentáre
typu BAR do odesílaného dokumentu, pred kazdou nabídkou
ale vypíse pozmënëný komentár upozorńující na to, ze
byla vygenerovaná automaticky.
SaCzech-U a CGI
Aby mohl spolupracovat s CGI skripty a mënit kód jejich výsledkű je treba
SaCzech-U instalovat tak, aby kódované dokumenty získával metodou
http (kazdý dokument získává od serveru protokolem HTTP) nebo
guess (snazí se uhádnout, co je obyçejný soubor a co volání CGI
skriptu, ve druhém prípadë opët sáhne k protokolu HTTP). Podrobnosti se
doçtete v kapitole o instalaci.
Provedl jsem i vsechny zmëny v souboru enchttp.tpl, které
byly potrebné pro podporu metody http pri instalaci
SaCzech-U v soukromém adresári uzivatele. Zdá se, ze výsledný kód
funguje správnë, nemël jsem ale zatím moznost ho dostaçnë otestovat.
Zachování kódu v obrázcích s klikou.
Tipy, triky, rizika
Prosím, obratte se prímo na dokumentaci pűvodního programu SaCzech.