Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: anonym 12. 11. 2018, 15:59:57

Název: Proč se v Javě XML nahrazuje YML?
Přispěvatel: anonym 12. 11. 2018, 15:59:57
Přinejmenším na Java plaformě se v posledních letech začalo omezovat používání XML souborů ve prospěch psaní přímo v Javě - vývojáři si asi uvědomili, že proč programovat v XML, když to můžeme dělat přímo v Javě.

Co se ale děje teď, je skoro k neuvěření, XMLka začal nahrazoval formát YML. Píšou se v tom konfiguráky nejrůznějšího typu. Statickou typovou kontrolu to nemá vůbec žádnou. U technologie která YML používá jako konfigurák se tak vlastně ani nemůžu podívat, jaké možná parametry můžu nastavit. A rovněž mi nic nedělá ani základní typovou kontrolu.

Dále by mě zajímalo, k čemu je vlastně dobrý formát YML, když už v podstatě to samé dokáže (pokud se nepltetu) formát JSON? Nebo je snad něco co v YML nepíšu a JSON nikoliv?

Mohli byste mi tu někdo vysvětlit, se tak rozmáhá formát YML namísto starého dobrého XML, které vlastně ani nebylo tak špatné? Jaký to má smysl? Komu to má prospět? Kdo tohleto vymyslel?
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: David 12. 11. 2018, 16:03:45
Přinejmenším na Java plaformě se v posledních letech začalo omezovat používání XML souborů ve prospěch psaní přímo v Javě - vývojáři si asi uvědomili, že proč programovat v XML, když to můžeme dělat přímo v Javě.

Co se ale děje teď, je skoro k neuvěření, XMLka začal nahrazoval formát YML. Píšou se v tom konfiguráky nejrůznějšího typu. Statickou typovou kontrolu to nemá vůbec žádnou. U technologie která YML používá jako konfigurák se tak vlastně ani nemůžu podívat, jaké možná parametry můžu nastavit. A rovněž mi nic nedělá ani základní typovou kontrolu.

Dále by mě zajímalo, k čemu je vlastně dobrý formát YML, když už v podstatě to samé dokáže (pokud se nepltetu) formát JSON? Nebo je snad něco co v YML nepíšu a JSON nikoliv?

Mohli byste mi tu někdo vysvětlit, se tak rozmáhá formát YML namísto starého dobrého XML, které vlastně ani nebylo tak špatné? Jaký to má smysl? Komu to má prospět? Kdo tohleto vymyslel?

Minimalne je to citelnejsi viz https://www.csestack.org/yaml-vs-json-vs-xml-difference/

Chcete se zeptat na neco konkretniho nebo ocekavate ze za vas budeme jako cvicene opice parsovat vysledky z google?
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: To je jedno 12. 11. 2018, 16:13:37
Nevim přesně jaký balík to dělá, ale v mém frameworku v PHP dokážu definovat a pak validovat strukturu YML.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: wsh 12. 11. 2018, 16:17:30
Tohle bude asi pěkný flamewar. Jestli se opravdu jen ptáš, tak za mě je YAML lepší pro konfigurační soubory než JSON, protože je čitelnější, jdou v něm psát komentáře bez nějakých workaroundů a celkově je tak nějak bližší tradičním konfiguračním souborům na unixu.

Ukázka z praxe: https://aws.amazon.com/blogs/mt/the-virtues-of-yaml-cloudformation-and-using-cloudformation-designer-to-convert-json-to-yaml/
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Filip Jirsák 12. 11. 2018, 16:23:06
Berte to tak, že někteří lidé prostě k smrti nenávidí špičaté závorky. Nic jiného za tím není, hledat v tom nějakou logiku je pošetilé.

Už spoustu let tu máme XML, které má jmenné prostory, schémata (XSD), transformace (XSLT), ukazatele (XPath, XPointer), dotazovací jazyk (XQuery). Pak ale přišel někdo, že je XML moc ukecané a bůhvíco ještě, a vymyslel JSON, který se prý mnohem lépe čte a píše. No a pro JSON se pomalu vymýšlí to samé, co máme pro XML – schémata (JSON Schema), ukazatele (JSON Pointer). A teď mám i nejnovější objev, dotazovací jazyk – GraphQL. No a do toho přišel někdo s tím, že JSON je moc ukecaný a bůhvíco ještě (kde jsem to jen viděl), a vymyslel YAML, který se prý mnohem lépe čte a píše.

Takže já bych to nijak neřešil. Ti, co potřebují každé tři roky nový formát, je budou vynalézat stále. No a těm ostatním dojde, že problém není ve formátu. Že jakékoli složitější dokumenty jsou prostě bez podpory na straně editorů (zvýrazňování, formátování, doplňování) nepřehledné z principu, a žádným formátem se to nedá ošidit. No a pro ty tu  pořád bude stabilní a prověřené XML, které má dávno vyřešené všechno, co se teď ve světě JSON/YAML s velkou slávou objevuje.

Ale když už ve světě JSONu vynalezli XSD, XPath a teď i XQuery, kdy myslíte, že vynaleznou XSLT?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: zdenek henek nereg. 12. 11. 2018, 17:06:48
Přinejmenším na Java plaformě se v posledních letech začalo omezovat používání XML souborů ve prospěch psaní přímo v Javě - vývojáři si asi uvědomili, že proč programovat v XML, když to můžeme dělat přímo v Javě.

Co se ale děje teď, je skoro k neuvěření, XMLka začal nahrazoval formát YML. Píšou se v tom konfiguráky nejrůznějšího typu. Statickou typovou kontrolu to nemá vůbec žádnou. U technologie která YML používá jako konfigurák se tak vlastně ani nemůžu podívat, jaké možná parametry můžu nastavit. A rovněž mi nic nedělá ani základní typovou kontrolu.

Dále by mě zajímalo, k čemu je vlastně dobrý formát YML, když už v podstatě to samé dokáže (pokud se nepltetu) formát JSON? Nebo je snad něco co v YML nepíšu a JSON nikoliv?

Mohli byste mi tu někdo vysvětlit, se tak rozmáhá formát YML namísto starého dobrého XML, které vlastně ani nebylo tak špatné? Jaký to má smysl? Komu to má prospět? Kdo tohleto vymyslel?

Ale vzdyt si muzete vybrat!

Napr. takove gis standardy jsou porad XML
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Pavel Stěhule 12. 11. 2018, 17:29:48
Už spoustu let tu máme XML, které má jmenné prostory, schémata (XSD), transformace (XSLT), ukazatele (XPath, XPointer), dotazovací jazyk (XQuery). Pak ale přišel někdo, že je XML moc ukecané a bůhvíco ještě, a vymyslel JSON, který se prý mnohem lépe čte a píše. No a pro JSON se pomalu vymýšlí to samé, co máme pro XML – schémata (JSON Schema), ukazatele (JSON Pointer). A teď mám i nejnovější objev, dotazovací jazyk – GraphQL. No a do toho přišel někdo s tím, že JSON je moc ukecaný a bůhvíco ještě (kde jsem to jen viděl), a vymyslel YAML, který se prý mnohem lépe čte a píše.

Takže já bych to nijak neřešil. Ti, co potřebují každé tři roky nový formát, je budou vynalézat stále. No a těm ostatním dojde, že problém není ve formátu. Že jakékoli složitější dokumenty jsou prostě bez podpory na straně editorů (zvýrazňování, formátování, doplňování) nepřehledné z principu, a žádným formátem se to nedá ošidit. No a pro ty tu  pořád bude stabilní a prověřené XML, které má dávno vyřešené všechno, co se teď ve světě JSON/YAML s velkou slávou objevuje.

YAML - je vizuální markdown jazyk - a už před nástupem JSONu jsem jej vidět používat pro konfigurace, pro poznámky. V JSONu a XMLku je ta vizuální stránka potlačená.

XMLko je fajn, ale některé z mých nepříjemných zážitků jsou spojené s konfigurací Java aplikací v XML. Případně číst XML logy taky nemusím.

Srovnejte si složitost SOAPu a RESTu - tam mám pocit, že designéři se trochu utrhli s řetězu. Asi by mohl docela dobře existovat REST nad XML, ale k výměně technologie obvykle musí být víc důvodů než jeden - byť některé důvody jsou marketingové nebo podmíněné nástupem nové generace programátorů, která starší technologii nezvládla nebo odmítla.

V programování hraje velkou roli lidský faktor a dochází k cyklické obměně technologii - jednak se mění hw, mění se požadavky zákazníků, a většina technologii má tendence bobtnat - což není problém, když danou technologii zastihnete na začátku cyklu jako junior nebo mladý senior - změny stíháte absorbovat. Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: senior 12. 11. 2018, 18:35:04
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: listoper 12. 11. 2018, 18:49:18
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.
:) pobavilo
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Filip Jirsák 12. 11. 2018, 18:55:50
YAML - je vizuální markdown jazyk - a už před nástupem JSONu jsem jej vidět používat pro konfigurace, pro poznámky. V JSONu a XMLku je ta vizuální stránka potlačená.

XMLko je fajn, ale některé z mých nepříjemných zážitků jsou spojené s konfigurací Java aplikací v XML. Případně číst XML logy taky nemusím.

Srovnejte si složitost SOAPu a RESTu - tam mám pocit, že designéři se trochu utrhli s řetězu. Asi by mohl docela dobře existovat REST nad XML, ale k výměně technologie obvykle musí být víc důvodů než jeden - byť některé důvody jsou marketingové nebo podmíněné nástupem nové generace programátorů, která starší technologii nezvládla nebo odmítla.

V programování hraje velkou roli lidský faktor a dochází k cyklické obměně technologii - jednak se mění hw, mění se požadavky zákazníků, a většina technologii má tendence bobtnat - což není problém, když danou technologii zastihnete na začátku cyklu jako junior nebo mladý senior - změny stíháte absorbovat. Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.
Na konfigurační soubory, které se vejdou na jednu obrazovku a mají maximálně tři úrovně odsazení, je YAML krásný formát. Jenže každý takovýhle krásný jednoduchý konfigurační soubor časem roste a roste. A to je problém všech těchhle formátů, které mají být jednodušší než XML. Všechny fungují na jednoduchých příkladech, ale se stoupající komplexitou toho, co mají popisovat, křivka použitelnosti strmě klesá. Podívejte se třeba na pradědečka všech těchhle formátů „jednodušších než HTML/XML“ – wiki, konkrétně MediaWiki syntax. Když se podíváte na zdroják libovolné stránky na Wikipedii, je tam plno nesrozumitelných šablon, parametry se píšou pokaždé jinak a bez nápovědy nenapíšete ani externí odkaz. O co přehlednější a srozumitelnější by ten zdroják byl, kdyby se nepoužíval „jednoduchý“ wiki jazyk, ale „komplikované“ XML.

Konfigurace Java aplikací přes XML bývá problém, když je pro konfiguraci použitý prakticky vlastní jazyk serializovaný do XML. Jde to udělat, ale to neznamená, že je to dobrý nápad – a není to chyba XML. A zrovna ty logy – ony i v tom textovém souboru mají nějakou strukturu, která se zápisem do čistého textu ztratí, a pak ji zase další nástroje pro analýzu logů pracně obnovují. Nepřipadá mi zase tak špatný nápad dělat to opačně – logovat strukturovaná data, a pak je případně pro zobrazení člověku hezky zformátovat. Ostatně logování v cloudu už přesně k tomuhle vede, protože logy z desítek strojů už nejde zpracovávat tak, že si budete pročítat textové soubory.

U SOAPu je ten problém, že se snažil vyřešit všechny problémy světa a vyhovět všem. REST nemá formát specifikovaný, může se použít i XML a často se používá, a oproti použití JSONu to má spoustu výhod. Použít pro REST JSON má vlastně jedinou výhodu – snadno se s tím pracuje v prohlížečích, protože prohlížeče nemají rozumné nástroje pro práci s XML (přestože pracují s DOMem, který je přirozenou reprezentací XML).

S tou obměnou technologií v cyklech je to pravda. Mně ale na těch opakovaných snahách vymyslet „jednoduché XML“ vadí to, že se nepoučí z předchozích případů. Takže pořád dokola vznikají WikiWiki, Markdown, JSON, YAML a vždy se na to vrhne spousta lidí s pocitem, že teď už to konečně bude jednoduché – a nedochází jim, že ta složitost není v jazyce, ale v těch dokumentech, a že pro zápis složitějších dokumentů prostě je potřeba určitá robustnost, která u jednoduchých dokumentů skutečně bude trochu překážet. Akorát že se vyplatí naučit se ten nástroj používat, i když je na jednoduché dokumenty trochu neohrabaný, protože se to mnohonásobně vrátí v budoucnosti.

XML by pomohla jedna věc – vydat novou verzi, ve které bychom se vykašlali na DTD a uživatelské entity, a ponechalo by se tam to, co se dnes z XML reálně používá. Problém je, že mnozí by chtěli nejspíš vyházet i XML instrukce a/nebo CDATA, na čemž se nejspíš nikdo neshodne, tak se do toho nikdo raději ani nepouští.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Youda 12. 11. 2018, 18:56:17
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.

Protoze jeji maintaineri meli rozum a udrzeli se puzeni strkat modni veci primo do jawy.
Zrejme pouceni z dob, kdy do jawy primo zadratovali podporu WS, aby s tim pak byl nebetycny oser.
Vetsinou se v ramci JSR requestu pouze definuje API (se stridavou uspesnosti), pak se necha nekdo jako Apache Foundation, aby vyrobil referencni implementaci, napr treba Apache Axis, ktery pak nahradil Apache CXF, kdyz mluvime o webservicach.

A pak se v mavenu do projektu pridratuje CXF, JSR API zajisti (se stridavym uspechem) prenositelnost, a neni nutno zasirat primo standardni library.

A primo do jawy se pridavaly pouze veci, ktere pres externi knihovny nevyresis, treba anotace, generika, stream API.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Pavel Stěhule 12. 11. 2018, 18:57:17
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.

Jako vtip dobrý. Java je zrovna perfektním ukázkou mého tvrzení - její ekosystém je po cca 20 letech morbidní - desítky knihoven a frameworků jsou legacy, ale stále se aktivně používají (v enterprise prostředí je upgrade až ta poslední věc). Java jako jazyk zůstala jednoduchá, ale o to více se komplikoval její ekosystém. V praxi se asi nepotkáte s tím, že by se programovalo v čisté Javě. Podobný vývoj je vidět i na C# - jelikož si vývoj držel pod palcem Microsoft, tak vývoj nepřipomínal kambrickou explozi, ale tam se zase výrazně bobtnal vlastní programovací jazyk.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 12. 11. 2018, 19:02:35
Ještě tady nebyl zmíněn formát INI, který také s oblibou používám pro zápis konfigurace. Dvě úrovně mi musí stačit, jinak je návrh struktury špatný.

XML je vyčítána ukecanost. Při dobrém návrhu struktury se však vyrovná JSONu. YAML je sice o něco stručnější, ale o to zranitelnější. Při jeho editování si raději zvýrazním taby, jinak se z toho může stát noční můra.

Jaká jsou vlastně komponenty XML?

Co z toho mají ostatní formáty? JSON má jen ten element, nic víc. YAML k tomu přidává možnost komentářů, což je významným plusem. Příkazy procesoru a deklaraci typu dokumentu tvůrci alternativních formátů nedefinovali - zřejmě jim nedošlo, k čemu jsou dobré. Prostě oznámili, že nejsou potřebné.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Pavel Stěhule 12. 11. 2018, 19:12:17
XML by pomohla jedna věc – vydat novou verzi, ve které bychom se vykašlali na DTD a uživatelské entity, a ponechalo by se tam to, co se dnes z XML reálně používá. Problém je, že mnozí by chtěli nejspíš vyházet i XML instrukce a/nebo CDATA, na čemž se nejspíš nikdo neshodne, tak se do toho nikdo raději ani nepouští.

Souhlas. Je to jednak problém zpětné kompatibility, druhak u některých technologií je prostě nutné znovu vymýšlet kolo, protože lidi jen lidi. Jednak hromada programátorů bez vysokoškolského vzdělání vůbec netuší rozsah XML, a pak také někdy je jednodušší začít z gruntu znova než se přetlačovat s existujícím kódem, standardy, .. Je to docela problém - někdy je dobře, když funkčně podobné, ale nekompatibilní věci prostě vypadají jinak - a někdy to naštve, protože se člověk musí učit věci víckrát.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Youda 12. 11. 2018, 19:50:01
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.

Jako vtip dobrý. Java je zrovna perfektním ukázkou mého tvrzení - její ekosystém je po cca 20 letech morbidní - desítky knihoven a frameworků jsou legacy, ale stále se aktivně používají (v enterprise prostředí je upgrade až ta poslední věc). Java jako jazyk zůstala jednoduchá, ale o to více se komplikoval její ekosystém. V praxi se asi nepotkáte s tím, že by se programovalo v čisté Javě. Podobný vývoj je vidět i na C# - jelikož si vývoj držel pod palcem Microsoft, tak vývoj nepřipomínal kambrickou explozi, ale tam se zase výrazně bobtnal vlastní programovací jazyk.

Ze nekdo stale pouziva nejake stare ohavnosti ale vubec neni problem javy, ta je, jak rekl predrecnik, stale jednoduchy a elegantni jazyk.
V jave zkratka zalozim novy projekt, do pom.xml dal jenom slusne a overene moderni frameworky co zrovna potrebuju, ze nekde na maven central sedi nejaka hromada stareho desiveho hnoje me vubec nezajima.

A pokud nejsem prase a ani maintainer frameworku neni, upgrady jdou jednoduse.
Minuly tyden jsem na stavajicicm rozdelanem projektu upgradoval Spring Boot prepsanim retezce "1.5.9" na "2.0.5" v pom.xml. Hotovo.

Naopak .Net na bobtnani dojel a .Net Core je prave snaha o setrepani stareho balastu.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: gll 12. 11. 2018, 19:56:37
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.

Jako vtip dobrý. Java je zrovna perfektním ukázkou mého tvrzení - její ekosystém je po cca 20 letech morbidní - desítky knihoven a frameworků jsou legacy, ale stále se aktivně používají (v enterprise prostředí je upgrade až ta poslední věc). Java jako jazyk zůstala jednoduchá, ale o to více se komplikoval její ekosystém. V praxi se asi nepotkáte s tím, že by se programovalo v čisté Javě. Podobný vývoj je vidět i na C# - jelikož si vývoj držel pod palcem Microsoft, tak vývoj nepřipomínal kambrickou explozi, ale tam se zase výrazně bobtnal vlastní programovací jazyk.

Ze nekdo stale pouziva nejake stare ohavnosti ale vubec neni problem javy, ta je, jak rekl predrecnik, stale jednoduchy a elegantni jazyk.
V jave zkratka zalozim novy projekt, do pom.xml dal jenom slusne a overene moderni frameworky co zrovna potrebuju, ze nekde na maven central sedi nejaka hromada stareho desiveho hnoje me vubec nezajima.

