> To je přeci nesmysl. Když je dokument otevřený, vždy a na 100% se musí uložit validně. To je věc ukládací funkce. Jinak by se mohlo stát právě to, že dostanete dovnitř data špatně anebo že se jakkoliv poškodí (vlivem libovolné funkce, operace, kopírováním) - a že dokument bude nenávratně nekompatibilní.
To je zaujimava teoria... Pozrite sa na to takto:
Ked OO Writer nacitava data, jednoducho prebehne XML subor po pismenkach a do pamate si ulozi jeho strukturu. Pri tom tie data nekontroluje, nieco take by trvalo neskutocne dlho a nemalo to by pren ziaden vyznam.
Potom pride vykreslenie. Writer prebehne celu strukturu a postupne zavola ku kazdemu *znamemu* tagu zodpovedajucu proceduru. A tu je hned prvy pripad, kde by sa mohol stretnut nieco nevalidne, neznamy tag. Mal by taky tag ignorovat? Vyhlasit chybu a skoncit? Alebo ho zahodit? Ignorovanie je najvhodnejsie riesenie, nakolko jeho zahodenim by sa mohli stratit cenne data (ktore Writer spracovat nevie, ale program ktory ich ulozil ano.)
Nu a posledna situacia, pri ktorej moze Writer stretnut nieco nezname je pri samotnom vykreslovani jednotlivch elementov. Ale tu opat nemusi dake tie data naviac vobec riesit. Pri vykreslovani (napriklad) odstavca sa proste pozrie do pola atributov, aku ma hodnotu atribut farba, velkost pisma, riadkovanie, atd, atd a to, ze ma naviac atribut "slniecko_svietilo" s hodnotou "true" si vobec nemusi vsimat. A opat, nema dovod tieto udaje kontrolovat (strata casu) ani odstranovat (cenne data inej aplikacie.)
A samozrejme, pri ukladani sa len struktura ulozena v pamati odpise na disk. Zahadzovat nezname data ani tu nieje nutne.
Takze OO nevalidny subor otvori, OO nevalidny subor ulozi a presne tak nevalidny ho nabuduce otvori znova.
Pretoto nepokladam vlastnost OO nasilim nezvalidifikovat nespravne ulozeny subor za chybu.