http://www.kdesi.ca/user/cesta/stranka.htmlbude URL teze stranky pri pozadavku jejiho prekodovani do sedmibitoveho ASCII napr.
http://www.kdesi.ca/user/cgi-bin/ascii.cgi/cesta/stranka.htmlPredpokladam, ze URL cesta ke kodujicim skriptum je http://www.kdesi.ca/user/cgi-bin. Muzete pouzit libovolny ze skriptu toXXX[.cgi]. nebo yyy[.cgi] (kde XXX ci yyy jsou jmena kodu popsana v predchozich kapitolach). Pokud cesta ke kodujicim skriptum je http://www.jinde.cz/cgi-bin (globalni CGI adresar serveru), bude URL pozadujici prekodovanou stranku mit tvar:
http://www.jinde.cz/cgi-bin/ascii.cgi/user/cesta/stranka.html
Odkazy tohoto typu vsak predpokladaji, ze predem vite, jaky kod bude uzivatel vyzadovat. To casto nemusi byt pravda. V takovem pripade doporucuji pouzit skript whichcode[.cgi] a URL
http://www.kdesi.ca/user/cgi-bin/whichcode.cgi/cesta/stranka.htmlpripadne
http://www.jinde.cz/cgi-bin/whichcode.cgi/user/cesta/stranka.htmlSkript whichcode uzivateli oznami, ze cilovy dokument obsahuje diakriticka znamenka a umozni mu zvolit kod, ktery povazuje za optimalni.
<A HREF="kapitola1.html">Prvni kapitola</A>klient prepracuje relativni URL kapitola1.html na absolutni. Vyjde pritom z URL dokumentu, obsahujiciho znacku. Pokud bylo puvodni URL dokumentu napriklad http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/obsah.html, povede zmineny odkaz k dokumentu http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/kapitola1.html. Informace o kodu byla zachovana.
Pozor! Chcete-li vyuzivat pro uchovani kodu relativni odkazy, nesmite v dokumentu pouzit znacku <BASE>, ktera urcuje zakladni URL dokumentu. Kdybyste ji pouzili, budou vsechna relativni URL vztazena k lokatoru, definovanemu touto znackou, nikoli k URL, pod kterym klient ziskal stranku.
Absolutni odkazy je treba resit jinak. Tady pouziva SaCzech(-U) metodu podobnou programu WWWdia. Do textu muzete na kterekoli misto (vcetne cest) vlozit retezec
__CHARSET__Kodujici skript nahradi kazdy vyskyt tohoto retezce identifikaci kodu, do ktereho prave prevadi stranku. Pokud se tento retezec vyskytuje ve spojeni to__CHARSET__ nebo charset=__CHARSET__, je vzdy nahrazen jmenem kodu uzivanym v programu WWWdia (a puvodnim SaCzechu), ve vsech ostatnich pripadech bude nahrazen jmenem EUnet modulu pro stejny kod. Proto muzete v textu pouzit znacku
<A HREF="http://www.jinde.cz/cgi-bin/to__CHARSET__/jinacesta/str.html">odkaz</A>Pokud stranka projde skriptem toKEYBCS2, ktery ji prevede do kodu KEYBCS2, bude v odeslanem dokumentu v teto znacce uvedeno URL
<A HREF="http://www.saczechserver.cz/cgi-bin/toKEYBCS2/jinacesta/str.html">odkaz</A>Predpokladam, ze server, urceny timto absolutnim URL, ma instalovan SaCzech-U. Muze, ale nemusi se jednat o tentyz server, ktery poskytl puvodni dokument. Stejne je zvladnut i odkaz na stranku 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>Stejny skript toKEYBCS2 z rodiny SaCzech-U navic zvladne na teze strance i pouziti znacky
<a href="http://pes.eunet.cz/__CHARSET__">odkaz</A>V odeslanem dokumentu se v tom pripade objevi
<a href="http://pes.eunet.cz/kam">odkaz</A>Schopnost automaticky zachovavat kod pri kontaktu s co nejvetsim poctem serveru stala za napadem zavest podporu alternativnich jmen kodu v programu SaCzech-U. Problemem ale je, ze server vetsinou nevi co ma delat s zadosti typu <a href="http://pes.eunet.cz/__CHARSET__">, kdyz vyse uvedena stranka nahodou neprojde zadnym konverznim skriptem. Nevi to dokonce i nektere servery, ktere pouzivaji SaCzech a na nichz bylo zrejme opomenuto zavest synonyma doporucena pro to__CHARSET__.cgi. K tomu navic existuji i moduly se jmeny kodu, ktere se lisi od jmen EUnetu, takze dve sady jmen kodu na vsechno stejne nestaci.
Diky tomuto mechanismu muzete na sve stranky vkladat relativni odkazy na obrazky, zvuky a dalsi druhy dat, kterym by prekodovani rozhodne neprospelo.
Jestlize se na strance vyskytne znacka
<IMG SRC="obraz.gif">a URL stranky 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 spusti skript toASCII. Ten vsak zjisti, ze je po nem pozadovano kodovani souboru s priponou .gif. Misto aby se pustil do dila, odpovi klientovi "hele s timhle ja nechci nic mit, vezmi si rovnou ten soubor". Klient si ho vezme a vse funguje k plne spokojenosti vsech zucastnenych.
<!--MYCHARSET=kod-->Napriklad <!--MYCHARSET=CP1250-->. Pocinaje radkem, obsahujicim tento komentar (doporucuji jej uvest na samostatnem radku na zacatku dokumentu), bude za vychozi kod dokumentu povazovan kod CP1250. SaCzech-U behem konverze nevklada do vysledneho dokumentu puvodni komentare typu <!--MYCHARSET=kod-->, protoze jiz neplati, a misto nich vlozi na jeho uplny pocatek komentar s vyznacenim kodu do nehoz je dokument prekladan. Po ulozeni pak neni pochyby v jakem kodu je dana kopie dokumentu zapsana. Je mozno pak pokracovat v upravovani dokumentu v novem kodu.
Pro milovniky patologickych pripadu:
<!--BAR-->SaCzech-U jej behem zpracovani textu nahradi nabidkou moznych kodu, do kterych lze stranku prevest. Ridte se podobnymi pravidly, jako v pripade MYCHARSET - v komentari neuvadejte nic jineho.
Chcete-li, aby nabidka kodu byla nadepsana anglicky (napr. na anglicke strance, ktera obsahuje ceska jmena), pouzijte komentar
<!--BAR E-->
Pokud uvedete na jednom radku vice nez jeden komentar
<!--BAR --> nebo <!--BAR E-->, SaCzech-U
vygeneruje jen jednu nabidku podle prvniho komentare a vsechny ostatni
ignoruje. Aby se zamezilo opakovanemu generovani nabidek pri opetovnem
pouziti konvertovaneho dokumentu, SaCzech-U neprekopiruje ani komentare
typu BAR do odesilaneho dokumentu, pred kazdou nabidkou
ale vypise pozmeneny komentar upozornujici na to, ze
byla vygenerovana automaticky.
SaCzech-U a CGI
Aby mohl spolupracovat s CGI skripty a menit kod jejich vysledku je treba
SaCzech-U instalovat tak, aby kodovane dokumenty ziskaval metodou
http (kazdy dokument ziskava od serveru protokolem HTTP) nebo
guess (snazi se uhadnout, co je obycejny soubor a co volani CGI
skriptu, ve druhem pripade opet sahne k protokolu HTTP). Podrobnosti se
doctete v kapitole o instalaci.
Provedl jsem i vsechny zmeny v souboru enchttp.tpl, ktere
byly potrebne pro podporu metody http pri instalaci
SaCzech-U v soukromem adresari uzivatele. Zda se, ze vysledny kod
funguje spravne, nemel jsem ale zatim moznost ho dostacne otestovat.
Zachovani kodu v obrazcich s klikou.
Tipy, triky, rizika
Prosim, obratte se primo na dokumentaci puvodniho programu SaCzech.