A pokud nejsem prase a ani maintainer frameworku neni, upgrady jdou jednoduse.
Minuly tyden jsem na stavajicicm rozdelanem projektu upgradoval Spring Boot prepsanim retezce "1.5.9" na "2.0.5" v pom.xml. Hotovo.

Naopak .Net na bobtnani dojel a .Net Core je prave snaha o setrepani stareho balastu.

používání specializovaných formátů jako XML/YML pro konfiguraci je problém kompilovaných jazyků. V interpretovaných jazycích většinou můžete psát konfiguraci přímo.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Kit 12. 11. 2018, 20:02:24
Když se podíváte na zdroják libovolné stránky na Wikipedii, je tam plno nesrozumitelných šablon, parametry se píšou pokaždé jinak a bez nápovědy nenapíšete ani externí odkaz. O co přehlednější a srozumitelnější by ten zdroják byl, kdyby se nepoužíval „jednoduchý“ wiki jazyk, ale „komplikované“ XML.

Kdysi jsem to zkusil přepsat do XML. Čitelnost se razantně zvýšila, hlavně doplněním sémantických značek místo pozičních parametrů. Od té doby používám XML pro zápis textů určených nejen pro HTML, ale i pro jiné účely. Elegantně se tím oddělí data od specifikace formátu zobrazení. Tady bych si rýpnul i do různých prezentačních frameworků (Latte, Twig, ...) které to buď neumí, anebo k tomu vývojáře nevedou.

... logovat strukturovaná data, a pak je případně pro zobrazení člověku hezky zformátovat. Ostatně logování v cloudu už přesně k tomuhle vede, protože logy z desítek strojů už nejde zpracovávat tak, že si budete pročítat textové soubory.

Zkusil jsem logování ve stylu jeden záznam - jeden řádek JSON. Bylo to krásně čitelné a poradilo si to i s non-ASCII. Úplně stejně by to šlo v XML.

Použít pro REST JSON má vlastně jedinou výhodu – snadno se s tím pracuje v prohlížečích, protože prohlížeče nemají rozumné nástroje pro práci s XML (přestože pracují s DOMem, který je přirozenou reprezentací XML).

JSON je formát, který je vhodný pro komunikaci s aplikací v Javascriptu a odvozených jazycích. Pro jiné účely by se používat neměl.

... a nedochází jim, že ta složitost není v jazyce, ale v těch dokumentech, a že pro zápis složitějších dokumentů prostě je potřeba určitá robustnost, která u jednoduchých dokumentů skutečně bude trochu překážet.

Ta robustnost XML nemusí překážet, pokud je správně uchopena. Komu vadí XML, ten by si měl pořídit editor s formulářem generovaným z XSD nebo RelaxNG. Data uložená do takového formuláře se zapíší do validního XML. V čem je problém? Chtějí snad na editování konfigurace používat Notepad bez jakékoli možnosti validace?

XML by pomohla jedna věc – vydat novou verzi, ve které bychom se vykašlali na DTD a uživatelské entity, a ponechalo by se tam to, co se dnes z XML reálně používá. Problém je, že mnozí by chtěli nejspíš vyházet i XML instrukce a/nebo CDATA, na čemž se nejspíš nikdo neshodne, tak se do toho nikdo raději ani nepouští.

Tady nesouhlasím. DTD je sice přežitkem, ale proč se zbavovat uživatelských entit? XML instrukce a CDATA většina uživatelů asi nezná a je ochotna je postrádat ale když je nepoužijí, tak jim ani nepřekáží.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Kit 12. 11. 2018, 20:06:01
používání specializovaných formátů jako XML/YML pro konfiguraci je problém kompilovaných jazyků. V interpretovaných jazycích většinou můžete psát konfiguraci přímo.

Proč by kompilovaný jazyk nemohl načítat XML/JSON/YAML/INI pro konfiguraci?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Oooo 12. 11. 2018, 20:10:13
To jsou proste problemy modernich (hipsterskych, bukanyrskych) programatoru, designeru a dalsich lopat, kterym nestaci bitovy proud :-)

Vezmi jakykoliv textovy format, udelej bzip2, nebo efektivnejsi kompresi
A mas vyreseno setreni s daty.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: senior 12. 11. 2018, 20:15:58
Pokud ale k technologii přistoupíte v pozdějším cyklu, tak komukoliv bez let zkušeností letitá technologie musí přijít jako monstrum - do rozjetého vlaku se dost špatně nastupuje - a začíná se znova s něčím jednoduchým, přehledným, rychlým elegantním, z čehož se za 10-20 let stane monstrum.

Tak proč je Java pořád tak úžasná? Nebobtná, je jednoduchá, přehledná a elegantní. A to není úplně nová.

Jako vtip dobrý. Java je zrovna perfektním ukázkou mého tvrzení - její ekosystém je po cca 20 letech morbidní - desítky knihoven a frameworků jsou legacy, ale stále se aktivně používají (v enterprise prostředí je upgrade až ta poslední věc). Java jako jazyk zůstala jednoduchá, ale o to více se komplikoval její ekosystém. V praxi se asi nepotkáte s tím, že by se programovalo v čisté Javě. Podobný vývoj je vidět i na C# - jelikož si vývoj držel pod palcem Microsoft, tak vývoj nepřipomínal kambrickou explozi, ale tam se zase výrazně bobtnal vlastní programovací jazyk.

Ze nekdo stale pouziva nejake stare ohavnosti ale vubec neni problem javy, ta je, jak rekl predrecnik, stale jednoduchy a elegantni jazyk.
V jave zkratka zalozim novy projekt, do pom.xml dal jenom slusne a overene moderni frameworky co zrovna potrebuju, ze nekde na maven central sedi nejaka hromada stareho desiveho hnoje me vubec nezajima.

A pokud nejsem prase a ani maintainer frameworku neni, upgrady jdou jednoduse.
Minuly tyden jsem na stavajicicm rozdelanem projektu upgradoval Spring Boot prepsanim retezce "1.5.9" na "2.0.5" v pom.xml. Hotovo.

Naopak .Net na bobtnani dojel a .Net Core je prave snaha o setrepani stareho balastu.

+1
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: gll 12. 11. 2018, 20:19:07
používání specializovaných formátů jako XML/YML pro konfiguraci je problém kompilovaných jazyků. V interpretovaných jazycích většinou můžete psát konfiguraci přímo.

Proč by kompilovaný jazyk nemohl načítat XML/JSON/YAML/INI pro konfiguraci?

je pohodlnějěí psát konfiguraci ve stejném jazyce jako aplikace.
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Filip Jirsák 12. 11. 2018, 20:45:38
Tady nesouhlasím.
Vždyť jsem to psal, že se stejně lidi neshodnou, co z těch málo používaných věcí z XML vyhodit :-)

DTD je sice přežitkem, ale proč se zbavovat uživatelských entit? XML instrukce a CDATA většina uživatelů asi nezná a je ochotna je postrádat ale když je nepoužijí, tak jim ani nepřekáží.
Na XML instrukce i CDATA občas narazím. Uživatelské entity jsem v praxi ještě použité neviděl. Zbavoval bych se jich proto, že velmi komplikují XML parser a otvírají cestu pro různé XML injection chyby. Navíc tedy pokud vím, jsou definované v DTD, takže když se chci zbavit DTD, musím se zbavit i jich – pokud je nechci nějak komplikovaně zavádět jinak. Navíc zrušením DTD a uživatelských entit by se docílilo toho, že XML dokument by byl vždy samostatná plnohodnotná entita, nezávisel by na ničem dalším. (Trochu by to kazily výchozí hodnoty v XML schématu, ale to je věc o úroveň výš, XML dokument jde rozparsovat i bez nich.)
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Kit 12. 11. 2018, 20:46:58
používání specializovaných formátů jako XML/YML pro konfiguraci je problém kompilovaných jazyků. V interpretovaných jazycích většinou můžete psát konfiguraci přímo.

Proč by kompilovaný jazyk nemohl načítat XML/JSON/YAML/INI pro konfiguraci?

je pohodlnějěí psát konfiguraci ve stejném jazyce jako aplikace.

Viděl jsem to v praxi a byly s tím jen potíže, protože konfiguraci musel upravovat vývojář.

Právě u Javy je významný problém v tom, že nerada spolupracuje s jinými jazyky. Snaží se všechno zvládat sama. Jenže jaký význam má psaní konfigurace např. právě v té Javě?
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Kit 12. 11. 2018, 21:05:22
DTD je sice přežitkem, ale proč se zbavovat uživatelských entit? XML instrukce a CDATA většina uživatelů asi nezná a je ochotna je postrádat ale když je nepoužijí, tak jim ani nepřekáží.
Na XML instrukce i CDATA občas narazím. Uživatelské entity jsem v praxi ještě použité neviděl. Zbavoval bych se jich proto, že velmi komplikují XML parser a otvírají cestu pro různé XML injection chyby. Navíc tedy pokud vím, jsou definované v DTD, takže když se chci zbavit DTD, musím se zbavit i jich – pokud je nechci nějak komplikovaně zavádět jinak. Navíc zrušením DTD a uživatelských entit by se docílilo toho, že XML dokument by byl vždy samostatná plnohodnotná entita, nezávisel by na ničem dalším. (Trochu by to kazily výchozí hodnoty v XML schématu, ale to je věc o úroveň výš, XML dokument jde rozparsovat i bez nich.)

Uživatelské entity používám jako makra. Jak bys chtěl do XML entit injektovat chyby? To by neprošlo validací. Uživatelské entity se definují zpravidla přímo v dokumentu, ale je mnoho užitečných externích DTD, které obsahují entity vhodné pro určité obory činnosti.

Takže nelze zrušit ani DTD. Vlastně si ho můžeš zrušit tak, že ho nebudeš používat. XML dokument může být samostatnou plnohodnotnou entitou, stejně jako YAML/JSON/INI.

Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: z 12. 11. 2018, 22:03:08
Za roky praxe jsem jeste nevidel hezky/prehledny/citelny XML dokument, ktery by mel vice jak ~30 radku. Komentare nekomentare. DTD je hezka vec, ale jde zit bez toho, XSLT - probuh proc?! To snad nikdo nemuze nazvat featurou, tuhle vec bych rad zapomnel. XPath - no dobre, to je uzitecne, ale kolikrat jsem to potreboval za poslednich ~5 let? 1x?

A v neposledni rade - proc se ucit dalsich 10 veci, kdyz muzu znat programovaci jazyk a jednoduchou sytaxi pro konfigurace? :o ... Tohle je asi odpoved na to "proc". Dnes se programuje jinym zpusobem - rychle neco vyblejt a jit dal, ne resit den XMLko.

(S vaznejsim programovanim jsem zacal zacatkem milenia, proto mne rozhodne nelze narknout z nejakeho hipsterismu)
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Filip Jirsák 12. 11. 2018, 22:43:13
Uživatelské entity používám jako makra.
Podle mne to za ty problémy nestojí. Místo maker se dá použít XSLT.

Jak bys chtěl do XML entit injektovat chyby? To by neprošlo validací. Uživatelské entity se definují zpravidla přímo v dokumentu, ale je mnoho užitečných externích DTD, které obsahují entity vhodné pro určité obory činnosti.
„Neprošlo validací“ znamená, že už to muselo projít parserem. Právě ty externí DTD jsou obrovské bezpečností riziko.

Takže nelze zrušit ani DTD.
Já myslím, že lze. V pohodě bych se obešel bez všeho, co DTD umožňuje, nikdy jsem to nepotřeboval a neviděl použité.

Vlastně si ho můžeš zrušit tak, že ho nebudeš používat. XML dokument může být samostatnou plnohodnotnou entitou, stejně jako YAML/JSON/INI.
Může a většinou je. Ale nedá se na to spolehnout. Když budu psát XML parser, musím počítat s DTD. Když budu používat parser, musím řešit, jak se zachovat k případným externím DTD. Když budu psát webovou službu (ať na straně serveru nebo klienta), musím řešit, co když v tom XML někdo použije DTD, nebo dokonce externí DTD. Ano, když tu webovou službu definuju, můžu do podmínek navíc někde textově napsat, že se nesmí používat DTD. Ale bylo by fajn, kdyby si tohle nemusel definovat každý zvlášť a každý trochu jinak, ale kdyby stačilo napsat, že se používá XML 2.0.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 12. 11. 2018, 22:57:58
Za roky praxe jsem jeste nevidel hezky/prehledny/citelny XML dokument, ktery by mel vice jak ~30 radku.
Řekl bych, že jste na jeden koukal zrovna při psaní toho komentáře. HTML5 se dá serializovat i jako XHTML. Dokument si přece nemusíte prohlížet jen ve zdrojové podobě – dokumenty z LibreOffice nebo MS Wordu si také asi neprohlížíte ve zdrojáku, stejně jako HTML.

XSLT - probuh proc?! To snad nikdo nemuze nazvat featurou, tuhle vec bych rad zapomnel.
XSLT je výborná věc, můžete deklarativně popsat transformaci jednoho formátu XML dokumentu do jiného, a nemusíte to pracně programovat v nějakém imperativním jazyce. Máte třeba výstup z relační databáze jako XML, a pomocí XSL transformací z toho nasekáte HTML5 webovou stránku, FO a to převedete na PDF, MS Excel a LibreOffice a pro chudé z toho vyrobíte CSV. Porovnejte si to s JSONem, kde se to pořád přesypává ručně z jednoho JSONu do jiného.

XPath - no dobre, to je uzitecne, ale kolikrat jsem to potreboval za poslednich ~5 let? 1x?
Já několikrát měsíčně.

rychle neco vyblejt a jit dal, ne resit den XMLko.
Kdyby se v té YAML konfiguraci třeba Spring Bootu řešilo to samé, co se dříve řešilo XML pro Spring (Core), nebudete ten YAML řešit den, ale měsíc. Což ale nebyla chyba XML, ale jeho nevhodného použití (což není výtka, tehdy to moc lépe nešlo). Všimněte si, že abyste mohl tu konfiguraci třeba Spring Bootu dneska pohodlně editovat, museli pro to autoři IDE naprogramovat podporu, která rozumí tomu formátu souboru, rozumí Springu a umí to propojit. Přitom editory XML umí tohle s pomocí XML schémat dávno. Takže na straně editoru by se nemuselo řešit nic, a na straně Springu jenom umět z toho datového modelu konfigurace v Javě vygenerovat XSD. A to už můžou používat ty editory, můžou to používat validátory, může se to použít při generování dokumentace. Ale proč používat nástroje, které tu jsou už patnáct let, když to může celé napsat znova a pro tenhle jeden konkrétní případ, že…
Název: Re:XML vs YML - svět se zbláznil?
Přispěvatel: Kit 12. 11. 2018, 23:57:03
Uživatelské entity používám jako makra.
Podle mne to za ty problémy nestojí. Místo maker se dá použít XSLT.

XSLT má trochu jiné použití a nedá se nacpat do stejného dokumentu. Je fakt, že když je to umožněno, tak se dá udělat injekce.

Jak bys chtěl do XML entit injektovat chyby? To by neprošlo validací. Uživatelské entity se definují zpravidla přímo v dokumentu, ale je mnoho užitečných externích DTD, které obsahují entity vhodné pro určité obory činnosti.
„Neprošlo validací“ znamená, že už to muselo projít parserem. Právě ty externí DTD jsou obrovské bezpečností riziko.

Mezitím jsem si to našel a vyzkoušel přes xmllint.
https://en.wikipedia.org/wiki/XML_external_entity_attack (https://en.wikipedia.org/wiki/XML_external_entity_attack)
Zřejmě se s tím dají dělat docela kouzla a jedinou skutečnou obranou bude asi sandbox. Vyzkouším ještě jiné parsery a parametry.

Vlastně si ho můžeš zrušit tak, že ho nebudeš používat. XML dokument může být samostatnou plnohodnotnou entitou, stejně jako YAML/JSON/INI.
Může a většinou je. Ale nedá se na to spolehnout. Když budu psát XML parser, musím počítat s DTD. Když budu používat parser, musím řešit, jak se zachovat k případným externím DTD. Když budu psát webovou službu (ať na straně serveru nebo klienta), musím řešit, co když v tom XML někdo použije DTD, nebo dokonce externí DTD. Ano, když tu webovou službu definuju, můžu do podmínek navíc někde textově napsat, že se nesmí používat DTD. Ale bylo by fajn, kdyby si tohle nemusel definovat každý zvlášť a každý trochu jinak, ale kdyby stačilo napsat, že se používá XML 2.0.

Proč psát vlastní parser XML, když je jich docela slušný výběr? Načítání externích DTD vypneš při volání parseru.

Tohle je však docela hezké:
Kód: [Vybrat]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ELEMENT root ANY>
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root>&xxe;</root>
xmllint --noent to krásně rozbalí :)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 00:53:59
Za roky praxe jsem jeste nevidel hezky/prehledny/citelny XML dokument, ktery by mel vice jak ~30 radku. Komentare nekomentare. DTD je hezka vec, ale jde zit bez toho, XSLT - probuh proc?! To snad nikdo nemuze nazvat featurou, tuhle vec bych rad zapomnel. XPath - no dobre, to je uzitecne, ale kolikrat jsem to potreboval za poslednich ~5 let? 1x?

Kouknul jsem se na XML, které jsem nedávno dělal. Má něco přes 500k řádek, na čitelnosti mu to nijak neubírá. Komentáře tam nejsou, protože dobře navržené XML je samopopisné.

XSLT je skvělý jazyk. Deklarativně napíšeš, jak má vypadat výsledek. Když použiješ metodu pull, tak je to fakt na zbláznění. Proto se má používat push, který vypadá elegantně. Měl by ses obejít bez podmínek a cyklů, pak je to správně cool.

XPath je elegantním nástrojem pro výběr záznamů z XML. Používám ho velmi často a ve spojení s XSLT je to paráda.

Ještě nebylo zmíněno XQuery, které používám zejména při vyhodnocování testů. Umí toho sice méně než XSLT, ale je jednodušší - skoro jako SQL.

A v neposledni rade - proc se ucit dalsich 10 veci, kdyz muzu znat programovaci jazyk a jednoduchou sytaxi pro konfigurace? :o ... Tohle je asi odpoved na to "proc". Dnes se programuje jinym zpusobem - rychle neco vyblejt a jit dal, ne resit den XMLko.

Jakých dalších 10 věcí? Tohle vše je XML, které je podporováno většinou programovacích jazyků. Syntaxe je velmi jednoduchá, bariérou je jen deklarativní přístup různých nástrojů. XSLT se svým chováním dost podobá zde propagovanému Haskellu, i když syntaxe je jiná. Pro vývojáře, který píše strukturovaně nebo objektově, je to docela obtížně stravitelné, ale když se dostane přes "aha", tak zjistí, že to zas tak obtížné není.

Konfigurace se načítá jednoduše: Natáhneš si XML do DOMu a pak si přes getElementById(), getElementsByTagName() nebo přes XPath vytáhneš ten node (resp. jejich seznam), který tě zajímá. Ještě lepšího výsledku však dosáhneš použitím metody push, která je efektnější a efektivnější.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: technomaniak 13. 11. 2018, 05:48:08
Přinejmenším na Java plaformě se v posledních letech začalo omezovat používání XML souborů ve prospěch psaní přímo v Javě - vývojáři si asi uvědomili, že proč programovat v XML, když to můžeme dělat přímo v Javě.

