abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:22 | IT novinky

    Andrew S. Tanenbaum byl oceněn 2023 ACM Software System Award (Wikipedie) za operační systém MINIX.

    Ladislav Hagara | Komentářů: 1
    dnes 10:22 | Komunita

    Celkový počet stažení aplikací z Flathubu překročil 2 miliardy. Aktuální Statistiky Flathubu: Celkový počet stažení 2 002 793 783. Celkem desktopových aplikací 2 636.

    Ladislav Hagara | Komentářů: 7
    21.6. 23:33 | Nová verze

    Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    21.6. 23:11 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.6. 18:22 | Nová verze

    Qtractor (Wikipedie) dospěl do verze 1.0.0. Jedná se o Audio/MIDI vícestopý sekvencer.

    Ladislav Hagara | Komentářů: 0
    21.6. 14:33 | Nová verze

    Byl vydán svobodný kancelářský balík OnlyOffice Docs 8.1. Vedle četných oprav přináší několik funkcí včetně podpory editace textu v PDF a vytváření formulářů v PDF.

    Fluttershy, yay! | Komentářů: 40
    21.6. 12:33 | Zajímavý článek

    Daniel Stenberg, autor nástroje curl, z databáze SteamDB zjistil, že aktuálně 22 734 her na Steamu používá curl.

    Ladislav Hagara | Komentářů: 4
    20.6. 19:55 | IT novinky

    Společnost Anthropic vydala Claude 3.5 Sonnet, tj. novou verzi své umělé inteligence Claude (Wikipedie). Videoukázky na YouTube. S Claude 3, stejně jak s GPT-3.5, Llama 3 a Mixtral, si lze pokecat bez přihlašování na DuckDuckGo AI Chat.

    Ladislav Hagara | Komentářů: 0
    20.6. 16:55 | Nová verze

    Byla vydána nová stabilní verze 6.8 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 126. Přehled novinek i s náhledy v příspěvku na blogu a na YouTube. Vypíchnuta jsou vylepšení v integrovaném poštovním klientu.

    Ladislav Hagara | Komentářů: 0
    20.6. 12:11 | Zajímavý článek

    Příspěvek Aukce domén – měsíc po spuštění na blogu CZ.NIC shrnuje první měsíc provozu Aukce domén .CZ. Aukcemi prošlo celkem 18 174 domén, z toho na 742 z nich byl učiněn alespoň 1 příhoz. Nejdražší aukcí byla na doménu virtualnisidlo.cz s cenou 95 001 Kč, která však nebyla včas uhrazena. Nejdražší aukcí, která byla vydražena i zaplacena je praguecityline.cz s cenovkou 55 600 Kč.

    Ladislav Hagara | Komentářů: 16
    Rozcestník

    HTML /XML - libovolny zapis dat, ale za jakou cenu

    10.8.2007 09:48 | Přečteno: 1100× | Programování (všeobecně) | poslední úprava: 10.8.2007 12:44

    Komunikujeme s kolegou ve firme a dostali sme se do diskuze, zda zneuzit HTML tag a pomoct si non-html-dtd-atributem.

    Zde je konkretni zapis:

    
          <select id="mySel">
            <option value="1" kod="cz">cestina</option>
            <option value="2" kod="sk">slovenstina</option>
            <option value="3" kod="en">anglictina</option>
          </select>
    
    
          mySel = document.getElementById('mySel'); 
          kod = mySel.options[mySel.selectedIndex].kod;
       
    Rozumej mySel je odkaz na html.selectbox a kod je prave vybrany "option", kt. ma mimo jine definovany extra atribut kod, kt. v sobe nese dalsi info potrebnou pro dalsi logiku jsfce, kt. muzeme napr. definovat polozku pro preklady....

    Jeste musim upozornit, ze value je jiz dale pouzita, takze jedna se o to, ze je nutne do "option" proste narvat jeste dalsi nosnou info pro onchange.js.fci.



    Updated 10.08.2007 Tak toto je tedy navrh reseni na zaklade prispevku - Filip Jirsák
       function whoAreYouBrowser(){return browserName;}
              
       function getOptData(){//
         var sel  = document.getElementById("mySel");
         var optVal = sel.options[sel.selectedIndex].value;
         var optAtr;
         switch(whoAreYouBrowser()){
            case "IE" : optAtr = sel.options[sel.selectedIndex].getAttribute("mysn:kod");
            case "noIE" : optAtr =  sel.options[sel.selectedIndex].getAttributeNS(myns,kod);
            default: alert("machale, zase ti to spadlo....");
         }
         return [optVal,optAtr];
       }
    

    Napadlo me jeste jedno reseni:

      function getOptData2(){
         var sel  = document.getElementById("mySel");
         var optVal = sel.options[sel.selectedIndex].value;
         var strArr = optVal.toString().split(",");
         return[strArr[0],strArr[1]]; 
      }
    
      <select id="mySel" onchange="getOptData2();">
        <option value="1,cz">cestina</option>
        <option value="2,sk">slovenstina</option>
        <option value="3,en">anglictina</option>
      </select>
    


    Zde je diskuze via messengera
    pavel:
    mySel = document.getElementById('mySel'); kod = mySel.options[mySel.selectedIndex].kod;

    Vyuzijes toho, ze HTML je nekonfliktni a to co nezna tak on ignoruje ... neni to treba pak davat do value a oddelovat strednikem, bylo by to moc prace a takhle je to elegantnejsi...

    tomas:
    co je to za vlastnost .kod.... to neni dobra cesta.... proste respektuj, ze textovou hodnotu z optionu si vyzvednes pomoci objDom.text
    pavel:

    to nejni zadna vlastnost, tam si das atribut jakej chces

    tomas:

    takze mySel.options[mySel.selectedIndex].text - dle pravidel a jedes

    pavel:

    ale text ti vrati cestina nebo slovenstina... kdezto .kod ti vrati sk nebo cz .. . prijde ti to jako hodne brutalni hack? Hodne proti specifikaci?...

    tomas:

    takze nevim, co to vlastne znamena... <option value="cosi" kod="cz"> ...?

    pavel:

    jde to k libovolnymu HTML tagu

    tomas:

    hm, ale to je prasecina... m uzes si takto jiste pomoc, jjako ze nestihas, a pak to refaktor... ale priznejme si, co jednou napises a funguje to budes to opravovat... proto ta ambice vas presvedcit, udelej to na poprve at nemusis nic predelavat....

    pavel:

    podle me to nicemu nevadi, stejne podporujem jen IE. Treba to nejni cisty, ale kdo dneska umi psat ciste HTML a JS? Ja teda ne a ani po tom netouzim ucit se ten balast

    tomas:

    hm, ale to je prasecina... m uzes si takto jiste pomoc, jjako ze nestihas, a pak to refaktor... ale priznejme si, co jednou napises a funguje to budes to opravovat... proto ta ambice vas presvedcit, udelej to na poprve at nemusis nic predelavat....

    pavel:

    to mi rekni co ti na tom tolik vadi, me to fakt zajima ... podle me to nejni nic proti nicemu ...

    tomas:

    java drzi te zkratka... a je to dobre... jsko je takovej hipik, co si proste zahuli, no a jednou to provede takhle a podruhe takhel.... nejmene 3 zpusoby jak napsat jednu vec......

    pavel:

    za to si muze JS sam, ze jde napsat jedna vec aspon tremi zpusoby ... ale tohle nejni jen o JS, spis o HTML ... z JS se to jen precte ...

    pavel:

    hmm, to se mas, ja JS poznal a zjistil jsem ze v nem uz nikdy nechci psat >] ... jinak porad nevim co ti na tom ze si dam vlastni atribut k HTML elementu vadi

    tomas:

    dej link... jinak abych neodchazel od tematu.... ano je to i na tom zasranym HTML, ze to povoli v zavislosti s IE, ale je to proste necisty option proste nemam mit nic krome NAME a VALUE... tim se proste ridim... toze to jde napsat i takto, fajn kdyz to funguje, taky dobre...

    pavel:

    tak už jsem vyřešil i to, že to podle tebe jede jen v IE :-D

    tomas:

    do emailu mi prisel kod, kt. je dole pod diskuzi....

    hele to je zneuziti DOMu....! obj.getAttribute('atrrName')..... proste existuje nejake DTD... sakra, vzdyt ty XSD schemator.... ty kt, hlida obsah, sam zanasi takove veci do kodu.... hm, budeme si muset na toto tema si pohovorit... nejlepe nekde u pivka, chlazenyho... hhahahhah,... result.... ano beru, diky za pouceni... DOM je mocna vec... vsak ji z Javy jiste znas...

    pavel:

    zneuziti DOMu - si pripadam jak nejakej nasilnik :-)­

    tomas:

    co to je atribut "pozdrav"... http://www.w3.org/TR/html4/interact/forms.html#adef-name-BUTTON ... zadny pozdrav tam nevidim ... ;-) ... to je prani xml-freedom-atribut-name-specification do html, neeee.... na to mas xml, xml pekne nastylujes, a pak muzes delat takoveto veci...

    pavel:

    a co si myslis ze je html? ... html je prece XML­

    tomas:

    nee , to je jenom jeho podmnozinou a to takovou, ze ma svou vlastni mnozinu definovanych tagu a jejich atributu a ani kousek navic.... zadny specificke attrs... ... na to je fakt ciste xml... to pak rozumim...

    pavel:

    ok, takze podle trebe bych si na to mel udelat vlastni namespace aby se to ciste oddelilo od HTML ­

    tomas:

    hm, zajimave.... ... to je napad... jejej... to si vyzkousim...



    Kod k diskuzi
    
        <input type="button" value="Only IE" pozdrav="Hello IE!" onclick="alert(this.pozdrav);">

    <input type="button" value="Browser independent" pozdrav="Hello IE, Mozilla, Opera!"
    onclick="alert(this.getAttribute('pozdrav'));">

    Co si o tom myslite? Kdo nas rozetne?

           

    Hodnocení: 33 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    10.8.2007 10:02 phero | skóre: 17 | blog: techblog
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Holt ignorant, az neco bude chtit tak mu to napis treba v EBCDIC
    10.8.2007 10:07 Pavel
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Můžeš to drobet rozvést? Pořád mi zatim nikdo nevysvětlil, proč to takhle neudělat.
    10.8.2007 10:08 phero | skóre: 17 | blog: techblog
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Neresim tu diskusi, jen tvuj only-IE attitude.
    derddddd avatar 10.8.2007 10:08 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Musim upozornit, ze je to muj kolega, jehoz prioritou je psani server-side app by" java, do klienta (xsl/html/js) je proste jenom "navezen" zeshora, aby si spravoval celou app sam.
    Snad se tady neztratím...:))
    10.8.2007 10:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Používám pro tohle jiný namespace, tj. např.
    <select id="mySel">
      <option value="1" myns:kod="cz">cestina</option>
      <option value="2" myns:kod="sk">slovenstina</option>
      <option value="3" myns:kod="en">anglictina</option>
    </select>
    
    Trochu nešikovné je, že v prohlížečích splňující standardy (postavené na Gecko, KHTML/WebKit nebo Opera) se pak používají metody getAttributeNS a podobné, v MSIE se musí použít getAttribute a jako název atributu se použije prefix:název. Ale používám wrapper, který podle potřeby použije tu správnou metodu.

    Použití je podle mne v pořádku, prohlížeč, který splňuje normu HTML, musí neznámé atributy ignorovat – problémy by s tím tedy mohl mít jedině takový HTML parser, který porušuje jeden z nejdůležitějších principů HTML. A takový parser by asi moc dlouho nepřežil.
    derddddd avatar 10.8.2007 10:09 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    No vida, dekujeme... o tomhle sme mluvili.....
    Snad se tady neztratím...:))
    10.8.2007 10:11 Pavel
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Použití je podle mne v pořádku, prohlížeč, který splňuje normu HTML, musí neznámé atributy ignorovat – problémy by s tím tedy mohl mít jedině takový HTML parser, který porušuje jeden z nejdůležitějších principů HTML. A takový parser by asi moc dlouho nepřežil.
    Tak tohle je přesně to, o co se mé řešení opírá. Jinak použití jiného namespace beru, je to určitě čistější, ale v podstatě to samý jako můj příklad ;)
    10.8.2007 10:24 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Tak tohle je přesně to, o co se mé řešení opírá. Jinak použití jiného namespace beru, je to určitě čistější, ale v podstatě to samý jako můj příklad ;)
    Je tu drobný rozdíl, který počítá s tím, že někdo v budoucnosti jasně řekne, jak má webový prohlížeč zacházet se jmennými prostory, které nezná. Pokud nepoužijete jiný namespace, bude mít třeba validátor oprávněné námitky a váš dokument nebude validní XHTML dokument. Pokud ale použijete jiný namespace, zůstane XHTML validním XHTML dokumentem – pouze musí být stanoveno, zda takový dokument může obsahovat i jiné jmenné prostory. To pro XHTML zatím nikde stanoveno není, ale zakázat to by postrádalo logiku. Že to XHTML nedefinuje ale není jeho problém, ono zatím vůbec není jasné, jak s dokumenty z různými jmennými prostory zacházet. Pomocí XML schémat je sice už možné nadefinovat pro jeden dokument použití víc jmenných prostorů, ale zatím není nadefinováno to nejdůležitější – jak vytvářet dokumenty vyhovující více schématům, případně jak zacházet s rozšířenými schématy (existující schéma obohatím o nové prvky).

    Záměně píšu o XHTML a ne HTML, protože z HTML5 které nebude zároveň XML se mi dělá špatně, protože to konzervuje současný katastrofální stav na dalších deset patnáct let. No ale aspoň to za těch deset let bude už tak špatné, že bude chuť a vůle k radikálnímu řezu a vytvoří se něco úplně nového, co nebude muset být s HTML vůbec kompatibilní.
    14.8.2007 11:31 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Ono je třeba otevřeně přiznat, že DTD patří k SGML a u XML je chudým příbuzným. Takže pokusy o kombinovaná DTD jsou dle mého názoru věc úsměvná, ne-li pošetilá.

    RelaxNG umožňuje povolit výskyt neznámých (cizích) elementů, nicméně poněkud kostrbatě. V tomto směru máte pravdu, že jednotlivé jazyky definující schéma XML dokumentů neumožňují částečnou validaci o jiný jmenný prostor rozšířených dokumentů.

    Avšak existuje Namespace-based Validation Dispatching Language, který vytváří další validační vrstvu, která podle zadaného jmenného prostoru předhazuje validátorům strom zbavený cizích elementů.

    Z praktického hlediska lze ale říci, že XML aplikace se umí úspěšně vyrovnat s mixem jmenných prostorů (např. Mozilla a XHML + SVG + MathML + XLink nebo libxslt a XSLT + XInclude).
    Daniel Kvasnička ml. avatar 14.8.2007 12:38 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Z praktického hlediska lze ale říci, že XML aplikace se umí úspěšně vyrovnat s mixem jmenných prostorů
    No jeste aby ne :-) To je prece jedna z hlavnich roli NS, od toho je X v XML jako eXtensible :-) Kdyby to XML aplikace neumela, tak vubec XML aplikaci neni.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    15.8.2007 17:52 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    Já narážím na to, že validace se považuje někdy za nezbytnou, někdy za zbytnou.

    Aplikace vám ráda zpracuje dokument, který bude obsahovat elementy z cizího NS. Aplikace možná s protesty zpracuje dokument, který bude obsahovat elementy ze stejného NS, ale podle schématu by tam neměly co dělat. Aplikace zcela určitě padne na chybějícím elementu.

    Líný programátor stanoví schéma a prohlásí, že jeho program zpracuje jen validní dokument. Pak ovšem celá rozšiřitelnost jde do háje, neb dnes neexistuje popis schématu umožňující svobodně rozšiřovat dokumenty a zároveň dodržet validitu. Dnes neexistuje dohoda, která by definovala, co s elementy z cizího NS. Mají se propouštět dál, mají se vyřezávat? Mají se rekurzivně zpracovávat? Co s uzly bez NS (text, CDATA, PI, komentář)?

    Třeba Mozilla vám libovolný textový uzel zobrazí jako text. Chtěli byste ale, aby při tisku vcardu, do kterého si někdo doplní poznámku z jiného NS, že dotyčný je vůl, se také tiskly všechny textové uzly?
    Daniel Kvasnička ml. avatar 11.8.2007 10:57 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: HTML /XML - libovolny zapis dat, ale za jakou cenu
    No bez vlastniho namespace je to prasarna ukrutna... jak psal Filip Jirsak, nadefinuj si vlastni namespace, spravne ho v dokumentu zaregistruj a je to v pohode.

    Validator ti samozrejme zarve, protoze DOCTYPE XHTML tohle nedovoluje, ale tohle je pripad, kdy bych validator s naprostym klidem ignoroval. Z hlediska XML je to uplne regulerni praktika a prohlizece to (spravne) ignoruji. Hosi je to bohuzel s tagy v jinem NS, ty je mozne v normalnich prohlizecich skryt CSSkem (kdyz uz je neignoruji), ale IE v tomhle pripade nereaguje ani na CSS :-(

    Na tvorbu nejakych pokrocilejsich rozhrani treba pro CMS vyuzivajicich hodne AJAXu je tahle praktika dost ku pomoci.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.