A neni jednodussi
echo '<?xml version="1.0" encoding="iso-8859-2">';
?
lukys: Já jenom říkám, že to s těmi tagy jde
Jinak ty důvody mě docela zajímají... Jsou ještě jiné než:
1) Technologie Microsoftu
2) Málo freehostingů?
freehostingů je snad dost...
Když už jsme u toho <title>, tak já ho dávám obvykle až někde mezi posledními tagy hlavičky. Dělám snad něco špatně?
riza-do: Jo, ale na ASP je jich málo
Kit: To se právě snažíme zjistit :-|
Kit: Imho ne, ale kdo ví...
xergic: to neznám, nebo jako znám, ale neumím, nemám ani tušení,takže tak...
Kit: myslím že tohle je jen podle toho, jak se v tom vyznáš... jinak to nemá určený pravdla (snad)
riza-do: Přesne tak to beru. Uspořádání hlaviček by mělo odpovídat zvyklostem autora. Prvně samozřejmě dávám typ dokumentu a kódování, aby měl Apache co nejméně práce to najít (obojí musí hodit do záhlaví). Potom by už neměl být problém uvést hlavičky v libovolném pořadí.
Hmm ale my se tady bavíme o xhtml. A jak už jsem psal, v té knize je jasně napsáno, že v xhtml musí být title první :-)
Nemíním se hádat, ale už nevím co si o tom mám myslet
Na http://www.w3.org je zase jasně napsáno, že v XHTML sekce HEAD musí obsahovat element TITLE. Ani zmínka o tom, že by musel být jako první.
Samozřejmě věřím víc W3C.
Jenže ten co tu knížku psal je jedním ze zakládajících členů W3C.
V tom případě mi není jasné, proč tuto poznámku neprotlačil do specifikace.
tak je jasný, že ani z W3C to nevědí a berouto jako podle zvyklostech, ono totiž někdo bere pravidlo co si on sám vymyslel a pak to považuje za zprávný, přitom to může být i jinak :)
Takže:
Nemusí být první, dle DTD pro XHTML 1.0 Strict: http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
Ono jde taky hlavně o to, jestli tohle téma bylo založeno pro HTML nebo pro XHTML nebo oboje, nadpis ani text autora neodpovídá nijaké nápovědě :)
(důkaz pro XHTML 1.1 je zde: http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd a http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod )
:-) Já zapomněl... Ale napravil jsem to hned ve třetím příspěvku ;o)
Nemusí být první, ale je jako první uveden v témže DTD v elementu head 8)
xergic: sorry, nečetl jsem všechno ^^;;
A není to náhodou takto?
<![%head.element;[
<!ENTITY % head.content
"( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"
>
<!ENTITY % head.qname "head" >
<!ELEMENT %head.qname; %head.content; >
<!-- end of head.element -->]]>
Jinými slovy: Title je někde mezi dalšími entitami sekce HEAD.
Nenárokuju si nějaký patent na univerzální pravdu, ale imho je to takhle:
V HTML by před title měla být ta definice kódování, aby se v nějakém starém neschopném prohlížeči nestalo, že diakritika v title bude plná čtverečků, popřípadě jinak zprzněná.
V XHTML by title měl být co nejblíž u začátku, protože podle tohohle tagu se orientují roboti, tak asi aby se zorientovali rychle... Je to vůbec nejdůležitější prvek, který informuje o obsahu stránky.
Definice kódování je v xml deklaraci, ale doporučuje se mít na začátku pořád tu metainformaci o charsetu. Jelikož to mám napsané v deklaraci hned na prvním řádku, dávám veškeré metainformace až za title.
Freya: Tak si to nech patentovat ;)
Já nevím... Prostě budu dávat title první a nikdo mi to (asi) nevezme :-) Ono teda spíš ze zvyku
Já mám pocit, že title prohlížeče většinou zobrazí až po dočtení stránky, nebo alespoň hlavičky, a tak je celá tahle debata zbytečná. Ale možná je to jen můj pocit.
Co se týče < ? x m l ? > deklarace, lze v PHP vyřešit buď již zmíněným echem (což je velice čisté řešení), nebo asp tagy (zapnout by imho měly jít pomocí htaccessu, ale jistý si nejsem), nebo tou šílenou <<?... konstrukcí.
Je zde ale mnohem lepší řešení - nastavit úplné značení php ostrůvků... tj. když za otazník přichází ještě slůvko php. tedy nikoliv <? ostrůvek ?>, ale <?php ostrůvek ?>. <? něco ?> nebude fungovat, tudíž <?xml ... ?> by mělo zůstat bez úhony ;)
stačí do htaccess přidat:
php_flag short_open_tag off
pak by to už mělo fachat ;)