Já ho sice nepoužívám(jedu na XML) ale vypadá mnohem jednodušší na naučení. Za mě je nevýhodou XML jeho rozsáhlost, různé typy XML, specifikace schémat, atd.. stal se prostě moc složitým. Takže zcela rozumím, proč se u XML učit 100x  více( a tedy i mnohem déle) + pamatovat si to, se lidem zjevně nechce. např. ta kniha od Herouta je dobrá, ale má cca 200+ stránek a plně nepokrývá vše co XML obnáší, zatím co YML (např. https://dzone.com/articles/using-yaml-java-application ) je mnohem, mnohem jednoduší a znakové sady taky podporuje(http://yaml.org/spec/current.html#id2513364).

Tady si myslím, že se IT sektoru vrací to co samo rozjelo. Inovace, inovace, inovace -> honba za stále lepšími řešeními se stala závislostí po změně. Když se změna neděje, tak to hloupí vnímají jako mrtvé a tudíž špatné. ( řečeno slangem ulice = jste feťáci závislí na změnách )
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 13. 11. 2018, 07:15:46
Za mě je nevýhodou XML jeho rozsáhlost, různé typy XML, specifikace schémat, atd.. stal se prostě moc složitým.
Jaké různé typy? K psaní schémat vás nic nenutí, je to jenom možnost.

Takže zcela rozumím, proč se u XML učit 100x  více( a tedy i mnohem déle) + pamatovat si to, se lidem zjevně nechce.
To bych to 100× více chtěl vidět. Pro psaní XML stačí umět napsat element a atribut. S YAML stejné složitosti dosáhnete, když se naučíte psát víceřádkové hodnoty – a pořád ještě zbývají seznamy, odsazení…

např. ta kniha od Herouta je dobrá, ale má cca 200+ stránek a plně nepokrývá vše co XML obnáší, zatím co YML (např. https://dzone.com/articles/using-yaml-java-application ) je mnohem, mnohem jednoduší a znakové sady taky podporuje(http://yaml.org/spec/current.html#id2513364).
Jenže to porovnáváte dvě úplně nesouměřitelné věci. Používat XML stejně, jako používáte YAML, není složitější, spíš naopak. A vedle toho pak máte pro XML spoustu nástrojů, které můžete použít, když se vám to hodí, ale používat je nemusíte.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kamil Podlešák 13. 11. 2018, 08:10:57
YAML získává na oblíbenosti, protože je to kompromis. Obsahuje totiž věci, které v JSON zoufale chybí a činí ho velmi nepraktickým pro konfigurační soubory - komentáře a víceřádkové texty (na více řádkách, samozřejmě).
Má samozřejmě i další feature, ale ty se moc nepoužívají (např. tagy jsem v praxi nikde neviděl) - právě z toho důvodu, že se používá jako náhrada za JSON.

Porovnání s XML je trochu mimo - XML je "značkovací" (markup) formát, primárně určený pro text jehož části jsou nějak označeny (takže třeba XHTML). Použití pro konfigurační soubory je méně praktické jak pro lidi, tak pro zpracování v programu. Samozřejmě, zvykli jsme si (koneckonců, pořád lepší než ini soubor).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 13. 11. 2018, 08:34:39
Skoda, ze skoro nikdo nezna Dhall. To je skutecna inovace v konfiguracnich jazycich. Prehlednost YAMLu za mensi celkovou slozitost, overitelnost schematu lepsi nez u XML a mnohem vetsi programovatelnost jako bonus.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Janci 13. 11. 2018, 09:31:40
V JSON-e je jasné, či je daný prvok objekt ({}), pole ([]) alebo hodnota. To sa dobre mapuje na bežné dátové typy v aplikácií.

V XML bez schémy nikto nevie, či daný element tam bude vždy len raz alebo sa môže opakovať. A schéma často chýba, alebo je taká obecná, že to nepomôže. Tiež bez schémy človek nevie, či nová vlastnosť bude reprezentovaná ako atribút alebo element.

K JSONu sa dá pristupovať ako k Map-e, sú tam metódy ako getOrDefault, testovanie na existenciu je jednoduché a kód je prehľadný. Potom práca s DOMom je utrpenie. Iterovať cez NodeList boilerplatové peklo.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: j 13. 11. 2018, 11:52:14
...
To je uplne jednoduchy, je to neustale se opakujici schema ... nejdriv nekdo prijde s jednoduchym a primitivnim formatem, ktery ale naprosto neresi co kde muze byt. Pak se format zacne rozsirovat upravovat a vylepsovat, az je tak slozitej, ze sice umi uplne vse, ale nikdo tomu nerozumi, a tak zas nekdo znova prijde s tim uzasne jednoduchym formatem, kterych tu uz je asi 158, aby se zase dalo neco rozsirovat a vylepsovat.

Typickej priklad je prave xml, ktery ma definovany jak popis (dtd) tak pripadny zpracovani (xsl) atd atd ... ale neznam moc lidi, kteri by tusili jak to funguje.

Takze kdyz se rozhlidnes, najdes desitky a desitky vsemoznych uzasnych a zcela nekompatibilnich formatu urcenych k vymene dat, abys nakonec skoncil u toho csvcka, i kdyz ani to se trebas soudruzi z M$ dodnes nenaucili otevrit.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: j 13. 11. 2018, 12:13:14
...XML je "značkovací" (markup) formát, primárně určený pro text...
Ehm nikoli, xml je format urceny primarne pro data, s textem to nema temer vubec nic spolecneho. Konfigurace v xml naopak narozdil do jinych moznosti umoznuje spoustu veci velice zjednodusit, a predevsim, pokud je to solidne navrzeno, da se to bez problemu cist/zapisovat libovolnym textovym editorem, a zaroven libovolnym nastrojem ktery umi prave s xml pracovat.

Jediny problem ktery muze vyvstat je ten, ze zpracovat nejaky prosty custom text umi kazda aplikace na 1 radku kodu, kdezto na to xml potrebuje knihovnu. Stejny problem ma ale naprosto libovolny format krome toho prosteho textu. Naopak, konfiguracne slozitejsi aplikace se pri tom prostem textu muze snadno dostat do situace, kdy je vice kodu jen prave zpracovani konfigurace, nez vlastni funcionalita.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: oss 13. 11. 2018, 12:17:01
Asi som z inej planety, ked povazujem XML za zrely a citatelny format (samozreme da sa sprasit ale to vsteko).
JSON-u pre konfiguraciu zufalo chybaju komentare a takisto akekolvek standardy (JSON schema je stale draft a nie je jedna).

Tomu co vymslel YAMl by som zlamal prsty, na 3-riadkove konfigy je to pohoda, ale ked sa clovek sekne v jednej medzere v stranovom YAML-y tak sa to uzasne hlada a hlavne na jeho pisanie treba pravitko.

Zatial co si clovek v XML napise schemu a ta ide na vstekych platformach a IDE-ckach, s XML-kom vie pracovat kazdy rozumny jazyk. 
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 13. 11. 2018, 13:29:36
Taky proti XML nic nemám, ale psát ho ručně není zrovna příjemné (obzvláště když se používají jmenné prostory). IDE s doplňováním a podporou DTD pomáhá neskutečně.

Json i yaml také mají svoje užití, ale dost často narážím právě na neexistenci obecně akceptovaných ekvivalentů pro validaci, xpath a xslt. A také na složité parsery pro data, které by s XPath "zhubly" o 90% kódu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 13:31:27
V JSON-e je jasné, či je daný prvok objekt ({}), pole ([]) alebo hodnota. To sa dobre mapuje na bežné dátové typy v aplikácií.

V XML je to jasné také. Všechny elementy jsou součástí nějakého seznamu. Objekt poznáš podle atributu "id", na který se můžeš přímo odkazovat. Navíc můžeš k hodnotě přidat i jednotku a další atributy, což je u JSONu docela problém.

V XML bez schémy nikto nevie, či daný element tam bude vždy len raz alebo sa môže opakovať. A schéma často chýba, alebo je taká obecná, že to nepomôže. Tiež bez schémy človek nevie, či nová vlastnosť bude reprezentovaná ako atribút alebo element.

Pokud si XML někdo definuje pro sebe, tak schéma dělat nemusí. Pokud ho však chce prezentovat jako rozhraní, měl by ho i specifikovat. Může k tomu využít DTD, XSD nebo RelaxNG.

K JSONu sa dá pristupovať ako k Map-e, sú tam metódy ako getOrDefault, testovanie na existenciu je jednoduché a kód je prehľadný. Potom práca s DOMom je utrpenie. Iterovať cez NodeList boilerplatové peklo.

XML umí totéž - stačí se jen podívat, jak se to dělá. Vůbec nemusíš iterovat přes NodeList - stačí použít metodu getElementById() a dostaneš přímo požadovaný Node. Místo boilerplates si napíšeš jednoduchý adaptér, do kterého můžeš implementovat i coalesce(), pokud ho potřebuješ.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 13:45:24
Taky proti XML nic nemám, ale psát ho ručně není zrovna příjemné (obzvláště když se používají jmenné prostory). IDE s doplňováním a podporou DTD pomáhá neskutečně.

Json i yaml také mají svoje užití, ale dost často narážím právě na neexistenci obecně akceptovaných ekvivalentů pro validaci, xpath a xslt. A také na složité parsery pro data, které by s XPath "zhubly" o 90% kódu.

To je právě ono. Vývojáři chtějí editovat prostý text. Pro jednoduché konfigurace tedy zvítězí YAML. Pokud má víc než 2 úrovně zanoření, začínají problémy s přehledností. JSON na tom není o mnoho lépe. Stejně by se víc než 2 úrovně neměly používat, obvykle ani nejsou potřebné. Ostatně na většinu konfigurací stačí i formát INI, který je stále hojně používán.

XPath a XSLT jsou často nepochopené, ale přitom geniální technologie. Kdo pochopil Haskell, pochopí i tohle, protože sémanticky je to hodně podobné.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 13. 11. 2018, 13:57:13
Skoda, ze skoro nikdo nezna Dhall. To je skutecna inovace v konfiguracnich jazycich. Prehlednost YAMLu za mensi celkovou slozitost, overitelnost schematu lepsi nez u XML a mnohem vetsi programovatelnost jako bonus.
To bude tím, že když už ho někdo zmíní, tak o něm nic neřekne. Ani link (https://hackage.haskell.org/package/dhall-1.14.0/docs/Dhall-Tutorial.html) neuvede. Já jsem na něj před časem narazil. A na Haskellovskou akci tedy dokumentace na zabití.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 13. 11. 2018, 14:09:09
Já jsem na něj před časem narazil. A na Haskellovskou akci tedy dokumentace na zabití.

Ah, pardon, trochu jsem se unáhlil. Ten problém nebyl s tím, že by byla špatná dokumentace, jako spíš s tím, že mi to nešlo nainstalovat, tak jsem se naštval. Takže asi spíše moje chyba.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 13. 11. 2018, 14:40:40
Vzdyt ty formaty maji uplne jina vyuziti. Delat z jsonu cfg soubor je stejna pitomost jako pouzivat yaml na vymenu dat mezi systemy.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 13. 11. 2018, 14:59:44
Vzdyt ty formaty maji uplne jina vyuziti. Delat z jsonu cfg soubor je stejna pitomost jako pouzivat yaml na vymenu dat mezi systemy.

Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.

Ale ja to taky delam, samozrejme, duvodem je predevsim Javascript (ktery jeste donedavna neumel nic lepsiho).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 15:43:52
Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.

V tom souboru CBOR nikde nevidím sémantické značky. Místo takových non-human-readable formátů je jednodušší použít textový formát s kompresí při přenosu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 13. 11. 2018, 15:44:56
Skoda, ze skoro nikdo nezna Dhall. To je skutecna inovace v konfiguracnich jazycich. Prehlednost YAMLu za mensi celkovou slozitost, overitelnost schematu lepsi nez u XML a mnohem vetsi programovatelnost jako bonus.
To bude tím, že když už ho někdo zmíní, tak o něm nic neřekne. Ani link (https://hackage.haskell.org/package/dhall-1.14.0/docs/Dhall-Tutorial.html) neuvede. Já jsem na něj před časem narazil. A na Haskellovskou akci tedy dokumentace na zabití.

Vidis, a ja myslel, ze jsem to popsal docela dobre.  :D Ale zase asi do produkce to jeste neni uplne zrale. Takze kdo si chce zjistit, jak mozna nekdy v budoucnu delat veci lepe si to muze vygooglit.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 13. 11. 2018, 15:49:04
Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.

V tom souboru CBOR nikde nevidím sémantické značky. Místo takových non-human-readable formátů je jednodušší použít textový formát s kompresí při přenosu.

CBOR ma uzivatelsky definovatelne tagy. A pouzit textovy format neni jednodussi, naopak.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 15:54:38
Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.

V tom souboru CBOR nikde nevidím sémantické značky. Místo takových non-human-readable formátů je jednodušší použít textový formát s kompresí při přenosu.

CBOR ma uzivatelsky definovatelne tagy. A pouzit textovy format neni jednodussi, naopak.

Je zvláštní, že jsem nikde nenašel ukázku takového souboru. Zřejmě se ten formát moc nepoužívá.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 13. 11. 2018, 17:17:47
Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.

V tom souboru CBOR nikde nevidím sémantické značky. Místo takových non-human-readable formátů je jednodušší použít textový formát s kompresí při přenosu.

CBOR ma uzivatelsky definovatelne tagy. A pouzit textovy format neni jednodussi, naopak.

Je zvláštní, že jsem nikde nenašel ukázku takového souboru. Zřejmě se ten formát moc nepoužívá.

Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: v 13. 11. 2018, 17:21:26
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
ASN.1 :-)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 13. 11. 2018, 17:24:29
Tomu co vymslel YAMl by som zlamal prsty, na 3-riadkove konfigy je to pohoda, ale ked sa clovek sekne v jednej medzere v stranovom YAML-y tak sa to uzasne hlada a hlavne na jeho pisanie treba pravitko.
hm, asi mam proste jen dobre IDE a tyhle problemy jsem nepoznal
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 17:54:45
Tomu co vymslel YAMl by som zlamal prsty, na 3-riadkove konfigy je to pohoda, ale ked sa clovek sekne v jednej medzere v stranovom YAML-y tak sa to uzasne hlada a hlavne na jeho pisanie treba pravitko.
hm, asi mam proste jen dobre IDE a tyhle problemy jsem nepoznal

Chtěl bych vidět, jak bys v YAMLu editoval těch mých 500k řádek - viz výše.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 18:07:30
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: v 13. 11. 2018, 18:11:58
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>
Kód: [Vybrat]
[1,2,3]
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 18:19:31
Kód: [Vybrat]
[1,2,3]

Jakou mají sémantiku ta čísla na první, druhé a třetí pozici? To jsou body nebo známky ve škole? Nebo že by to byly přístupové údaje k databázi?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: v 13. 11. 2018, 18:41:20
Kód: [Vybrat]
[1,2,3]

Jakou mají sémantiku ta čísla na první, druhé a třetí pozici? To jsou body nebo známky ve škole? Nebo že by to byly přístupové údaje k databázi?
je to zcela náhodný seznam čísel
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: j 13. 11. 2018, 18:48:48
.....A pouzit textovy format neni jednodussi, naopak.
Vis ty vubec proc se ujalo http a html? No protoze je to cele jenom text ...

Textovy foramty se pouzivaji a pouzivat budou, protoze se snadno a rychle debugujou. Muzes si totiz velice snadno overit, ze si nacet presne to, co si nacist chtel. A nemusis na tom resit, ze kdyz to bude neco jinyho nex text (rekneme cislo) tak ze musis dekryptovat binarni tvar, coz sice bude mozna mensi, mozna i rychlejsi, ale rozhodne o nekolik radu vic nachylny na chyby.

Nehlede nato, ze objektova reprezentace dat je naprosto totalni pitomost. To funguje tak mozna pro priklady ze skol.

...
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>
A navic ti to umoznuje delat takovy brikule, ze tech uctu muzes deklarovat pro jednu databazi vic, nebo i vic ruznych databazi, a i kdyz to trebas zrovna tvoje aplikace nevyuzije, tak ji to ani nijak zvlast nerozhazi a doplnit funcionalitu tak aby to i vyuzila je otazka jednoho radku.

Mam tu trebas appku, ktera ma xml konfigurak, a zrovna pro pristup do databaze muzes deklarovat N ruznych pristupu, od jednoho centralniho uctu, pres predavani loginu uzivatelu, pripadne skupiny atd atd ... a to vse klidne v jednom konfiguraku najednou. Pritom je to jen o multiplikaci strukturalne stejnych zaznamu a velice logickym zanoreni do sebe.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 19:26:11
Kód: [Vybrat]
[1,2,3]

Jakou mají sémantiku ta čísla na první, druhé a třetí pozici? To jsou body nebo známky ve škole? Nebo že by to byly přístupové údaje k databázi?
je to zcela náhodný seznam čísel

Tohle by také mohl být náhodný seznam stringů ve tvém stylu:
Kód: [Vybrat]
['localhost','test','root','heslo']
Co takhle CSV? To bude ještě jednodušší:
Kód: [Vybrat]
localhost,test,root,heslo
Není to úžasné? Není. Fungovat to sice bude, ale v komentáři nebo v dokumentaci stejně budeš muset uvést, ve kterém sloupci je jaký údaj. XML má právě výhodu, že pro jednoduché účely je samopopisné. Pro ty složitější máme DTD, XSD, RelaxNG a hromadu nástrojů, které s nimi umí pracovat. Je jen na vývojáři, jak detailně se chce do specifikace ponořit. Vytváření takového dokumentu zvládnou i obecné XML editory, které si tu specifikaci načtou a podle ní zobrazí vstupní formulář. Při zápisu data zvalidují. Který z alternativních formátů tohle má?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kamil Podlešák 13. 11. 2018, 19:29:27
...XML je "značkovací" (markup) formát, primárně určený pro text...
Ehm nikoli, xml je format urceny primarne pro data, s textem to nema temer vubec nic spolecneho.
Ehm nikoli, každý Markup Language je (z definice) určen pro text. Přesněji řečeno textová data, takže ano, je primárně pro data :-)

Ale asi bych měl dodat: nemám nic proti konfiguraci v XML, naopak. Ale YAML je pořád mnohem lepší než JSON nebo INI. 

Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: v 13. 11. 2018, 19:37:07
...v komentáři nebo v dokumentaci...
přesně!
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 13. 11. 2018, 20:06:53
...v komentáři nebo v dokumentaci...
přesně!

Jenže tím je prakticky vyloučeno zpracování konfigurace nebo dat metodou push, která je efektivnější.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 13. 11. 2018, 21:14:26
...v komentáři nebo v dokumentaci...
přesně!
Takže pokaždé, když s tím něco chci dělat, například si to jen přečíst, musím si vedle otevřít dokumentaci a hledat v ní, co v tom konfiguráku vlastně vidím.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 13. 11. 2018, 23:35:22
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 14. 11. 2018, 00:41:52
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.

CBOR je binárním formátem. Jako takový může mít uplatnění pro ukládání dat do nějaké jednoduché databáze třeba v Arduinu, kde se musí šetřit každým bajtem. Možná i pro komunikaci s takovým zařízením. V C/C++ s tím půjde pracovat docela snadno, ale vyšší jazyky budou asi mít trochu problém.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 05:21:31
.....A pouzit textovy format neni jednodussi, naopak.
Vis ty vubec proc se ujalo http a html? No protoze je to cele jenom text ...

Textovy foramty se pouzivaji a pouzivat budou, protoze se snadno a rychle debugujou. Muzes si totiz velice snadno overit, ze si nacet presne to, co si nacist chtel. A nemusis na tom resit, ze kdyz to bude neco jinyho nex text (rekneme cislo) tak ze musis dekryptovat binarni tvar, coz sice bude mozna mensi, mozna i rychlejsi, ale rozhodne o nekolik radu vic nachylny na chyby.

Sice pochybuji, ze diskuse zrovna s tebou nekam povede, nicmene..

Je logicke, ze HTTP je textovy format, kdyz jde o protokol vymeny primarne textovych dokumentu. Ale druhy duvod je unixova tradice. I FTP je textovy format. Aplikacni protokoly (na Unixech) byvaji textove, protoze je pomerne snadne si v shellu napsat skript, ktery takovy aplikacni protokol umi prelouskat.

Samozrejme, ve skutecnosti by bylo snazsi na to mit knihovnu, ktera to prelouska - ale takova byla proste doba. Unixova tradice ma vyhody a nevyhody. Dneska ta textova "vyhoda" prestava byt relevantni, protoze ke kazdemu novemu formatu ta knihovna dostupna je (lidi zleniveli a nechce se jim rucne parsovat textovy format, coz je ostatne spravne). Stejne tak se ustoupilo od ad hoc textove konfigurace (zase, pro kterou si kazdy mohl napsat vlastni ad hoc parser pomoci par kouzel v sedu nebo awku) k nejakemu lidsky citelnemu standardu (jako treba YAML) nebo alespon lidsky sice necitelnemu, ale stale standardu (XML).

Na druhou stranu, tezko bys asi obhajil TCP nebo IP jako textovy format.

Takze i ten snadny debugging je v dnesni dobe mytus (on to byl trochu mytus vzdycky, jak uz jsem psal, je to dane spis unixovym toolingem, ale to neni podstatne). Protoze beztak vzdycky pouziji na overeni nastroj, nikdo si uz nepise vlastni skripty. Napriklad kdyby HTTP bylo binarni, nic by se pro vyvojare nezmenilo, Chrome nebo Firefox by mu to ukazal uplne stejne citelne.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 05:48:51
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
nejsou ovce. jen maji zakladni manazerske schopnosti. zpravidla nevyhravaji na trhu technicky dokonale produkty. pravdepodobnost nalezeni odpovedi na otazku je dulezitejsi nez ta technicka dokonalost.

Ale to je presne ten problem. Inzenyr ma volit nejvhodnejsi reseni pro dany problem, a to neni nutne reseni nejpopularnejsi.

Napriklad, pokud mas jako inzenyr postavit letadlo, manazer ti muze rict, proc to nepostavit z plastu, kdyz ho kazdy pouziva a je snadne s nim pracovat, a kazdy jouda ti ho muze vytisknout na svoji 3D tiskarne? Ty musis jako inzenyr oponovat, ze aby to letalo, tak to potrebuje byt takto pevne a proto se to udela, ja nevim, z hliniku nebo titanu, ackoli samozrejme vsechny procesy jsou pak technologicky narocnejsi.

Jinak receno - fakt, ze "vyhravaji" technologie, ktere nejsou vhodne pro danou domenu, ale mely nejaky evolucni rys, ktery jim umoznoval rychle se v ni zpocatku uplatnit (existuje treba snadna migracni cesta), je selhani inzenyrstvi jako profese a ustupek kratkozrakemu manazerismu. Naklady to samozrejme pak ma, ale jsou bud popreny nebo externalizovany.

Ja pravdepodobne delam v praxi tuhle chybu, ze neobhajuji dostatecne silne inzenyrskou pozici, az prilis casto. Ale je dobre si to uvedomit, kdy clovek argumentuje jako inzenyr (primarni cil vyrobit kvalitni vec) a kdy jako manazer (primarni cil snizit naklady).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 05:57:25
CBOR je binárním formátem. Jako takový může mít uplatnění pro ukládání dat do nějaké jednoduché databáze třeba v Arduinu, kde se musí šetřit každým bajtem. Možná i pro komunikaci s takovým zařízením. V C/C++ s tím půjde pracovat docela snadno, ale vyšší jazyky budou asi mít trochu problém.

Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: technomaniak 14. 11. 2018, 06:25:45
Jaké různé typy? K psaní schémat vás nic nenutí, je to jenom možnost.
Typy myslím : možnosti rozšíření např. DTD, XSD
To bych to 100× více chtěl vidět. Pro psaní XML stačí umět napsat element a atribut. S YAML stejné složitosti dosáhnete, když se naučíte psát víceřádkové hodnoty – a pořád ještě zbývají seznamy, odsazení…
Máš drastické problémy s představivostí a pamětí. Vzpomeň kolik hodin jsi věnoval k naučení úplně tomu základnímu použití XML ( tagy, parser - to pod hodinu nedostaneš) a kolik stovek, tisíc  jsi věnoval plnému pochopení XML.
Zatímco YAML example je pochopený za 1 minutu. To je rozhodující.
Jenže to porovnáváte dvě úplně nesouměřitelné věci. Používat XML stejně, jako používáte YAML, není složitější, spíš naopak. A vedle toho pak máte pro XML spoustu nástrojů, které můžete použít, když se vám to hodí, ale používat je nemusíte.
Ale srovnávám. To ty máš zjevně problém si přiznat, že když se něco učíš 1 minutu a něco jiného např. 10,60 minut, pak to co se učíš rychleji je zjevně jednodušší. Mimochodem, ty nástroje se musíš taky naučit a to bere taky čas. A pak zjistíš, že to třeba ani nepotřebuješ, jenom kvůli tomu že autor nástroje je tak stupidní že ani pořádně neumí napsat co to umí/neumí.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 14. 11. 2018, 07:25:07
Typy myslím : možnosti rozšíření např. DTD, XSD
To nejsou rozšíření, to jsou nástroje, které můžete s XML používat. Jako kdybyste k naučení se YAML počítal, že se naučíte používat vim a grep.

Máš drastické problémy s představivostí a pamětí. Vzpomeň kolik hodin jsi věnoval k naučení úplně tomu základnímu použití XML ( tagy, parser - to pod hodinu nedostaneš) a kolik stovek, tisíc  jsi věnoval plnému pochopení XML.
Zatímco YAML example je pochopený za 1 minutu. To je rozhodující.
Nebo ty drastické problémy máte vy. Netuším, proč do základů pochopení XML motáte partser a do základů YAML ne. A stovky ani tisíce hodin jsem pochopení XML rozhodně nevěnoval – akorát jsem to pochopení elementů a atributů rozšířil o entity, komentáře, CDATA a XML instrukce, podíval se na možnosti DTD a zjistil, že to používat nechci a nepotřebuju, a tím to skončilo. YAML example pochopený za minutu nemám, ve skutečnosti si musím pokaždé znovu nastudovat, jak se v YAMLu píšou takové „komplikovanosti“ jako seznamy nebo víceřádkové hodnoty.

Ale srovnávám. To ty máš zjevně problém si přiznat, že když se něco učíš 1 minutu a něco jiného např. 10,60 minut, pak to co se učíš rychleji je zjevně jednodušší. Mimochodem, ty nástroje se musíš taky naučit a to bere taky čas. A pak zjistíš, že to třeba ani nepotřebuješ, jenom kvůli tomu že autor nástroje je tak stupidní že ani pořádně neumí napsat co to umí/neumí.
To by mne zajímalo, odkud máte tak přesné informace, co jsem se jak dlouho učil. Můžu se vám ale přiznat, že YAML dosud neumím, a už jsem z něj viděl dost na to, abych věděl, že se ho ani plánovaně učit nehodlám. Nemám totiž rád jazyky, které mají na každou věc deset cukrátek, kterými se něco dá ve specifických případech „zjednodušit“, protože pak mají zbytečně komplikovanou gramatiku a člověk musí neustále přemýšlet, o jaký specifický případ se jedná.

Nástroje jako XPath, XSLT nebo XQuery jsem se naučil používat a velmi to šetří můj čas. Ale nikdo vás nenutí je používat, klidně si hledejte pomocí hledání v textovém editoru, přepisujte si soubory ručně a ručně si vybírejte potřebná data. Přesně tak, jak byste to dělal s YAMLem, kde ty nástroje k dispozici nemáte, nebo s JSONem, kde existují spíš teoreticky.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Ondra Satai Nekola 14. 11. 2018, 08:09:06
Protože XML má prima těžkotonážní tooling, ale editace v ruce je kvůli brutálnímu porušení DRY neskutečný opruz.

To je celé.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: j 14. 11. 2018, 08:19:06
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, ze je uplne jedno jakej mas jazyk, ty mas predevsim miliardy hotovych aplikaci, a jejich uzivatele si mezi sebou chteji data vymenovat. A zatimco kazda jedna a jeji frikulinsky vyvojar pouziva nejaky zcela custom binarni format, tak temer kazda jedna zvladne nejak zpracovat text, bez toho aby se muselo cokoli nekde programovat. Pripadne se ten text da snadno cimkoli prekonvertovat do formatu jakej ta appka zna. Ostatne, 99% prace vsech programatoru sveta je prave vyroba takovych konverznich mustku. Coz se zlehka meni az posledni dobou, kdy spousta aplikaci xml podporuje bydefault, takze tomu staci predhodit trebas xsl, a ono si to nacte nebo vygeneruje samo.

Navic neni treba resit, jestli je to cislo ulozeny odzadu nebo odpredu, jestli je to 8/16/32/64bit atd atd, coz jsou presne ty veci ktere se resily minulych 30let. V tom binarnim formatu totiz tyhle informace nikde zapsany nemas a klidne se ti to muze zmenit i jen tim, ze vymenis kompilator.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 14. 11. 2018, 08:43:10
Napriklad, pokud mas jako inzenyr postavit letadlo, manazer ti muze rict, proc to nepostavit z plastu, kdyz ho kazdy pouziva a je snadne s nim pracovat, a kazdy jouda ti ho muze vytisknout na svoji 3D tiskarne? Ty musis jako inzenyr oponovat, ze aby to letalo, tak to potrebuje byt takto pevne a proto se to udela, ja nevim, z hliniku nebo titanu, ackoli samozrejme vsechny procesy jsou pak technologicky narocnejsi.
ale ono to s tim yml v pohode lita lítá - je nesmysl si stavet paraglide nebo vetrone z titanu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 08:51:29
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 09:19:44
ale ono to s tim yml v pohode lita lítá - je nesmysl si stavet paraglide nebo vetrone z titanu.

Ano, pointa je, ze musis premyslet.

Zalezi na tom, co stavis. Konkretne treba JSON vs CBOR jsou asi tak stejne narocne na programovani, pokud nejde o (starsi) Javascript. Neni a priori duvod proc nepouzit CBOR. (A obecne neni a priori duvod proc pro RPC nepouzit binarni format.)

Bohuzel jsem videl (v nasi korporaci) seriozni projekt "big data" (Spark), ktery si vymenoval data v JSONu. Tam slo o zcestne rozhodnuti, kde prave nekdo nepremyslel.

Stejne je to i u toho XML vs YAML. YAML asi vetsinou je citelnejsi, ale fakt je, ze je to temer opacny extrem nez XML, obcas si clovek neni jisty, jak v nem neco spravne zmenit nebo zadat (na druhou stranu, kdo si z hlavy pamatuje, ktere znaky je nezbytne escapovat v XML a jakou sekvenci?). Pokud se nebavime o puvodnim urceni XML (textove dokumenty), tak je to spis otazka vkusu.

Ja bych dal prednost YAMLu, ale uz driv jsem zde poukazal, ze dost mozna neni nutne delat tuto volbu - muzeme mit citelnost YAMLu a overitelnost XML (ackoli ruku na srdce - kolik lidi skutecne konfiguraci v XML rucne validuje a nespoleha na to, ze to udela aplikace sama?), a cele je to jeste radove vice DRY, jak zde nekdo napsal svuj pozadavek.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: oss 14. 11. 2018, 11:54:31
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)

Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.

K tomu CBOR, dalsi super binarny format snaziaci sa nhradit JSON?
Super nech sa postavi do radu... uz mame
ASN.1
BSON
MessagePack
Protobuf
a asi 15 dalsich na kolene urobenych nestandardnych formatov

Ked sa budem nudit vymslim si vlastny.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 12:24:49
Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.

Nebudu se snazit ti to vyvracet; jen poukazu na to, ze XML vzniklo ze SGML a ma mixed elementy. Smyslem XML bylo skutecne ujednotit ruzny markup textovych dokumentu (aby stejny text mohl obsahovat ruzne znacky).

Citace
K tomu CBOR, dalsi super binarny format snaziaci sa nhradit JSON?
Super nech sa postavi do radu... uz mame
ASN.1
BSON
MessagePack
Protobuf
a asi 15 dalsich na kolene urobenych nestandardnych formatov

Ked sa budem nudit vymslim si vlastny.

ASN je neco trochu jineho, Protobuf taky trochu neco jineho, ale BSON a MessagePack jsou podobne jako CBOR.

Nicmene autori CBORu se aspon obtezovali napsat decentni RFC (a poucili se z nekterych predchozich chyb), a proto je to moje osobni preference.

Ale ty si klidne posilej data, ktera mohou zustat binarni, v JSONu, nebo si napis vlastni binarni format. Podle me je to blbost. (Ujasni si, co chces svym argumentem rict - ze existuje mnoho ruznych binarnich formatu, a proto budes data posilat jako text, prestoze to neni vhodne?)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 14:19:59
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>

Jednoduší použití. Zkus si tohle parsovat v javascriptu. A další nevýhoda je, že je to uživatelsky nepřívětivé pro ruční editaci. Pro tento účel je lepší ini.

Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: oss 14. 11. 2018, 14:22:17
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>

Jednoduší použití. Zkus si tohle parsovat v javascriptu. A další nevýhoda je, že je to uživatelsky nepřívětivé pro ruční editaci. Pro tento účel je lepší ini.



To nie je nevyhoda XML, to je nevyhoda javascriptu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 14:29:20
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)
Nemáš pravdu. Textový formát se používá snadněji, protože s níj můžeš pracovat v univerzálním textovém editoru a je srozumitelnější a intuitivnější.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 14:31:41
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.é
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>
Jednoduší použití. Zkus si tohle parsovat v javascriptu. A další nevýhoda je, že je to uživatelsky nepřívětivé pro ruční editaci. Pro tento účel je lepší ini.
To nie je nevyhoda XML, to je nevyhoda javascriptu.
Chybná úvaha, a proto ti také není jasné, co to způsobilo.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: oss 14. 11. 2018, 14:33:39
Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.

