Html::$xhtml na false

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Ondřej Mirtes
Člen | 1536
+
0
-

Ahoj,
jelikož framework (dle Skeletonu) inklinuje spíše k HTML než k XHTML, neměla by knihovna Html ve výchozím nastavení generovat spíše HTML?

Honza Marek
Člen | 1664
+
0
-

Neměla, byla by to zbytečná zpětná nekompatibilita. Ten jeden řádek nemám problém do bootstrapu přidat.

Petr Motejlek
Člen | 293
+
0
-

Souhlas. XHTML jednou přijde, i když to nebude to brzo ;).

Ondřej Mirtes
Člen | 1536
+
0
-

Já jsem spíš dospěl k názoru, že XHTML odchází :)

BC break to je, ale stejně je to nastavení tak zahrabané, že málokoho napadne se o něj starat, či si ho přenastavovat. A vývojové verze jsou od toho, aby se BC breaky dělaly.

Patrik Votoček
Člen | 2221
+
0
-

Jsem na tom stějně jako Ondra XHTML pomalu odchází (vývoj XHTML 2 byl pozastaven/zrušen) ale HTML5 bude podporovat oba typy jak uzavirani nepárových tagů tak jejich neuzavírání.

Ondřej Mirtes napsal(a):

A vývojové verze jsou od toho, aby se BC breaky dělaly.

Tohle mě ale moc pěkné nepřipadá protože to vyznělo jako kdyby se mohlo klidně změnit celé API, když je to vývojová verze.

Jinak abych také vyjádřil svůj názor. Bylo by pěkné kdyby v tomto byly distribuční balíky jednotné. Aby examples v distru byly stejné jako standartní nastavení. Tj. pokud je \Nette\Web\HTML::$xhtml standartně na TRUE tak aby i šablony byly v XHTML nebo aby alespoń bylo \Nette\Web\HTML::$xhtml přenastaveno v bootstrapu na FALSE.

Petr Motejlek
Člen | 293
+
0
-

Osobně sdílím stejný názor jako Ondra. Dokonce si myslím, že o BC breaky bychom se u frameworku moc starat ani nemuseli, pokud píšu webovou aplikaci, tak si vezmu stabilní verzi Nette a přímo pro ni píšu tu aplikaci. Pokud je v té verzi nalezena nějaká chyba (něco nefunguje, nebo je nebezpečné), počkám si, až je opravená, a vyjde nová stabilní verze (která je na stejné úrovni (když mám 0.8.X, nebudu si aktualizovat na 0.9.X ;)).

Vedle stabilních verzí (0.8.x, 0.9.x) existuje development verze, kde se věci zkouší a různě přehazují. Když se v ní dospěje do něčeho lepšího, než je ve stable (i za cenu, že to není zpětně kompatibilní), je potřeba to lidem dát k použití – v tuhle chvíli se zvýší stable verze (např. z 0.8 na 0.9). Lidi nepotřebujou, aby byl framework za všech okolností zpětně kompatibilní s verzí starou jeden rok zpátky…

Ruku na srdce, kdy naposledy jste u webu, který funguje, aktualizovali Nette (mimo bezpečnostních záplat (i když teda nevím, jestli někdy vůbec nějaké byly třeba :)))? Ono proč by to taky někdo dělal, když mu vše funguje, že?

Můj osobní názor je, že aktualizace, které ničí zpětnou kompatibilitu, by se měly hlásit (tak, jak to David doteď dělá v Changelogu), ale rozhodně bych neponechával kód zaneřáděn věcmi jako Presenter::$oldLayoutMode atd. ;)

Honza Marek
Člen | 1664
+
0
-

BC breaky by se měly dělat tehdy, pokud mají smysl. Tohle je, řekl bych, úplná pitomost. Jen to podráždí pár nadšených validovačů…

jasir
Člen | 746
+
0
-

Na druhou stranu jestli dělat bc breaky, tak před vydáním verze 1.0, čili teď. Takovéto drobné čištění – a tedy udržování dosavadní čistoty frameworku – je určitě dobré.

David Grudl
Nette Core | 8169
+
0
-

Faktem je, že nastavení Html::$xhtml by mohl řešit LatteFilter. Zavolání {contentType neco/xml} by nastavilo hodnotu na TRUE. Pokud se neodesílá stránka s tímto mimetypem (tj. odesílá se s text/html), je použití XHTML syntaxe sporné. HTML specifikace ho výslovně zakazuje, XHTML a HTML5 akceptuje, W3C validátor vyžaduje a prohlížeče tolerují.

Nastavení přes LatteFilter ale neřeší situace, kdy renderujeme vlastní AJAXový výstup. Takže možná nastavit v bootstrapu či přes config.INI?

Ondřej Mirtes
Člen | 1536
+
0
-

LatteFilter ale s Html třídou nesouvisí, já na to přišel náhodou, když mi validátor nechtěl vzít výstup z WebLoaderu Honzy Marka – nejdřív jsem chtěl reportovat bug jemu, ale pak jsem si všiml tohoto nastavení třídy Html. Přidal jsem si to do bootstrapu, ale řekl jsem si, že by bylo lepší to mít defaultně, když byl Skeleton nedávno taky přehozen na HTML 4.01.