abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:55 | Zajímavý software

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    včera 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 7
    včera 13:22 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    20.6. 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    20.6. 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 1
    20.6. 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    20.6. 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 6
    20.6. 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 1
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 1961 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

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

    10.8.2007 09:48 | Přečteno: 1183× | 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: 67 | 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: 67 | 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.