Nebudu se snazit ti to vyvracet; jen poukazu na to, ze XML vzniklo ze SGML a ma mixed elementy. Smyslem XML bylo skutecne ujednotit ruzny markup textovych dokumentu (aby stejny text mohl obsahovat ruzne znacky).

Citace
K tomu CBOR, dalsi super binarny format snaziaci sa nhradit JSON?
Super nech sa postavi do radu... uz mame
ASN.1
BSON
MessagePack
Protobuf
a asi 15 dalsich na kolene urobenych nestandardnych formatov

Ked sa budem nudit vymslim si vlastny.

ASN je neco trochu jineho, Protobuf taky trochu neco jineho, ale BSON a MessagePack jsou podobne jako CBOR.

Ano je, ale stale je to serilizacia. A ano ASN.1 je take ake je, ale to kvoli dobe svojho vzniku. Ale plne nahradzuje (B/J)SON.

Citace
Nicmene autori CBORu se aspon obtezovali napsat decentni RFC (a poucili se z nekterych predchozich chyb), a proto je to moje osobni preference.

S ktorych chyb sa konkretne poucili?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 14:36:30
Pouzivat XML nebo JSON na vymenu dat mezi systemy je zverstvo. Spravne by se melo pouzivat neco jako PB nebo CBOR.
V tom souboru CBOR nikde nevidím sémantické značky. Místo takových non-human-readable formátů je jednodušší použít textový formát s kompresí při přenosu.
CBOR ma uzivatelsky definovatelne tagy. A pouzit textovy format neni jednodussi, naopak.
Je zvláštní, že jsem nikde nenašel ukázku takového souboru. Zřejmě se ten formát moc nepoužívá.
Moc se nepouziva, protoze lide jsou jako ovce. Misto, aby pri volbe technologie resili technickou stranku veci, tak resi, kolik lidi to pouziva.
Byt pragmaticky neznamena byt ovce. Technicka stranka neni jedine kriterium.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 14:48:40
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)
Nemáš pravdu. Textový formát se používá snadněji, protože s níj můžeš pracovat v univerzálním textovém editoru a je srozumitelnější a intuitivnější.

Ugh, precti si prvni vetu toho, co citujes.. Nicmene, proc bych mel chtit v textovem editoru editovat data, ktera vyrobil jeden program pro jiny program?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 15:00:42
Nicmene autori CBORu se aspon obtezovali napsat decentni RFC (a poucili se z nekterych predchozich chyb), a proto je to moje osobni preference.

S ktorych chyb sa konkretne poucili?

Uz je to delsi doba, co jsem si to porovnaval, ale jsou to v podstate spis drobnosti. Msgpack treba zezacatku nerozlisoval text a binarni data, pozdeji to tam pridali.

Pokud mi neveris, nejlepsi bude precist si vsechny tri specifikace, aspon ramcove. Rozhodne udelas lip, pokud pro vymenu dat zvolis jeden z tech tri formatu nez JSON (muzes-li si vybrat).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Stefan 14. 11. 2018, 15:29:05
Já vám nevím, prošel jsem projekty za posledních 18 let a YAML nikde. JAVA jako taková ani neobsahuje nic čím by se YAML dal číst.
Nejhorší je smrt z vyděšení ...

Stefan
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 14. 11. 2018, 15:30:22
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>

Jednoduší použití. Zkus si tohle parsovat v javascriptu. A další nevýhoda je, že je to uživatelsky nepřívětivé pro ruční editaci. Pro tento účel je lepší ini.

Pokud budou data určena pro Javascript, použiji JSON.

Pro ruční editaci XML nemusíš používat textový editor, ale použiješ XML editor.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 14. 11. 2018, 15:42:21
Stejne je to i u toho XML vs YAML. YAML asi vetsinou je citelnejsi, ale fakt je, ze je to temer opacny extrem nez XML, obcas si clovek neni jisty, jak v nem neco spravne zmenit nebo zadat (na druhou stranu, kdo si z hlavy pamatuje, ktere znaky je nezbytne escapovat v XML a jakou sekvenci?). Pokud se nebavime o puvodnim urceni XML (textove dokumenty), tak je to spis otazka vkusu.

Ja bych dal prednost YAMLu, ale uz driv jsem zde poukazal, ze dost mozna neni nutne delat tuto volbu - muzeme mit citelnost YAMLu a overitelnost XML (ackoli ruku na srdce - kolik lidi skutecne konfiguraci v XML rucne validuje a nespoleha na to, ze to udela aplikace sama?), a cele je to jeste radove vice DRY, jak zde nekdo napsal svuj pozadavek.

Kdo si z hlavy pamatuje, jak se escapuje v YAMLu?

Escapování i validaci dělají XML editory.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 16:02:43
Kdo si z hlavy pamatuje, jak se escapuje v YAMLu?

Escapování i validaci dělají XML editory.

No, uz je to tak 8 let zpet, co jsem XML potreboval editovat, ale byla to s temi XML editory pomerne bida (zadny z tech free, co jsem zkousel, validaci neumel, jen well-formedness).

Jinak mi prijde, ze si to trochu protireci. Pokud je XML zamerne textovy format, aby se dal snadno editovat, pak by mel stacit textovy editor.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 16:05:39
Ano, jako binarni format je urceny pro vymenu dat mezi pocitaci, neni to format vhodny pro konfiguraci.

Ale opravdu nevim, proc by s tim vyssi jazyky mely mit problem. Kazdy snad pouzije knihovnu? (Pripadne si ji napise, ale jen maloktery jazyk ma pro zpracovani binarnich dat horsi podporu nez pro zpracovani textovych dat.)
Co nechapes na tom, [..]

Jak jsem si myslel, diskuse s tebou nevede nikam jinam nez k urazkam.

Zkus si to nekdy sam - zjistis ze parsovat binarni data je casto jednodussi nez parsovat data textova. Pokud mas specifikaci; pokud ji nemas, tak clovek mozna o drobek lepe naparsuje text, ale porad ti bude chybet semanticka znalost o tech datech, kterou beztak musis mit, pokud je chces v aplikaci pouzit. Textovy vs binarni format je jen syntakticky detail, ktery dnes temer vzdy resi knihovny. (A to ignoruji problemy mnoha textovych formatu jako treba obcasna ztrata presnosti - ktere obcas mohou byt dulezite. Kdyby sis otevrel CBOR specifikaci, tak zjistis, ze ma dobre definovano, jake formaty cisel a tak pouziva.)
Nemáš pravdu. Textový formát se používá snadněji, protože s níj můžeš pracovat v univerzálním textovém editoru a je srozumitelnější a intuitivnější.

Ugh, precti si prvni vetu toho, co citujes.. Nicmene, proc bych mel chtit v textovem editoru editovat data, ktera vyrobil jeden program pro jiny program?
Protože se to někdy hodí, protože to jde a protože je to snadné a pohodlné.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 14. 11. 2018, 16:12:49
Jen tak pro zajímavost. Tohle je zápis konfigurace připojení k databázi v XML. Není mi jasné, co způsobilo, že tomu JSON či YAML konkurují. Vždyť je to skoro stejné jako YAML a kratší než JSON. Krásně čitelné a zpracovatelné na mnoho způsobů.
Kód: [Vybrat]
<database
    host='localhost'
    dbname='test'
    user='root'
    password='heslo'
/>

Jednoduší použití. Zkus si tohle parsovat v javascriptu. A další nevýhoda je, že je to uživatelsky nepřívětivé pro ruční editaci. Pro tento účel je lepší ini.

Pokud budou data určena pro Javascript, použiji JSON.

Pro ruční editaci XML nemusíš používat textový editor, ale použiješ XML editor.
Nemám ho po ruce, textový editor je součástí základní výbavy každého os. Nemusí se ti to líbit, ale nemá smysl čůrat proti větru. Plain text je pro konfiguráky oepší volba, json pro výměnu dat na webu zrovna tak. Tohle není žádné nařízení shora, celé to vyplývá z lidské přirozenosti. XML se nepovedlo na sílu protlačit ani do html, kam se hodil velmi. Na spoustu věcí je zbytečně formální a komplexní.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 16:16:43
S ktorych chyb sa konkretne poucili?

Uz je to delsi doba, co jsem si to porovnaval, ale jsou to v podstate spis drobnosti. Msgpack treba zezacatku nerozlisoval text a binarni data, pozdeji to tam pridali.

Jinak v CBOR specifikaci to porovnani primo mas (a tedy jake nedostatky se pokousel autor odstranit).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 14. 11. 2018, 16:21:21
Jinak mi prijde, ze si to trochu protireci. Pokud je XML zamerne textovy format, aby se dal snadno editovat, pak by mel stacit textovy editor.
Svět není černobílý. Editovat XML notepadem samozřejmě můžete, ale nebude to úplně pohodlné. A nebo můžete použít specializovaný editor, a s ním pak můžete klidně editovat XML, které má desetitisíce uzlů. Neexistuje žádný formát, se kterým byste mohl pohodlně v notepadu editovat soubor, který bude mít desetitisíce prvků. Rozdíl ve formátech je v tom, že když budete chtít nouzově editovat ten soubor s desetitisíci prvků v notepadu, tak v případě XML to bude otrava, ale nakonec to zvládnete, v případě JSONu taky, pokud půjde jen o to oeditovat nějakou hodnotu a nevytvářet žádné nové struktury, ale třeba v případě YAMLu byste se z toho zbláznil.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 14. 11. 2018, 16:24:44
Ugh, precti si prvni vetu toho, co citujes.. Nicmene, proc bych mel chtit v textovem editoru editovat data, ktera vyrobil jeden program pro jiny program?
Protože se to někdy hodí, protože to jde a protože je to snadné a pohodlné.

Muzes lip popsat, kdy se to hodi? Vzdycky, kdyz jsem neco takoveho delal, tak jsem nakonec zjistil, ze bych byl byval udelal lip napsat si na to rovnou program (nebo test).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 14. 11. 2018, 18:51:38
Pro ruční editaci XML nemusíš používat textový editor, ale použiješ XML editor.
Nemám ho po ruce, textový editor je součástí základní výbavy každého os. Nemusí se ti to líbit, ale nemá smysl čůrat proti větru. Plain text je pro konfiguráky oepší volba, json pro výměnu dat na webu zrovna tak. Tohle není žádné nařízení shora, celé to vyplývá z lidské přirozenosti. XML se nepovedlo na sílu protlačit ani do html, kam se hodil velmi. Na spoustu věcí je zbytečně formální a komplexní.

Proto jsem použil slovo "nemusíš". Osobně pro editaci XML používám Vim, ale pokud nějakou změnu potřebuji udělat dávkově, použiji xmlstarlet.

Když píši HTML, tak si nejprve data uložím do XML a teprve pak z něho generuji HTML (nebo cokoli jiného).

XHTML se neosvědčilo, protože ořezalo používané sémantické značky místo toho vnucovalo strukturální značky. Sám jsem k němu měl už od počátku docela odpor a uvítal jsem HTML5, které naopak sémantické značky rozšířilo.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 14. 11. 2018, 20:34:14
XHTML se neosvědčilo, protože ořezalo používané sémantické značky místo toho vnucovalo strukturální značky. Sám jsem k němu měl už od počátku docela odpor a uvítal jsem HTML5, které naopak sémantické značky rozšířilo.
XHTML používalo stejné značky, jako HTML 4, byla to jen jiná serializace. I HTML5 má definovanou svojí XML serializaci. Ale autoři HTML5, místo aby použili existující specifikaci XML a nad tím dospecifikovali HTML5, vymysleli si vlastní jazyk, který nemá žádnou gramatiku – místo toho je v próze popsáno chování HTML5 parseru.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kamil Podlešák 14. 11. 2018, 20:37:15
Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.
Tak nevím, nějak tomu nerozumím... Má to druhého tvrzení (tj. XML je čitelný strojově i lidsky) nějak plynout podpora pro to první (tj. XML není původně určený pro textové dokumenty)?

Protože já tam žádný rozpor nevidím - XML je formát pro značkování textů čitelný pro stroje i dokumenty.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 14. 11. 2018, 21:49:03
Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.
Tak nevím, nějak tomu nerozumím... Má to druhého tvrzení (tj. XML je čitelný strojově i lidsky) nějak plynout podpora pro to první (tj. XML není původně určený pro textové dokumenty)?

Protože já tam žádný rozpor nevidím - XML je formát pro značkování textů čitelný pro stroje i dokumenty.

Možná by chtělo specifikovat, co jsou "textové dokumenty". Někdo si pod tím pojmem představuje dokumenty z Wordu...
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 06:54:43
Pro ruční editaci XML nemusíš používat textový editor, ale použiješ XML editor.
Nemám ho po ruce, textový editor je součástí základní výbavy každého os. Nemusí se ti to líbit, ale nemá smysl čůrat proti větru. Plain text je pro konfiguráky oepší volba, json pro výměnu dat na webu zrovna tak. Tohle není žádné nařízení shora, celé to vyplývá z lidské přirozenosti. XML se nepovedlo na sílu protlačit ani do html, kam se hodil velmi. Na spoustu věcí je zbytečně formální a komplexní.

Proto jsem použil slovo "nemusíš". Osobně pro editaci XML používám Vim, ale pokud nějakou změnu potřebuji udělat dávkově, použiji xmlstarlet.

Když píši HTML, tak si nejprve data uložím do XML a teprve pak z něho generuji HTML (nebo cokoli jiného).

XHTML se neosvědčilo, protože ořezalo používané sémantické značky místo toho vnucovalo strukturální značky. Sám jsem k němu měl už od počátku docela odpor a uvítal jsem HTML5, které naopak sémantické značky rozšířilo.
Co děláš ty je úplně jedno, svět se podle tebe neřídí.
Html a xhtml bylo stejné, lišilo se jen nároky na přesnost zápisu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 07:18:51
Html a xhtml bylo stejné, lišilo se jen nároky na přesnost zápisu.

HTML je odvozeno ze SGML, zatímco XHTML je odvozeno z XML. Jedná se tedy o různé formáty, které sice vypadají podobně, ale parsují se odlišně. Atributy elementů se píší jinak.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kamil Podlešák 15. 11. 2018, 08:06:17
Povodne urcenie XML nie su textove dokumenty!
Je to strojovo aj ludsky citatelny format. Bol urceny na to aby ho citali stroje aj ludia.
Tak nevím, nějak tomu nerozumím... Má to druhého tvrzení (tj. XML je čitelný strojově i lidsky) nějak plynout podpora pro to první (tj. XML není původně určený pro textové dokumenty)?

Protože já tam žádný rozpor nevidím - XML je formát pro značkování textů čitelný pro stroje i dokumenty.

Možná by chtělo specifikovat, co jsou "textové dokumenty". Někdo si pod tím pojmem představuje dokumenty z Wordu...
No, dobře, ale to snad... no tak raději se zeptám, než budu soudit :-)

Plus: dokumenty z Wordu skutečně jsou (už nějakou řádku let) ukládány v XML :-)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 08:36:43
Plus: dokumenty z Wordu skutečně jsou (už nějakou řádku let) ukládány v XML :-)

V OpenXML je to dokonce celá sada dokumentů XML zabalená do jednoho ZIPu a příponou .docx, .xlsx, atd.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Stefan 15. 11. 2018, 08:41:50
HTML je odvozeno ze SGML, zatímco XHTML je odvozeno z XML. Jedná se tedy o různé formáty, které sice vypadají podobně, ale parsují se odlišně. Atributy elementů se píší jinak.
https://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language#Derivatives
.... The W3C XML (Extensible Markup Language) is a profile (subset) of SGML designed to ease the implementation of the parser compared to a full SGML parser ....
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 15. 11. 2018, 09:09:32
Jenom na okraj, ze je XML format primarne pro textove dokumenty je zrejme i z toho, ze se escapuji metadata, nikoli retezce.

Kazdy textovy format stoji pred zasadni volbou v navrhu - jestli se maji metadata zapisovat primo a escapovat retezce (priklady: s-expressions, JSON, YAML..) nebo jestli se maji retezce zapisovat primo a escapovat metadata (priklady: SGML, XML, HTML, TeX..).

Konkretni volba zalezi na tom, jestli je format urcen spis pro strojove nebo lidsky citelna data; neexistuje format vhodny na oboji, protoze je treba si vybrat, ktere z moznosti date prednost.

Z toho take logicky plyne, ze XML neni uplne vhodny format pro konfiguraci - jelikoz je potreba vsechna metadata escapovat (coz se dela lomenymi zavorkami).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 11:49:21
Html a xhtml bylo stejné, lišilo se jen nároky na přesnost zápisu.

HTML je odvozeno ze SGML, zatímco XHTML je odvozeno z XML. Jedná se tedy o různé formáty, které sice vypadají podobně, ale parsují se odlišně. Atributy elementů se píší jinak.

Ano, liší se syntaxe, ale jejich sémantika byla totožná. Tudíž děláš chybu, když neúspěch xml formátu xhtml  svádíš na sémantiku. Lidé xhtml odmítli čistě proto, že je nepohodlný pro ruční editaci.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 12:26:17
Ano, liší se syntaxe, ale jejich sémantika byla totožná. Tudíž děláš chybu, když neúspěch xml formátu xhtml  svádíš na sémantiku. Lidé xhtml odmítli čistě proto, že je nepohodlný pro ruční editaci.
Jako že je problém psát lomítka na konec nepárových tagů? Protože to je to jediné, čím se XHTML liší od správně napsaného HTML dokumentu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 12:51:44
Html a xhtml bylo stejné, lišilo se jen nároky na přesnost zápisu.

HTML je odvozeno ze SGML, zatímco XHTML je odvozeno z XML. Jedná se tedy o různé formáty, které sice vypadají podobně, ale parsují se odlišně. Atributy elementů se píší jinak.

Ano, liší se syntaxe, ale jejich sémantika byla totožná. Tudíž děláš chybu, když neúspěch xml formátu xhtml  svádíš na sémantiku. Lidé xhtml odmítli čistě proto, že je nepohodlný pro ruční editaci.

Kam tedy zmizela značka <dir> a další, které jsou v HTML4, ale do XHTML se nedostaly? Jistě, dá se nahradit <ul>, ale sémantika je jiná.

Dalším podstatným rozdílem je, že HTML s chybami v syntaxi se "nějak" zobrazí, ale vadné XHTML se nezobrazí vůbec. Nám to nevadí, ale pro mnoho lidí to byl nepochopitelný opruz.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 13:37:54
Kam tedy zmizela značka <dir> a další, které jsou v HTML4, ale do XHTML se nedostaly?
Nezmizela nikam. Jak už jsem psal XHTML 1.0 je definováno jako jiný způsob serializace HTML 4.01 dokumentů, takže má přesně ty samé elementy a atributy, jako HTML 4.01. Takže značka dir není ani v HTML 4.01 Strict ani v XHTML 1.0 Strict a je v HTML 4.01 Transitional i XHTML 1.0 Transitional.

Dalším podstatným rozdílem je, že HTML s chybami v syntaxi se "nějak" zobrazí, ale vadné XHTML se nezobrazí vůbec.
Nikoli, to není vlastnost formátu, to je vlastnost konkrétního parseru. Klidně můžete napsat HTML 4.01 parser, který skončí na první chybě, a můžete napsat XHTML parser, který bude obsahovat stejnou věštírnu, jako HTML parsery běžných prohlížečů.

U HTML5 je to jiné, tam je v té básni v próze přesně popsáno, co má prohlížeč dělat v případě jaké chyby, takže parser, který by první chybě skončil, by neodpovídal specifikaci. Stejně je samozřejmě možné specifikovat i chování XML parseru (akorát bych dával přednost popisovat to gramatikou a ne prózou).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 15:55:12
Html a xhtml bylo stejné, lišilo se jen nároky na přesnost zápisu.

HTML je odvozeno ze SGML, zatímco XHTML je odvozeno z XML. Jedná se tedy o různé formáty, které sice vypadají podobně, ale parsují se odlišně. Atributy elementů se píší jinak.

Ano, liší se syntaxe, ale jejich sémantika byla totožná. Tudíž děláš chybu, když neúspěch xml formátu xhtml  svádíš na sémantiku. Lidé xhtml odmítli čistě proto, že je nepohodlný pro ruční editaci.

Kam tedy zmizela značka <dir> a další, které jsou v HTML4, ale do XHTML se nedostaly? Jistě, dá se nahradit <ul>, ale sémantika je jiná.

Dalším podstatným rozdílem je, že HTML s chybami v syntaxi se "nějak" zobrazí, ale vadné XHTML se nezobrazí vůbec. Nám to nevadí, ale pro mnoho lidí to byl nepochopitelný opruz.

Máte to nějaké popletené.  Html a xhtml bylo totožné, rozdíl byl pouze v syntaxi. Naopak xhtml bylo planovano jako modularni technologie s moznosti rozsirovat jej o nove znacky.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 16:00:09
Ano, liší se syntaxe, ale jejich sémantika byla totožná. Tudíž děláš chybu, když neúspěch xml formátu xhtml  svádíš na sémantiku. Lidé xhtml odmítli čistě proto, že je nepohodlný pro ruční editaci.
Jako že je problém psát lomítka na konec nepárových tagů? Protože to je to jediné, čím se XHTML liší od správně napsaného HTML dokumentu.

Omyl, v html treba nebyly povinne nektere ukoncovaci tagy a toho pri rucnim psani html, treba poznamek v notelynxu, vyuzivam dodnes. Zapis je jednodussi a prehlednejsi.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 16:40:36
Omyl, v html treba nebyly povinne nektere ukoncovaci tagy
To se dá snadno vyřešit tak, že se příslušný tag napíše jako nepárový. Muselo by se to pak vyřešit na úrovni zpracování AST nebo DOM, ale XML formát nijak nebrání takový zápis používat. Ale je pravda, že je potřeba rozlišovat XHTML (které ty ukončovací tagy vyžadovalo) a obecné XML, na němž by se dal postavit formát, který by je nevyžadoval.

Zapis je jednodussi a prehlednejsi.
Nemyslím si, že by ruční psaní v nějakém programu, který ani neumí ten párový tag doplnit, mělo být podstatným kritériem pro výběr formátu – když drtivá většina HTML dokumentů je generována nebo vytvářena v editorech, které to doplňování umí.

Ta absence ukončovacích tagů naopak dokument výrazně znepřehledňuje. Ona ta pravidla, kde je ten neukončený tag ukončen, nejsou úplně jednoduchá a pochybuju, že je někdo zná z hlavy. Takže pak jen hádá, místo aby tam ten tag měl přímo napsaný. Ony se ty ukončovací tagy pořád uvádějí jako velká nevýhoda XML, ale ve skutečnosti jsou jeho velkou výhodou. Přesně to, že u většího dokumentu nevíte, kde jaká sekce končí, je obrovská nevýhoda YAMLu, a u JSONu máte sice koncové závorky, ale když jich tam je deset za sebou, stejně nevíte nic.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 17:35:00
Omyl, v html treba nebyly povinne nektere ukoncovaci tagy
To se dá snadno vyřešit tak, že se příslušný tag napíše jako nepárový. Muselo by se to pak vyřešit na úrovni zpracování AST nebo DOM, ale XML formát nijak nebrání takový zápis používat. Ale je pravda, že je potřeba rozlišovat XHTML (které ty ukončovací tagy vyžadovalo) a obecné XML, na němž by se dal postavit formát, který by je nevyžadoval.[/qote]
To je irelevantni pro vaše tvrzení, že se html a xhtml v ničem nelišilo.

Citace
Zapis je jednodussi a prehlednejsi.
Nemyslím si, že by ruční psaní v nějakém programu, který ani neumí ten párový tag doplnit, mělo být podstatným kritériem pro výběr formátu – když drtivá většina HTML dokumentů je generována nebo vytvářena v editorech, které to doplňování umí.

Ta absence ukončovacích tagů naopak dokument výrazně znepřehledňuje. Ona ta pravidla, kde je ten neukončený tag ukončen, nejsou úplně jednoduchá a pochybuju, že je někdo zná z hlavy. Takže pak jen hádá, místo aby tam ten tag měl přímo napsaný. Ony se ty ukončovací tagy pořád uvádějí jako velká nevýhoda XML, ale ve skutečnosti jsou jeho velkou výhodou. Přesně to, že u většího dokumentu nevíte, kde jaká sekce končí, je obrovská nevýhoda YAMLu, a u JSONu máte sice koncové závorky, ale když jich tam je deset za sebou, stejně nevíte nic.
Nesmysl, na ručně napsaný a formátovaný html nemá žádný program sám od sebe co sahat, natož do něj něco doplňovat, to je vyslovně nežádoucí, natož aby bylo vydáváno za chybu, že to nedělá.

A další nesmysl, nadbytečné tagy dokument jednoznačně znepřehledňují. Tohle všechno jsou důvody, proč se xml neujalo u ručně psaných dokumentů a formátů, jako je právě html. Kdyby to bylo výhodou, používal by se dnes xhtml.

U ručně psaného a slušně formátovaného dokumentu víte kde vám co začíná a končí. JSON s tím nemá nic do činění, to není formát určený pro ruční psaní dokumentů,  a párové závorky navíc vyznačuje kdejaký editor.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 17:59:25
Nesmysl, na ručně napsaný a formátovaný html nemá žádný program sám od sebe co sahat, natož do něj něco doplňovat, to je vyslovně nežádoucí, natož aby bylo vydáváno za chybu, že to nedělá.
To je reakce na co?

A další nesmysl, nadbytečné tagy dokument jednoznačně znepřehledňují.
Nadbytečné tagy možná, ale to je věc konkrétního formátu, který nějaké nadbytečné tagy zavádí. Původně ale byla řeč o uzavíracích tazích, a ty naopak přehlednost dokumentu výrazně zvyšují. Všimněte si například, že každé IDE vám zvýrazňuje začátek a konec bloku, bez ohledu na to, o jaký jazyk se jedná – u programovacích jazyků i u dokumentových jazyků. Samozřejmě to nedělají ze zlomyslnost, aby to uživatelům překáželo, ale právě naopak – uživatelé chtějí vidět, kde daný blok začíná a kde končí.

U ručně psaného a slušně formátovaného dokumentu víte kde vám co začíná a končí.
Nezáleží na tom, zda je ten dokument ručně psaný. Záleží jenom na tom, zda je slušně zformátovaný a krátký. Na tuto podstatnou věc jste zapomněl.

JSON s tím nemá nic do činění, to není formát určený pro ruční psaní dokumentů
Aha, najednou.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 18:34:44
Nesmysl, na ručně napsaný a formátovaný html nemá žádný program sám od sebe co sahat, natož do něj něco doplňovat, to je vyslovně nežádoucí, natož aby bylo vydáváno za chybu, že to nedělá.
To je reakce na co?
Na tvoje trolení.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 18:39:37
A další nesmysl, nadbytečné tagy dokument jednoznačně znepřehledňují.
Nadbytečné tagy možná, ale to je věc konkrétního formátu, který nějaké nadbytečné tagy zavádí. Původně ale byla řeč o uzavíracích tazích, a ty naopak přehlednost dokumentu výrazně zvyšují. Všimněte si například, že každé IDE vám zvýrazňuje začátek a konec bloku, bez ohledu na to, o jaký jazyk se jedná – u programovacích jazyků i u dokumentových jazyků. Samozřejmě to nedělají ze zlomyslnost, aby to uživatelům překáželo, ale právě naopak – uživatelé chtějí vidět, kde daný blok začíná a kde končí.
Ne, řeč byla o xhtml a proč neuspělo proti html. Nabytečné uzavírací tagy dokument znepřehledňují. S ide to nemá nic společného, plácáš tu páté přes deváté jako když pejsek a kočičia vařili dort.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 15. 11. 2018, 18:41:44
Omyl, v html treba nebyly povinne nektere ukoncovaci tagy
To se dá snadno vyřešit tak, že se příslušný tag napíše jako nepárový.

Dotyčný zřejmě myslel něco jiného:

Kód: [Vybrat]
<p>První odstavec.
<p>Druhý odstavec.
<p>Třetí odstavec.
Což je v html regulérní konstrukce, ale xml, pokud je mi známo, něco takového nedá.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 18:43:37
U ručně psaného a slušně formátovaného dokumentu víte kde vám co začíná a končí.
Nezáleží na tom, zda je ten dokument ručně psaný. Záleží jenom na tom, zda je slušně zformátovaný a krátký. Na tuto podstatnou věc jste zapomněl.
Záleží, na formát pro ruční zpracování dokumentů jsou kladeny jiné požadavky než na formáty určené pro strojové zpracování. Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 18:46:29
JSON s tím nemá nic do činění, to není formát určený pro ruční psaní dokumentů
Aha, najednou.
Žádné najednou, JSON je koncipován od začátku na výměnu dat, nikoliv na psaní dokumentů. Stavět ho proti xhtml je kravina a plácání pátého přes deváté.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 15. 11. 2018, 18:47:04
Nevím, proč se v Javě XML nahrazuje za YML. Ale u YML mě zaujala vlastnost, že tam ty uzle nemusí být uzavřeny.
Například log v YML mohu průběžně generovat a průběžně číst, protože se nemusím ohlížet na uzavírací značky jako v XML. I v půlce uřízlý text je validní.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 18:49:31
Omyl, v html treba nebyly povinne nektere ukoncovaci tagy
To se dá snadno vyřešit tak, že se příslušný tag napíše jako nepárový.

Dotyčný zřejmě myslel něco jiného:

Kód: [Vybrat]
<p>První odstavec.
<p>Druhý odstavec.
<p>Třetí odstavec.
Což je v html regulérní konstrukce, ale xml, pokud je mi známo, něco takového nedá.

To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 15. 11. 2018, 19:05:46
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
si delas kozy doufam protoze jinak bys trumfnul i ty nejvetsi magory tady.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: ondatrax 15. 11. 2018, 19:13:38
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
si delas kozy doufam protoze jinak bys trumfnul i ty nejvetsi magory tady.
Všechno to jsou nepovinné párové tagy.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: ondatrax 15. 11. 2018, 19:16:56
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
si delas kozy doufam protoze jinak bys trumfnul i ty nejvetsi magory tady.
Všechno to jsou nepovinné párové tagy.
http://jecas.cz/html-znacky#koncova-volitelna (http://jecas.cz/html-znacky#koncova-volitelna)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 19:26:57
Nevím, proč se v Javě XML nahrazuje za YML. Ale u YML mě zaujala vlastnost, že tam ty uzle nemusí být uzavřeny.
Například log v YML mohu průběžně generovat a průběžně číst, protože se nemusím ohlížet na uzavírací značky jako v XML. I v půlce uřízlý text je validní.

Je fakt, že se XML na generování logů nehodí - proto se nejčastěji používá CSV. Když se takové logování správně napíše, tak si poradí i se souběhem.

Na druhou stranu může takto poškozený záznam v YAMLu znepříjemnit parsování. Záznam je validní, ale chybný. Další záznam je přilepený jako jeho pokračování. Pokud bychom chtěli mít neprůstřelné logy, asi bychom použili databázi.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 15. 11. 2018, 19:30:54
Všechno to jsou nepovinné párové tagy.
neptam se na to co to je, jen se podivuju, ze to nekdo povazuje za vhodne.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 15. 11. 2018, 19:35:31
Všechno to jsou nepovinné párové tagy.
neptam se na to co to je, jen se podivuju, ze to nekdo povazuje za vhodne.

Zajímala by mě tvá argumentace ohledně absoltuní nevhodnosti tohoto.

V případě dokumentů, kde se povinně odsazuje (YML) to funguje celkem pěkně.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 19:38:42
Propagátoři formátu YAML by si také měli uvědomit, že je na něm postaven zápis skriptů v Pythonu.

Podobně je na tom i XSLT, jehož zápis je odvozen z XML a dá se tak i validovat.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: ondatrax 15. 11. 2018, 19:56:43
Všechno to jsou nepovinné párové tagy.
neptam se na to co to je, jen se podivuju, ze to nekdo povazuje za vhodne.
To si děláš kozy, protože jinak bys trumfl i ty největší magory tady.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 20:02:52
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
si delas kozy doufam protoze jinak bys trumfnul i ty nejvetsi magory tady.
Ne, právě naopak, jsem pragmatický a netrpím Aspergerovým syndromem, tekže nepotřebuji k životu zbytečné uzavírací tagy.  :-)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: andy 15. 11. 2018, 20:14:29
Napriklad kdyby HTTP bylo binarni, nic by se pro vyvojare nezmenilo, Chrome nebo Firefox by mu to ukazal uplne stejne citelne.
No zrovna teď jsem něco debugoval s HTTP/2. při HTTP/1.1 stačilo chytit TCP spojení přes tcpflow. Na HTTP/2 jsem potřeboval mitmproxy.... ty textové protokoly se _fakt_ debugujou jednodušejc :)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: andy 15. 11. 2018, 20:25:02
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
Opruz je to do té doby, než v nějakém dokumentu začneš hledat, proč se to sakra něco zobrazuje někde jinde než má, protože se člověk někde ukouk a prohlížeč si to interpretoval po svém... XHTML v tomhle bylo super, rovnou to vypadlo na syntaktickou chybu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 20:51:53
To samé platí pro LI, TD a další, xhtml je proti tomu zbytečný opruz.
Opruz je to do té doby, než v nějakém dokumentu začneš hledat, proč se to sakra něco zobrazuje někde jinde než má, protože se člověk někde ukouk a prohlížeč si to interpretoval po svém... XHTML v tomhle bylo super, rovnou to vypadlo na syntaktickou chybu.
Ne, to se nestava, protoze je to navrzeno inteligentne a pokud se clovek ukoukne, oprava je snadna a i pres drobnou chybu ma clovek pristupny obsah. Drakonicka syntakticka kontrola xhtml, ktera kompletne znepristupnila cely obsah z duvidu sebemensi chybicky, byl jen dalsi hrebicek do jeho rakve. Dobry system s chybami pocita a umi se z nich zotavit. Chtel bys auto, ktere z duvodu sebemensi blbosti prestane kompletne fungovat? A proto lide nechteji xhtml.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 21:01:13
Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.
Nejsem ve sporu sám se sebou. To akorát vy nechápete, že nejkratší neznamená nejpřehlednější. Kdyby tenhle váš předpoklad platil, nejlépe by se nám četly a editovaly zazipované dokumenty. Všimněte si, kolik redundance je v přirozených lidských jazycích, které se vyvíjely tisíce let tak, aby se lidskému mozku dobře zpracovávaly. To samé platí u programovacích jazyků  – kromě výjimečných případů optimalizace nejde o to, aby byl kód co nejkratší, ale aby byl co nejčitelnější. A to samé samozřejmě platí i pro formáty dokumentů, které jsou určené pro zpracování lidmi.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 15. 11. 2018, 21:15:05
Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.
Nejsem ve sporu sám se sebou. To akorát vy nechápete, že nejkratší neznamená nejpřehlednější. Kdyby tenhle váš předpoklad platil, nejlépe by se nám četly a editovaly zazipované dokumenty. Všimněte si, kolik redundance je v přirozených lidských jazycích, které se vyvíjely tisíce let tak, aby se lidskému mozku dobře zpracovávaly. To samé platí u programovacích jazyků  – kromě výjimečných případů optimalizace nejde o to, aby byl kód co nejkratší, ale aby byl co nejčitelnější. A to samé samozřejmě platí i pro formáty dokumentů, které jsou určené pro zpracování lidmi.
Jsi ve sporu sam se sebou, a opakovane, vyvracis si sve vlastni argumenty :-). Nema smysl zkracovat zapis za kazdou cenu, ale ani to nelze zanedbat. Je vhodne najit optimalni formu a tu ma html. Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 21:21:33
Záleží, na formát pro ruční zpracování dokumentů jsou kladeny jiné požadavky než na formáty určené pro strojové zpracování. Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.

Jenže to prodloužení je téměř bezvýznamné. Navíc je při běžném přenosu pohlceno on-line kompresí.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 15. 11. 2018, 21:26:24
Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.
Přesně naopak, zbytečné chyby způsobuje to, že můžete koncové tagy vynechávat a pak musíte text v hlavě parsovat a domýšlet, kde je ten tag vlastně ukončen. Čitelnost samozřejmě snižuje to, když vám nějaké informace chybí. Nb vm snd přpd, ž tnhl txt j čtlnjš, prtž nbshj zbtčn znk, ktr s mžt dmslt?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 21:31:17
Nema smysl zkracovat zapis za kazdou cenu, ale ani to nelze zanedbat. Je vhodne najit optimalni formu a tu ma html. Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.

Je tam těch rozdílů víc, např.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked="checked"/>vs.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked>
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Anonymous Coward 15. 11. 2018, 22:53:22
Je tam těch rozdílů víc, např.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked="checked"/>vs.
Kód: [Vybrat]
<input type="checkbox" name="ctverecek" checked>

Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty). Chápu, proč je potřeba explicitně uzavírat prázdné elementy (br, hr...); obecný parser XML nemůže vědět, zda je daný element prázdný, nebo ne (je to sémantická, nikoliv syntaktická vlastnost). Ale atributy s hodnotou/bez hodnoty od sebe rozlišit lze: následuje za atributem rovnítko => atribut s hodnotou, pokud ne => "boolean" atribut.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: andy 15. 11. 2018, 23:28:01
Opruz je to do té doby, než v nějakém dokumentu začneš hledat, proč se to sakra něco zobrazuje někde jinde než má, protože se člověk někde ukouk a prohlížeč si to interpretoval po svém... XHTML v tomhle bylo super, rovnou to vypadlo na syntaktickou chybu.
Ne, to se nestava, protoze je to navrzeno inteligentne a pokud se clovek ukoukne, oprava je snadna a i pres drobnou chybu ma clovek pristupny obsah.
Bohužel stává...
Citace
Drakonicka syntakticka kontrola xhtml, ktera kompletne znepristupnila cely obsah z duvidu sebemensi chybicky, byl jen dalsi hrebicek do jeho rakve. Dobry system s chybami pocita a umi se z nich zotavit. Chtel bys auto, ktere z duvodu sebemensi blbosti prestane kompletne fungovat? A proto lide nechteji xhtml.
HTML je nějaký markup language - takže ta analogie by spíš byla, jako kdyby design auta byl popisován tak, že vyloženě chyby v nákresu by nebyly hozeny na hlavu autorovi, ale prostě by si to výroba "nějak" interpretovala. Takovým autem bych fakt jezdit nechtěl.

Já třeba nemám nic proti programovacím jazykům, které mají dost striktní syntaxi a při sebemenší chybě syntaxe vůbec odmítnou běžet. Silně je preferuji před jazyky, kde "všechno něco znamená". A HTML mi připadá v podstatě jako programovací jazyk, obzvlášť dneska, když se ten DOM následně modifikuje (a tam pak člověk může být dost překvapen).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 15. 11. 2018, 23:36:53
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty). Chápu, proč je potřeba explicitně uzavírat prázdné elementy (br, hr...); obecný parser XML nemůže vědět, zda je daný element prázdný, nebo ne (je to sémantická, nikoliv syntaktická vlastnost). Ale atributy s hodnotou/bez hodnoty od sebe rozlišit lze: následuje za atributem rovnítko => atribut s hodnotou, pokud ne => "boolean" atribut.

Také si myslím, že vývojáři s vaničkou vylili i dítě. V Lispu to je a to je pro mne dostatečným signálem, že by to v XML mělo být také. Není to tam a tak fungujeme i bez toho. V XML se to zas tak moc nepoužívá, aby to vyloženě chybělo.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 00:37:27
Záleží, na formát pro ruční zpracování dokumentů jsou kladeny jiné požadavky než na formáty určené pro strojové zpracování. Zbytečné uzavírací tagy dokument prodlužují, jsi ve sporu sám se sebou.

Jenže to prodloužení je téměř bezvýznamné. Navíc je při běžném přenosu pohlceno on-line kompresí.

Je významné, je to důvod, proč propadlo :-). A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 00:48:02
Proto ma neparove tagy a proto ma parove tagy s povinnou a nepovinnou koncovou znackou. Protoze parove koncove znacky nekde maji smysl a nekde jsou jen na obtiz, otravuji, zpusobuji zbytecne chyby a v neposledni rade zhorsuji citelnost. Proto je u rucne psanych textu nepouzivam a jsem za to vdecny.
Přesně naopak, zbytečné chyby způsobuje to, že můžete koncové tagy vynechávat a pak musíte text v hlavě parsovat a domýšlet, kde je ten tag vlastně ukončen. Čitelnost samozřejmě snižuje to, když vám nějaké informace chybí. Nb vm snd přpd, ž tnhl txt j čtlnjš, prtž nbshj zbtčn znk, ktr s mžt dmslt?
Pitomost, zbytečné koncové značky znepřehledňuje to text a jsou zbytečným zdrojem chyb, není to chybějící informace. Čitelnost čitelnost snisnižžžžujejeje i když i když brambora čitelnost čitelnost mrkev snniiižžžžujejeje i když i když se a835 text gnome  opakuje opakuje i když i když a a a nebo ne není je tak skoro možná je docela zcela plný zbytečného ne ne zbytečného jo balastu.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 16. 11. 2018, 07:17:21
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
tvl kolik lidi dneska pise html bez IDE?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 07:18:05
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).
Protože by to bylo další pravidlo, další výjimka, komplikace. Nejrozšířenější jsou takové jazyky, které mají pár jednoduchých pravidel, a vedle toho máte nástroje, které umožní z těch jednoduchých bloků postavit něco komplexnějšího. Což je ten důvod, proč se YAML nikdy nijak výrazně neprosadí vůči XML nebo JSONu (jako obecný formát), protože přesně tohle pravidlo porušuje.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 07:21:00
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
Problém je, že stále nechápete, že pokud se tím XML dokumentem zabývá člověk, čte ho mnohem častěji, než edituje. Proto stejně jako u zdrojových kódů programů platí, že se musí především dobře číst, čemuž se musí podřídit i to, že toho občas musíte napsat trochu víc. Navíc cokoli lepšího než notepad vám koncové tagy doplňuje, tak nevím, proč máte pořád takový problém je „psát“.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 16. 11. 2018, 07:33:53
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).
Protože by to bylo další pravidlo, další výjimka, komplikace. Nejrozšířenější jsou takové jazyky, které mají pár jednoduchých pravidel, a vedle toho máte nástroje, které umožní z těch jednoduchých bloků postavit něco komplexnějšího. Což je ten důvod, proč se YAML nikdy nijak výrazně neprosadí vůči XML nebo JSONu (jako obecný formát), protože přesně tohle pravidlo porušuje.
YML se docela dobre prosadil a prosazuje. jen ne vsude. pouziva se tam kde ma smysl - relativne jednoduche konfigurace. JSON je vhodny a vyhodny jinde (svet javascriptu). XML je sice vhodne i na konfigurace, ale nemyslim, ze je primym konkurentem YML.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 08:20:09
relativne jednoduche konfigurace.
Já bych to pojmenování trochu upřesnil – konfigurace, u nichž jejich autoři zatím netuší, že se později rozrostou, a že pak budou na volbu YAMLu pěkně nadávat.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: to_je_jedno 16. 11. 2018, 08:38:00
Ne kazdej projekt je internetovy bankovnictvi...
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 13:47:37
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
tvl kolik lidi dneska pise html bez IDE?
Spousta. Já prakticky denně v NoteLynX

(https://lh3.ggpht.com/fDiqjZWpM5oFNelBucp0F8sg-McQ3vRuH-0xNivAqMpfVz49phd4n_jsOD7cPaKBG0Y=w1440-h620-rw)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 13:52:11
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
Problém je, že stále nechápete, že pokud se tím XML dokumentem zabývá člověk, čte ho mnohem častěji, než edituje. Proto stejně jako u zdrojových kódů programů platí, že se musí především dobře číst, čemuž se musí podřídit i to, že toho občas musíte napsat trochu víc. Navíc cokoli lepšího než notepad vám koncové tagy doplňuje, tak nevím, proč máte pořád takový problém je „psát“.
Nevíte, protože máte selektivní vidění a ignorujete tu druhou půlku, znepřehledňuje to text. Zbytečné koncové značky text znepřehledňují. U xhtml je to extrémní třeba u tabulek. Kdyby mi je nějaký hloupý editor doplňoval, tak je odmažu a editoru to zakážu nebo ho vyměním.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 14:13:19
Nevíte, protože máte selektivní vidění a ignorujete tu druhou půlku, znepřehledňuje to text. Zbytečné koncové značky text znepřehledňují. U xhtml je to extrémní třeba u tabulek. Kdyby mi je nějaký hloupý editor doplňoval, tak je odmažu a editoru to zakážu nebo ho vyměním.
Žádnou druhou půlku neignoruju, to jenom vy ignorujete, co píšu. Zbytečné koncové značky by možná text znepřehledňovali, ale XML nemá žádná zbytečné koncové značky. XML má jen nezbytné koncové značky, a to takové, které  zpřehledňují text – umožní na první pohled vidět, který element se uzavírá, a zakotvit se tak ve struktuře dokumentu. Zbytečné by byly např. koncové značky u prázdných elementů, ale ty právě psát nemusíte, můžete použít self-closing tag.

Stačí se podívat na porovnání následujících úryvků, když budete chtít vložit další osobu:

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</cislo-popisne>
      <cislo-orientacni>1000</cislo-orientacni>
      <psc>10000</psc>
    </adresa>
  </osoba>
</zakaznici>

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</>
      <cislo-orientacni>1000</>
      <psc>10000</>
    </>
  </>
</>

V prvním případě to vidíte rovnou, v druhém případě budete muset v dokumentu lítat sem a tam, abyste zjistil, k jakému začátku patří který konec, a nebo vám ten koncový tag bude muset editor stejně zobrazit jako pomůcku.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: JS 16. 11. 2018, 14:20:25
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).

Rekl bych, od boku, ze to zrusili, protoze je to nejednoznacne. Absence atributu neznamena, ze je jeho hodnota false. (Trebe starsi dokument nemusi znat nova pole.)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 16. 11. 2018, 14:59:17
A nejde o přenos dat, ale o to, že to člověka nutí psát zbytečné kraviny a znepřehledňuje text.
tvl kolik lidi dneska pise html bez IDE?

Například já a vůbec mi to nevadí.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 16. 11. 2018, 15:11:09
Pokud někomu vadí "zbytečné" značky na konci, tak si může příslušný úryvek napsat třeba v jazyku HAML a přímo v editoru ho zkompilovat na XML či HTML.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 16. 11. 2018, 16:12:55
Pokud někomu vadí "zbytečné" značky na konci, tak si může příslušný úryvek napsat třeba v jazyku HAML a přímo v editoru ho zkompilovat na XML či HTML.

A nebo to napsat v tom YMLu, že jo. Jde o to, že nejde jen o psaní, ale i o čtení. A já mám sice XML rád, ale přidám se k těm, kterým to tedy čtivé nepřijde.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 16:56:39
Nevíte, protože máte selektivní vidění a ignorujete tu druhou půlku, znepřehledňuje to text. Zbytečné koncové značky text znepřehledňují. U xhtml je to extrémní třeba u tabulek. Kdyby mi je nějaký hloupý editor doplňoval, tak je odmažu a editoru to zakážu nebo ho vyměním.
Žádnou druhou půlku neignoruju, to jenom vy ignorujete, co píšu. Zbytečné koncové značky by možná text znepřehledňovali, ale XML nemá žádná zbytečné koncové značky. XML má jen nezbytné koncové značky, a to takové, které  zpřehledňují text – umožní na první pohled vidět, který element se uzavírá, a zakotvit se tak ve struktuře dokumentu. Zbytečné by byly např. koncové značky u prázdných elementů, ale ty právě psát nemusíte, můžete použít self-closing tag.

Stačí se podívat na porovnání následujících úryvků, když budete chtít vložit další osobu:

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</cislo-popisne>
      <cislo-orientacni>1000</cislo-orientacni>
      <psc>10000</psc>
    </adresa>
  </osoba>
</zakaznici>

Kód: [Vybrat]
      <ulice>Sokolovská</ulice>
      <cislo-popisne>100</>
      <cislo-orientacni>1000</>
      <psc>10000</>
    </>
  </>
</>

V prvním případě to vidíte rovnou, v druhém případě budete muset v dokumentu lítat sem a tam, abyste zjistil, k jakému začátku patří který konec, a nebo vám ten koncový tag bude muset editor stejně zobrazit jako pomůcku.
Ignorujete, ani po upozorneni nejste sto schopen to pojmout a furt tam cpete zbytecne koncove znacky. Kdyz pominu, ze ukazka neni validni html (a rec je o tom, proc neuspelo xhtml proti html),  pak to lze jednoduseji a citelneji napsat takto:

Kód: [Vybrat]
      <ulice>            Sokolovská
      <cislo-popisne>    100
      <cislo-orientacni> 1000
      <psc>              10000
  </osoba>
</zakaznici>
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 16. 11. 2018, 17:15:32
Ignorujete, ani po upozorneni nejste sto schopen to pojmout a furt tam cpete zbytecne koncove znacky. Kdyz pominu, ze ukazka neni validni html (a rec je o tom, proc neuspelo xhtml proti html),  pak to lze jednoduseji a citelneji napsat takto:

Kód: [Vybrat]
      <ulice>            Sokolovská
      <cislo-popisne>    100
      <cislo-orientacni> 1000
      <psc>              10000
  </osoba>
</zakaznici>

Bych to stejně zapsal takto:

Kód: [Vybrat]
<zakaznici>
    <osoba>
        <ulice>            Sokolovská
        <cislo-popisne>    100
        <cislo-orientacni> 1000
        <psc>              10000

Tak jak to dělají některé jazyky: inline je povinné ukončování, jinak se ukončí odsazováním. Přidání nové osoby perfektně čitelné.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 16. 11. 2018, 17:17:58
pak to lze jednoduseji a citelneji napsat takto:

Kód: [Vybrat]
      <cislo-orientacni>1000
      <psc>             10000
  </osoba>

Nelze, tento zápis není v XML jednoznačný. psc by klidně mohlo být zanořené do cislo-orientacni.

Mohl jste si to někdy dovolit u html (relativně málo značek, implicitně známé DTD), ale obecně to nefunguje a klade to velké nároky na parser (musí zkusit několik variant a rozhodnout se, která je nejvíce správná).

Druhou možností je dát význam i bílým znakům (nový řádek uzavře element nebo povinné odsazení při změně úrovně). Tím byste ovšem vymyslel yaml.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 16. 11. 2018, 17:20:30
Druhou možností je dát význam i bílým znakům (nový řádek uzavře element nebo povinné odsazení při změně úrovně). Tím byste ovšem vymyslel yaml.
No však :-)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 17:35:56
pak to lze jednoduseji a citelneji napsat takto:

Kód: [Vybrat]
      <cislo-orientacni>1000
      <psc>             10000
  </osoba>

Nelze, tento zápis není v XML jednoznačný. psc by klidně mohlo být zanořené do cislo-orientacni.

Mohl jste si to někdy dovolit u html (relativně málo značek, implicitně známé DTD), ale obecně to nefunguje a klade to velké nároky na parser (musí zkusit několik variant a rozhodnout se, která je nejvíce správná).

Druhou možností je dát význam i bílým znakům (nový řádek uzavře element nebo povinné odsazení při změně úrovně). Tím byste ovšem vymyslel yaml.
Lze, ale ne v xml a o tom, že je kvůli tomu xml nevhodné pro ruční editaci dokumentů a proto neuspělo xhtml je tu řeč už několik dnů, bylo by dobré si diskusi pročíst před zapojením se do ní.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 17:38:02
Mohl jste si to někdy dovolit u html (relativně málo značek, implicitně známé DTD), ale obecně to nefunguje a klade to velké nároky na parser (musí zkusit několik variant a rozhodnout se, která je nejvíce správná).

Mohu si to u něj dovolit stále a ne někdy, ale vždy u všech nepovinných párových tagů.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 17:40:49
Ignorujete, ani po upozorneni nejste sto schopen to pojmout a furt tam cpete zbytecne koncove znacky. Kdyz pominu, ze ukazka neni validni html (a rec je o tom, proc neuspelo xhtml proti html),  pak to lze jednoduseji a citelneji napsat takto:

Kód: [Vybrat]
      <ulice>            Sokolovská
      <cislo-popisne>    100
      <cislo-orientacni> 1000
      <psc>              10000
  </osoba>
</zakaznici>

Bych to stejně zapsal takto:

Kód: [Vybrat]
<zakaznici>
    <osoba>
        <ulice>            Sokolovská
        <cislo-popisne>    100
        <cislo-orientacni> 1000
        <psc>              10000

Tak jak to dělají některé jazyky: inline je povinné ukončování, jinak se ukončí odsazováním. Přidání nové osoby perfektně čitelné.

Přesně tak. Tak to dělá i html, ale není to odvozeno od odsazení, ale od následujících značek.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 16. 11. 2018, 17:45:21
Druhou možností je dát význam i bílým znakům (nový řádek uzavře element nebo povinné odsazení při změně úrovně). Tím byste ovšem vymyslel yaml.
No však :-)

Jazyky s významem v bílých znacích mají zase svoje mouchy:

- Stačí trošku větší úroveň zanoření a dokument utíká z obrazovky,
- v místě ukončení delšího bloku je vizuální problém trefit správnou úroveň odsazení

Jsou to prostě dvě různé možnosti pro vyjádření hierarchie (Python vs. Ruby, XML vs. Yaml, JS vs. Coffescript) a obě mají výhody i nevýhody.

Mohl jste si to někdy dovolit u html (relativně málo značek, implicitně známé DTD),

Mohu si to u něj dovolit stále a ne někdy, ale vždy u všech nepovinných párových tagů.

Jen to pak občas vypadá různě v různých prohlížečích, protože browser netuší, kde má element ukončit.

A do doby HTML 4 a IE 4/5/6 se opravdu vracet nechci ani ve vzpomínkách. Exporty z Wordu s elementy, které občas zavřené nebyly, občas byly a občas byly, ale blbě (<a>[/url]) bývaly opravdu lahůdka.

Přesně tak. Tak to dělá i html, ale není to odvozeno od odsazení, ale od následujících značek.

Což je zase něco co si možná můžete dovolit u HTML, ale ne u obecného formátu pro strukturovaná data. Protože byste potřeboval DTD, které to pravidlo pro vynucené uzavření popíše.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 16. 11. 2018, 17:56:11
Přesně tak. Tak to dělá i html, ale není to odvozeno od odsazení, ale od následujících značek.

Gramatika, která se musí rozhodnout do které tabulky bude patřit poslední tr z následujícího příkladu je všechno, jen ne jednoznačná.

Kód: [Vybrat]
table tr td table tr td tr td
A pokud ta gramatika určuje, že table + tr je třeba uzavřít, ale td ne, tak je zase pekelně složitá. Ono taky napsat validní HTML parser není vůbec jednoduché. A pro generický formát je taková složitost nevhodná.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: agent 16. 11. 2018, 18:07:14
Tohle mi zrovna jednoznačné připadá - není tam žádný tag který by vynutil automatické uzavření tabulky takže poslední <tr> patří do té vnitřní tabulky naposled začínající, která je uvnitř té druhé - ale neuzavírat <table> tag je už hodně velká prasečina i v HTML  ;D
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 18:42:54
Ignorujete, ani po upozorneni nejste sto schopen to pojmout a furt tam cpete zbytecne koncove znacky.
Mohl byste odkázat, kde přesně jste psal o tom, že byste konec elementu neoznačoval vůbec nijak? Psal jste o koncových značkách, a koncová značka v XML se skládá z menšítka, lomítka, názvu uzavíraného elementu a většítka. Já jsem ten název uzavíraného elementu odstranil, čímž jsem odstranil i koncovou značku. Váš problém je, že máte selektivní vidění, a ani po upozornění nejste schopen pojmout, jaký účel mají jaké prvky XML.

K tomu vašemu příkladu – ukončovat element začátkem následujícího elementu z určité skupiny je pěkná prasárna, a pokud se budeme bavit i o přehlednosti, tak na škále přehlednosti od 0 do 100 to má hodnotu asi tak -98 (sic!).

Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text</a>text<p>text
Kolik je v tomhle kódu odstavců?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Anonymous Coward 16. 11. 2018, 19:42:53
Tak mě napadá, proč XML zrušilo tyto "booleovské" atributy (checked vs checked="checked"), resp. proč neumožňuje takový jejich zápis (bez explicitní hodnoty).

Rekl bych, od boku, ze to zrusili, protoze je to nejednoznacne. Absence atributu neznamena, ze je jeho hodnota false. (Trebe starsi dokument nemusi znat nova pole.)

Trochu jsem patrál tady https://www.xml.com/axml/testaxml.htm (https://www.xml.com/axml/testaxml.htm), bohužel neúspěšně :(. Ale nečetl jsem to celý, jen jsem to tak prolítnul. V každém případě link doporučuji pro všechny, kteří se chcou o XML dozvědět více :). Jde o specifikaci XML 1.0 s anotacemi od jednoho z jejích autorů.
No, podle mě by význam takového atributu záležel na aplikaci; ta by definovala, jakým způsobem se mění význam elementu, kterému bych takový atribut přiřadil. Ale kdo ví :). Možná to věci opravdu jenom komplikuje...
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 19:44:13
Jen to pak občas vypadá různě v různých prohlížečích, protože browser netuší, kde má element ukončit.

Kecy v kleci. Bylo a je jasně definované, kde se tag  automaticky ukončí a funguje to tak stále.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 19:49:30
Tohle mi zrovna jednoznačné připadá - není tam žádný tag který by vynutil automatické uzavření tabulky takže poslední <tr> patří do té vnitřní tabulky naposled začínající, která je uvnitř té druhé - ale neuzavírat <table> tag je už hodně velká prasečina i v HTML  ;D

Znacka table je povinne parova, staci znat specifikace a nevymyslet kraviny. Tady o tom holt zvani lidi, kteri o tom maji jen sve dojmy.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 19:57:04
Ignorujete, ani po upozorneni nejste sto schopen to pojmout a furt tam cpete zbytecne koncove znacky.
Mohl byste odkázat, kde přesně jste psal o tom, že byste konec elementu neoznačoval vůbec nijak? Psal jste o koncových značkách, a koncová značka v XML se skládá z menšítka, lomítka, názvu uzavíraného elementu a většítka. Já jsem ten název uzavíraného elementu odstranil, čímž jsem odstranil i koncovou značku. Váš problém je, že máte selektivní vidění, a ani po upozornění nejste schopen pojmout, jaký účel mají jaké prvky XML.

K tomu vašemu příkladu – ukončovat element začátkem následujícího elementu z určité skupiny je pěkná prasárna, a pokud se budeme bavit i o přehlednosti, tak na škále přehlednosti od 0 do 100 to má hodnotu asi tak -98 (sic!).

Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text</a>text<p>text
Kolik je v tomhle kódu odstavců?

Mluvi z tebe cira neznalost. Koncove znacky jste tam nechal, jen byly anonymni, proste hloupost zcela mimo tema diskuse. Vam stale nedoslo, ze tu neni rec o xml, ale lepsim formatu, nez je xml, ktery se neridi pravidly xml.

Ne neni to prasarna, je to inteligentni html standard, ktery umoznuje pohodlne a prehledne psat rucne html dokumenty. Vas priklad je na prvni pohled nevalidni i kdyz se ho snazite zneprehlednit absenci formatovani. :-)
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 21:12:49
Ne neni to prasarna, je to inteligentni html standard, ktery umoznuje pohodlne a prehledne psat rucne html dokumenty. Vas priklad je na prvni pohled nevalidni i kdyz se ho snazite zneprehlednit absenci formatovani. :-)
Přejete si tam přidat formátování tak, aby odpovídalo struktuře dokumentu a nemusel jste nic řešit, nebo naopak tak, aby bylo matoucí?

A když to změním takhle, už to validní je?

Kód: [Vybrat]
<p>text<p>text<figure>text<p>text</figure>text<p>text
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: agent 16. 11. 2018, 21:23:42
Tohle mi zrovna jednoznačné připadá - není tam žádný tag který by vynutil automatické uzavření tabulky takže poslední <tr> patří do té vnitřní tabulky naposled začínající, která je uvnitř té druhé - ale neuzavírat <table> tag je už hodně velká prasečina i v HTML  ;D

Znacka table je povinne parova, staci znat specifikace a nevymyslet kraviny. Tady o tom holt zvani lidi, kteri o tom maji jen sve dojmy.
Sice možná podle specifikace povinně párová je, ale když tam není, browser se s tím bez problémů vyrovná a koncové značky si domyslí na konci dokumentu (což mohl a nemusel být záměr autora).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 21:56:52
Ne neni to prasarna, je to inteligentni html standard, ktery umoznuje pohodlne a prehledne psat rucne html dokumenty. Vas priklad je na prvni pohled nevalidni i kdyz se ho snazite zneprehlednit absenci formatovani. :-)
Přejete si tam přidat formátování tak, aby odpovídalo struktuře dokumentu a nemusel jste nic řešit, nebo naopak tak, aby bylo matoucí?

A když to změním takhle, už to validní je?

Kód: [Vybrat]
<p>text<p>text<figure>text<p>text</figure>text<p>text

Vynechávání zbytečných koncových značek je výborná featura pro vytváření dobře čitelných ručně psaných a formátovaných dokumentů, na což se xml nehodí, což jsem tady nucen opakovat jako kolovrátek. Snaha zpochybňovat to onelinerow kodem ukazuje zaslepenost a zásadní nepochopení téma diskuse.

Ano, takto to validní je, figure ukončuje odstavec. Počet odstavců se rovná počtu tagů p. Tak moc je to jednoduché.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 16. 11. 2018, 22:01:50
Tohle mi zrovna jednoznačné připadá - není tam žádný tag který by vynutil automatické uzavření tabulky takže poslední <tr> patří do té vnitřní tabulky naposled začínající, která je uvnitř té druhé - ale neuzavírat <table> tag je už hodně velká prasečina i v HTML  ;D

Znacka table je povinne parova, staci znat specifikace a nevymyslet kraviny. Tady o tom holt zvani lidi, kteri o tom maji jen sve dojmy.
Sice možná podle specifikace povinně párová je, ale když tam není, browser se s tím bez problémů vyrovná a koncové značky si domyslí na konci dokumentu (což mohl a nemusel být záměr autora).
A co s tím? Ano, html parser se snaží zpracovat i nevalidní dokumenty. To nemá nic společného s téma, že specifikace html umožňuje vynechat některé koncové značky za účelem zvýšení přehlednosti a čitelnosti ručně psaných dokumentů, což je jeden z důvodů, proč se neujalo xhtml.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 16. 11. 2018, 22:04:50
Koncove znacky jste tam nechal, jen byly anonymni, proste hloupost zcela mimo tema diskuse. Vam stale nedoslo, ze tu neni rec o xml, ale lepsim formatu, nez je xml, ktery se neridi pravidly xml.

Znaky </> nejsou součástí html značky.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 16. 11. 2018, 22:25:40
Vynechávání zbytečných koncových značek je výborná featura pro vytváření dobře čitelných ručně psaných a formátovaných dokumentů, na což se xml nehodí, což jsem tady nucen opakovat jako kolovrátek.
Nejste nucen opakovat to jako kolovrátek, úplně by stačilo, kdybyste ráčil zaregistrovat, že už jsem vám to mnohokrát vyvrátil. Koncové značky nejsou zbytečné, slouží pro zlepšení čitelnosti dokumentu.

Snaha zpochybňovat to onelinerow kodem ukazuje zaslepenost a zásadní nepochopení téma diskuse.
Jenom jsem za účelem přehlednosti vynechal zbytečné konce řádků… Ono jaksi nejde dokument přehledně zformátovat tak, aby to zároveň nenapovídalo, jak je dokument strukturován. Přece právě proto, aby napovídalo strukturu, se formátování používá.

Ano, takto to validní je, figure ukončuje odstavec. Počet odstavců se rovná počtu tagů p. Tak moc je to jednoduché.
Takže si musíte pamatovat tagy ukončující odstavec a tagy, ve kterých musí být odstavec explicitně ukončen… Opravdu strašně jednoduché a přehledné. Zajímalo by mne, kolik lidí v téhle diskusi na první pohled vidí, proč jsou ty první dva příklady nevalidní a ty další dva validní.

Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text<br>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text<hr>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<figure>text<p>text</figure>text<p>text
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 17. 11. 2018, 00:02:26
Znacka table je povinne parova, staci znat specifikace a nevymyslet kraviny. Tady o tom holt zvani lidi, kteri o tom maji jen sve dojmy.

A jak obecný parser tuhle informaci zjistí? Možná jste si toho nevšiml, ale to téma bylo o XML vs. YML jako o formátech pro obecná strukturovaná data. To co tady popisujete je jednoznačně důkazem užitečnosti povinných uzavíracích tokenů (ať už /> nebo třeba složené závorky) z pohledu jednoznačnosti zápisu a jednoduchosti parseru.

HTML je hodně specifický kočkopes formát, složitý na správnou implementaci a zatížený spoustou historického balastu (víceméně popisem převládající implementace).
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: MarSik 17. 11. 2018, 00:42:03
Kecy v kleci. Bylo a je jasně definované, kde se tag  automaticky ukončí a funguje to tak stále.

Tak to jsem asi žil v době války standardů (IE vs. NN vs. předchůdci FF vs. Opera) v alternativní realitě. Protože definované to bylo tak možná na papíře.

Ne neni to prasarna, je to inteligentni html standard, ktery umoznuje pohodlne a prehledne psat rucne html dokumenty. Vas priklad je na prvni pohled nevalidni i kdyz se ho snazite zneprehlednit absenci formatovani. :-)

Inteligentní? pro velmi specifické použití možná.. ale dál už je to doufám vtip. Pohodlně a přehledně? Na první pohled nevalidní? To opravdu nemyslíte vážně.. zkoušel jste ten úžasný formát někdy strojově parsovat?

Navíc pořád zapomínáte na jednu dost zásadní věc. Tvorba DOM stromu u XML nevyžaduje předchozí znalosti o tom formátu. SAX bez problémů ví, kde zavolat metody pro začátek a konec elementu. XML i YML umožňují definovat vlastní elementy (no spíše tam téměř žádné jiné nejsou) a pořád jsou jednoznačně parsovatelné. Lidmi i stroji. Což je vlastnost, kterou já tedy od obecného formátu rozhodně očekávám.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 17. 11. 2018, 02:12:45
Vynechávání zbytečných koncových značek je výborná featura pro vytváření dobře čitelných ručně psaných a formátovaných dokumentů, na což se xml nehodí, což jsem tady nucen opakovat jako kolovrátek.
Nejste nucen opakovat to jako kolovrátek, úplně by stačilo, kdybyste ráčil zaregistrovat, že už jsem vám to mnohokrát vyvrátil. Koncové značky nejsou zbytečné, slouží pro zlepšení čitelnosti dokumentu.

Leda ve snu. Koncové značky čitelnost dokumentu nezlepšují, čitelnost zlepšuje formátování, zbytečné koncové značky čitelnost dokumentu zhoršují, je to nadbytečný formální balast. Důkaz je zjevný, neúspěch xhtml.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 17. 11. 2018, 02:23:33
Snaha zpochybňovat to onelinerow kodem ukazuje zaslepenost a zásadní nepochopení téma diskuse.
Jenom jsem za účelem přehlednosti vynechal zbytečné konce řádků… Ono jaksi nejde dokument přehledně zformátovat tak, aby to zároveň nenapovídalo, jak je dokument strukturován. Přece právě proto, aby napovídalo strukturu, se formátování používá.
Lež. Konce řádků nejsou zbytečné, jsou součástí formátování textu, které dokument zpřehledňuje, na rozdíl od koncových značek. Vynechal jste je za účelem znepřehlednění textu, protože jste zmrd, který se snaží mylné tvrzení o lepší čitelnosti dokumentu s koncovými značkami prokázat tím, že ukázky s koncovými značkami sem dává ve formátované podobě a bez koncových značek v neformátované podobě. Nechtě tím ale dokazujete, že čitelnost záleží na formátování a nikoliv značkách.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 17. 11. 2018, 02:35:28
Ano, takto to validní je, figure ukončuje odstavec. Počet odstavců se rovná počtu tagů p. Tak moc je to jednoduché.
Takže si musíte pamatovat tagy ukončující odstavec a tagy, ve kterých musí být odstavec explicitně ukončen… Opravdu strašně jednoduché a přehledné. Zajímalo by mne, kolik lidí v téhle diskusi na první pohled vidí, proč jsou ty první dva příklady nevalidní a ty další dva validní.

Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text<br>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<a href="">text<p>text<hr>text</a>text<p>text
Kód: [Vybrat]
<p>text<p>text<figure>text<p>text</figure>text<p>text

Ano, nesmíte být hloupý, o jednoduchosti tu nebyla řeč. Přehledné to ale právě proto je a je lepší když se stroje přizpůsobí lidem a mají složitější parser než když se lidé přizpůsobují strojům.

Na první pohled to nevidí nikdo, protože je to neformátovaná zmrdovština, ale jakmile splníte premisu, že je to zavedeno pro potřeby ručně psaných formátovaných dokumentů, což tu musím opakovat jako kolovrátek, protože jste to dosud nepochopil, a dáte to sem naformátované,  pak bude na první pohled zřejmé, že odkaz který začíná v půlce jednoho odstavce a končí v druhé je chybně a je to nevalidní. Nevalidní je proto i ten třetí příklad.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 17. 11. 2018, 02:37:38
Koncove znacky jste tam nechal, jen byly anonymni, proste hloupost zcela mimo tema diskuse. Vam stale nedoslo, ze tu neni rec o xml, ale lepsim formatu, nez je xml, ktery se neridi pravidly xml.
Znaky </> nejsou součástí html značky.
Tyto znaky jsou součástí každé ukončovací html značky.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Petr 17. 11. 2018, 02:50:33
Kecy v kleci. Bylo a je jasně definované, kde se tag  automaticky ukončí a funguje to tak stále.
Tak to jsem asi žil v době války standardů (IE vs. NN vs. předchůdci FF vs. Opera) v alternativní realitě. Protože definované to bylo tak možná na papíře.

Ne neni to prasarna, je to inteligentni html standard, ktery umoznuje pohodlne a prehledne psat rucne html dokumenty. Vas priklad je na prvni pohled nevalidni i kdyz se ho snazite zneprehlednit absenci formatovani. :-)

Inteligentní? pro velmi specifické použití možná.. ale dál už je to doufám vtip. Pohodlně a přehledně? Na první pohled nevalidní? To opravdu nemyslíte vážně.. zkoušel jste ten úžasný formát někdy strojově parsovat?

Navíc pořád zapomínáte na jednu dost zásadní věc. Tvorba DOM stromu u XML nevyžaduje předchozí znalosti o tom formátu. SAX bez problémů ví, kde zavolat metody pro začátek a konec elementu. XML i YML umožňují definovat vlastní elementy (no spíše tam téměř žádné jiné nejsou) a pořád jsou jednoznačně parsovatelné. Lidmi i stroji. Což je vlastnost, kterou já tedy od obecného formátu rozhodně očekávám.

Invalidní argument. Pokud prohlížeč nedodržuje standardy, tak bude mít problém i v xhtml. Je tedy ie6, který nedodržoval standardy, důkaz toho, že formáty jako xml nebo png jsou špatné?

Ano, inteligentní a pohodlný, pro člověka je html mnohem lepší než xhtml. Parsovat html je brnkačka, v pythonu to dělám běžně.

XML je dobrý pro strojové zpracování, tady je ale řeč o formátu pro ruční psaní formátovaných dokumentů, už zas to musím opakovat. A pro tyto účely je pohodlnější a přehlednější html než xhtml. A že s tím má stroj drobátko víc práce je mi úplně jedno, protože to šetří práci mě.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Kit 17. 11. 2018, 02:52:23
Koncove znacky jste tam nechal, jen byly anonymni, proste hloupost zcela mimo tema diskuse. Vam stale nedoslo, ze tu neni rec o xml, ale lepsim formatu, nez je xml, ktery se neridi pravidly xml.
Znaky </> nejsou součástí html značky.
Tyto znaky jsou součástí každé ukončovací html značky.

Tyto znaky jsou jen escapovacími znaky okolo html značek. Parsery je vypouští - v aplikaci se už nevyskytují. HTML značkou je pouze to slovo uvnitř.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 17. 11. 2018, 08:56:23
Důkaz je zjevný, neúspěch xhtml.
Ten váš důkaz je ovšem chybný. Za prvé je spousta dokumentů servírovaných jako HTML ve skutečnosti XHTML dokument. Za druhé, ty dokumenty se označují jako HTML a ne XHTML proto, že prohlížeče parsují HTML a XHTML jinak – parsery HTML jsou v prohlížečích implementované tak, že se zotaví z jakékoli chyby a něco zobrazí. Naproti tomu XML prasery v prohlížečích jsou naprogramované striktně a jakmile je dokument nevalidní, zobrazí jen chybu.

Naopak máme pádné důkazy pro to, že vynechávání koncových značek je hloupost. Za prvé to ani v HTML, kde je to možné, skoro nikdo nepoužívá. Za druhé, po HTML vzniklo mnoho formátů, které mají mít jednodušší zápis, než HTML – např. wiki wiki, Markdown a asi milion dalších. Žádný z nich nezopakoval tu hloupost, že by některé koncové značky udělal nepovinné.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 17. 11. 2018, 09:46:21
Ano, nesmíte být hloupý, o jednoduchosti tu nebyla řeč.
Byla, jenže vy jste to stále nezaregistroval. Přehlednost a srozumitelnost je mimo jiné podmíněna jednoduchostí.

Přehledné to ale právě proto je a je lepší když se stroje přizpůsobí lidem a mají složitější parser než když se lidé přizpůsobují strojům.
Opět nechápete, že ten dokument čtou i lidé, a pro jeho pochopení tedy musí text parsovat podobně, jako to dělá stroj. Složitější parser pro stroj znamená složitější a méně přehledný formát pro člověka.

Na první pohled to nevidí nikdo, protože je to neformátovaná zmrdovština, ale jakmile splníte premisu, že je to zavedeno pro potřeby ručně psaných formátovaných dokumentů, což tu musím opakovat jako kolovrátek, protože jste to dosud nepochopil, a dáte to sem naformátované,  pak bude na první pohled zřejmé, že odkaz který začíná v půlce jednoho odstavce a končí v druhé je chybně a je to nevalidní. Nevalidní je proto i ten třetí příklad.
Tím, že budete opakovat jako kolovrátek to, co všichni vědí, se nevyhnete tomu, co stále nechápete – že to vynechávání koncových tagů bylo sice zavedeno pro potřeby ručně psaných dokumentů, ale moc se to nepovedlo. Až později se dostalo do všeobecného povědomí, že zdrojové kódy programů ale i ručně editované *ML dokumenty se mnohem častěji čtou, než píšou, takže zápis musí být optimalizován především pro čtení, ne pro psaní. Holt ten, kdo to píše, musí občas napsat pár znaků navíc, aby se to pak lépe četlo. Navíc těch pár znaků navíc umí napsat každý slušnější editor.

Vidím, že jsem vaše znalosti HTML přecenil. A u toho prvního příkladu jste mě dobře nachytal – já jsem tam přichystal chyták v chytáku, a jak se teď ukázalo, vy jste tam neodhalil ani ten první chyták – takže jste sice napsal správně, že je dokument nevalidní, ale z úplně jiného důvodu.

Když ten třetí příklad přepíšu tak, aby tam byly všechny nepovinné tagy, vypadá takhle:

Kód: [Vybrat]
<!DOCTYPE html>
<html>
  <head></head>
  <body>
    <p>
      text
    </p>
    <p>
      text
      <a href="">text
        <p>text</p>
        <hr>
        text
       </a>
       text
    <p>
      text
    </p>
  </body>
</html>

Problém je v tom, že v HTML nemůže být element p vložený v jiném elementu p. Takže když to bude prohlížeč parsovat a narazí na to vnitřní p, pokusí se ten vnější tag p ukončit (bude předpokládat, že tam je to vynechané koncové p), jenže ho ukončit nemůže, protože má ještě neuzavřený element a a ten má koncový tag povinný.

Z úplně stejného důvodu je nevalidní i tenhle dokument:
Kód: [Vybrat]
<p>text<p>text<a href="">text<hr>text</a>text<p>textOpět, hr nemůže být uvnitř p, takže se prohlížeč pokusí p uzavřít, ale nemůže, protože je parser vnořený v otevřeném a, které musí být vždy uzavřeno explicitně.

Je hezké, že tady obhajujete to, jak jsou pravidla pro parsování HTML strašně jednoduchá, a sám je přitom neznáte.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Michal2 17. 11. 2018, 11:25:51
Z úplně stejného důvodu je nevalidní i tenhle dokument:
Kód: [Vybrat]
<p>text<p>text<a href="">text<hr>text</a>text<p>textOpět, hr nemůže být uvnitř p, takže se prohlížeč pokusí p uzavřít, ale nemůže, protože je parser vnořený v otevřeném a, které musí být vždy uzavřeno explicitně.

To se cte jako napinava detektivka s prekvapivymi dejovymi zvraty. A jak to teda dopadne?
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: Filip Jirsák 17. 11. 2018, 12:23:00
To se cte jako napinava detektivka s prekvapivymi dejovymi zvraty. A jak to teda dopadne?
:-) Prohlížeč usoudí, že autor je nemehlo a zapomíná uzavírat elementy (protože se někde dočetl, že je to úžasná vlastnost HTML, že se mohou uzavírací tagy vynechávat), takže uzavře ten aktuální element <a> a tím pádem může uzavřít i <p>. Pak konečně může zpracovat <hr>. Tím to ale ještě nekončí, protože tam přece bylo to neuzavřené <a>, to se nemůže nechat jen tak. Takže až za to <hr> parser nakopíruje znovu ten otevírací tag <a> se všemi jeho atributy (takže v DOMu ten element bude dvakrát). Pak je konečně <a> uzavřené autorem a dál už je zdroják validní.

Mimochodem, kdyby si s tímhle nevalidním kódem nějaký parser poradil jinak, není kompatibilní s HTML5 standardem. Protože ten definuje i způsob, jak se má parser chovat při jaké chybě. Pokouší se to definovat pro všechny možné chybové stavy, nevím a nechci vědět, zda se jim to podařilo. Takže autor může psát validní HTML5, ale i když napíše nevalidní HTML5, všechny HTML5 prohlížeče by to měly interpretovat (a tedy i zobrazit) stejně. Takže proč by se autor s nějakou validitou dokumentu obtěžoval. Ale určitě se dozvíme, že to, že dokumenty nemusí být validní, také zásadně zlepšuje jejich čitelnost a přehlednost.
Název: Re:Proč se v Javě XML nahrazuje YML?
Přispěvatel: BoneFlute 17. 11. 2018, 13:45:08
Na první pohled to nevidí nikdo, protože je to neformátovaná zmrdovština, ale jakmile splníte premisu, že je to zavedeno pro potřeby ručně psaných formátovaných dokumentů, ...

Dokumenty jsou ale často generované strojem. Pak je třeba, aby bylo formátování povinné.