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 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 0
24.2. 13:37 | Bezpečnostní upozornění

Společnost Cloudflare (Wikipedie) na svém blogu potvrdila bezpečnostní problém s její službou. V požadovaných odpovědích od reverzní proxy byla odesílána také data z neinicializované paměti. Útočník tak mohl získat cookies, autentizační tokeny, data posílaná přes HTTP POST a další citlivé informace. Jednalo se o chybu v parsování HTML. Zneužitelná byla od 22. září 2016 do 18. února 2017. Seznam webů, kterých se bezpečnostní problém potenciálně týká na GitHubu.

Ladislav Hagara | Komentářů: 1
24.2. 08:22 | Nová verze

Byla vydána první beta verze Ubuntu 17.04 s kódovým názvem Zesty Zapus. Ke stažení jsou obrazy Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio a Xubuntu. Dle plánu by Ubuntu 17.04 mělo vyjít 13. dubna 2017.

Ladislav Hagara | Komentářů: 28
23.2. 17:53 | Bezpečnostní upozornění

Google na svém blogu věnovaném počítačové bezpečnost informuje o nalezení "reálného" způsobu generování kolizí hašovací funkce SHA-1. Podrobnosti a zdrojové kódy budou zveřejněny do 90 dnů. Již dnes lze ale na stránce SHAttered nalézt 2 pdf soubory, jejichž obsah se liší a SHA-1 otisk je stejný (infografika).

Ladislav Hagara | Komentářů: 33
23.2. 17:51 | Nová verze

Vyšla nová verzia open source software na správu a automatizáciu cloudových datacentier Danube Cloud 2.4. Danube Cloud je riešenie postavené na SmartOS, ZFS, KVM a zónach. Obsahuje vlastnosti ako integrovaný monitoring, DNS manažment, zálohy, a samozrejme rozsiahlu dokumentáciu.

dano | Komentářů: 8
23.2. 17:46 | Pozvánky

V Plzni se 3. až 5. března 2017 uskuteční AIMTEChackathon. Je to akce pro vývojáře, grafiky, webdesignéry i veřejnost. Akci provází zajímavé přednášky IT odborníků. Více o programu a možnosti přihlášení na stránkách akce.

cuba | Komentářů: 0
23.2. 01:00 | Nová verze

Známý šifrovaný komunikátor Signal od verze 3.30.0 již nevyžaduje Google Play Services. Autoři tak po letech vyslyšeli volání komunity, která dala vzniknout Google-free forku LibreSignal (dnes již neudržovaný). Oficiální binárky jsou stále distribuované pouze přes Google Play, ale lze použít neoficiální F-Droid repozitář fdroid.eutopia.cz s nezávislými buildy Signalu nebo oficiální binárku stáhnout z Google Play i bez Google účtu

… více »
xm | Komentářů: 8
22.2. 23:14 | Nová verze

Po třech týdnech od vydání první RC verze byla vydána první stabilní verze 17.01.0 linuxové distribuce pro routery a vestavěné systémy LEDE (Linux Embedded Development Environment), forku linuxové distribuce OpenWrt. Přehled novinek v poznámkách k vydání. Dotazy v diskusním fóru.

Ladislav Hagara | Komentářů: 8
22.2. 17:28 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

Ladislav Hagara | Komentářů: 16
22.2. 15:00 | Zajímavý software

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 709 hlasů
 Komentářů: 66, poslední 22.2. 18:57
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Filtrování podle vzoru v XSLT 1.0

    5.12.2008 11:01 esparky
    Filtrování podle vzoru v XSLT 1.0
    Přečteno: 335×

    Dobrý den,
    potřeboval bych poradit s následujícím problémem.
    Mám vstup:
    <msg type="abc/>
    <msg type="bcd">
    <msg type="abcd">

    Rád bych provedl nějakou akci, pro všechny entity jejichž atribut type odpovídá
    nějaké masce (např "ab*")

    V XSLT 2.0 se to nejspíš dělá pomocí matches:
    <xsl:if test="matches(jmeno,'ab*')">Vystup</xsl:if>

    Můj program však používá xslt procesor, který umí pouze XSLT 1.0 (libxslt).
    Je nějaká možnost jak to provést v XSLT 1.0

    Děkuji

    Odpovědi

    default avatar 5.12.2008 23:34 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    Přílohy:

    Ahoj,

    já bych být tebou nějak nakombinoval funkce z XSLT 1.0. Takže například starts-with(), contains() a tak podobně.

    Já osobně libxslt nepoužívám, ale používám Javí implementaci XSLT 1.0. V příloze máš test case pro xmlUtilities. Když ty soubory nahraješ do balíku testů, global.sandbox.xmlutilities, tak si s tím můžeš pohrát.

    Můj zdrojový XML je

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    
        <msg type="abc">abc</msg>
        <msg type="bcd">bcd</msg>
        <msg type="abcd">abcd</msg>
    
    </root>
    

    Můj XSLT je

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
    
        <xsl:template match="/">
            <xsl:element name="result-root">
                <xsl:apply-templates />
            </xsl:element>
        </xsl:template>
        
        <xsl:template match="//msg">
            <xsl:if test="starts-with(@type, 'ab') and contains(@type, 'bc')">
                <xsl:element name="result-element">
                    <xsl:value-of select="." />
                </xsl:element>
            </xsl:if>
        </xsl:template>
    
    </xsl:stylesheet>
    

    Výstup je

    <?xml version="1.0" encoding="UTF-8"?>
    <result-root>
    
        <result-element>abc</result-element>
        
        <result-element>abcd</result-element>
    
    </result-root>
    

    Tak dej vědět, jak jsi pokročil. Jo — a kdyžtak postni nějaký příklad, se kterým si můžu pohrát; takhle na sucho se dost těžko něco vymejšlí.

    6.12.2008 06:41 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    s libxslt je (asi zalezi podla distribucie, moze byt oddelene) programcek xsltproc.
    btw, java implementacii je viacero, osobne mi napr sakra problem robilo pouzivat xalan a saxon zaroven, podla poradia jarov v classpath fungoval bude jeden alebo druhy ...
    default avatar 6.12.2008 23:41 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    s libxslt je (asi zalezi podla distribucie, moze byt oddelene) programcek xsltproc.

    Jo, to je pravda. Ale nejsem s tím moc kamarád. Přecijen v Javě jsem na to lépe…

    osobne mi napr sakra problem robilo pouzivat xalan a saxon zaroven, podla poradia jarov v classpath fungoval bude jeden alebo druhy ...

    No, jsou dva způsoby, jak v tom udělat pořádek:

    1. používat právě jednu implementaci a její JAR dát do endorsed adresáře
    2. v případě, že je třeba vícero implementací vrámci jedné JVM, pak upravit JARy implementací, napsat vlastní ServiceLoader (v našem případě implementaci javax.xml.transformer.TransformerFactory) a vše dát opět do endorsed adresáře. Když nemůžeme použít endorsed adresář, pak musíme správně napsat svůj vlastní class loader a dát si sakra pozor na různé Javí implementace (to, co funguje pod Sun JVM, nemusí fungovat pod IBM JVM a tak podobně). A nebo
    3. nepoužívat javax.xml.transformer.TransformerFactory a používat rovnou konkrétní implementace, ale to znamená důkladnou znalost jejich vnitřností.
    7.12.2008 14:40 esparky
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Předem děkuji všem za odpověď.

    Program je napsán v C++ (je použita knihovna libxslt z gnome, nedošlo mi, že její jméno se asi kryje i s nějakou knihovnou používanou v javě). Volání xsltproc se mi moc nehodí (transformace je volána i několikrát za sekundu), ale když bude nejhůř, tak bych jej asi použil.

    Vaše odpovědi chápu tak, že asi jednoduchý problém jak vyřešit moji transformaci v XSLT 1.0 neí, existuje tedy nějaká C/C++ knihovna podporující XSLT 2.0? Nejlépe taková aby pro ni existoval i port pro OpenWRT.

    Předem dík za jakékoli nakopnutí správným směrem

    default avatar 7.12.2008 17:33 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

     

    Program je napsán v C++ (je použita knihovna libxslt z gnome, nedošlo mi, že její jméno se asi kryje i s nějakou knihovnou používanou v javě).

     

     

    Nekryje. Akorát tyhle věci jsem zvyklej dělat v Javě a mám na to pár projektů, takže napsat příklad a odladit ho je otázka chvilky. Navíc vím, jako část standardu který Xalan implementuje a jakou ne. A když už jsme u toho Xalanu, tak se dělá i pro C++, ale nevím, v jakém je stavu — nikdy jsem si s tím nehrál.

     

    Předem dík za jakékoli nakopnutí správným směrem

     

    Jak jsem psal dole: zkusil bych to EXSLT.

    7.12.2008 14:44 esparky
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Moc dík, za vyčerpávající odpověď...zkusím si vystačit s start_with(i když regex je regex:-) ), popř zkusím najít jinou knihovnu, která xslt 2.0 implementuje (viz můj druhý příspěvek v tomto threadu)

    default avatar 7.12.2008 17:26 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Můžeš si zkusit tu funkci matches() naimplementovat sám. :-) Ale možná bude stačit přepnout do EXSLT. V tomto rozšíření jsou regulární výrazy k dispozici.

    Daniel Kvasnička ml. avatar 8.12.2008 08:24 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    No akorat ze podle jejich informaci funkci matches() nepodporuje ani Xalan ani libxslt...
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    default avatar 8.12.2008 10:00 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    …protože funkce matches() je až v XPath 2.0 a Xalan i libxslt implementují jen XPath 1.0.

    Proto mě napadlo to EXSLT, které to řeší funkcí, která se akorát jinak jmenuje — a podle webu to vypadá, že libxslt nám EXSLT podporuje (libexslt).

    8.12.2008 14:09 esparky
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Díky,EXSLT vypadá slibně, vyzkouším a dám vědět, jak to dopadlo

    Daniel Kvasnička ml. avatar 8.12.2008 14:45 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    To jsme si nerozumeli. Ja vim, ze to patri do 2.0 a ze libxslt neco z EXSLT implementuje... ale neimplementuje tuto konkretni funkci. Na strance kazde fce z EXSLT mate dole sekci IMPLEMENTATIONS a u matches() tam libxslt chybi.

    Pokud ovsem ty informace nemaji zastarale. Coz je pak problem tvurcu enginu, ze o tom nedaji vedet.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    default avatar 8.12.2008 15:02 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Jo, už to chápu, o co jde.

    No, pakliže lib(e)xslt nic takového nepodporuje, není nic jednoduššího, než si napsat své vlastní rozšíření. :-) Ale jak se takové věci píší pro lib(e)xslt — to neumím a netuším. Já dělal rozšíření jen pro Xalan-J. :-(

    8.12.2008 20:46 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    na to existuje nieco take, ako function-available a/alebo element-available, imho jedina spolahliva cesta, ako o xslt procesore nieco zistit.
    default avatar 8.12.2008 21:07 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Zeptám se filozoficky: Víš, jaký XSLT transformátor v produkci máš; a přesto bys prováděl tyto kontroly?

    Když ti admin pod rukama vymění knihovnu, tak se o tom oba dovíte z logu, ne? :-D

    8.12.2008 23:25 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    Zeptám se filozoficky: Víš, jaký XSLT transformátor v produkci máš; a přesto bys prováděl tyto kontroly?
    Jestli jde z XSL transformace vyhodit výjimka, tak jo :-D
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    default avatar 9.12.2008 09:19 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0

    Určitě z toho něco vymáčknout půjde: :-D

    init:
    deps-jar:
    compile:
    Copying 1 file to /Users/petr/NetBeansProjects/xmlutilities/build/test/classes
    compile-test-single:
    Testsuite: global.sandbox.xmlutilities.XSLTTest1
    Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; Nelze nalézt funkci: matches
    Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; nebyl nalezen token funkce.
    (Chyba se vyskytla na neznámém místě)java.lang.NullPointerException
    Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0,88 sec
    
    ------------- Standard Error -----------------
    Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; Nelze nalézt funkci: matches
    Neznámý identifikátor SystemId; Řádek #0; Sloupec #0; nebyl nalezen token funkce.
    (Chyba se vyskytla na neznámém místě)java.lang.NullPointerException
    ------------- ---------------- ---------------
    Testcase: testTransformation(global.sandbox.xmlutilities.XSLTTest1):        Caused an ERROR
    null
    java.lang.NullPointerException
            at global.sandbox.xmlutilities.XMLUtilities.transformToString(XMLUtilities.java:602)
            at global.sandbox.xmlutilities.XMLUtilities.transformToString(XMLUtilities.java:694)
            at global.sandbox.xmlutilities.XSLTTest1.testTransformation(XSLTTest1.java:44)
    
    
    Test global.sandbox.xmlutilities.XSLTTest1 FAILED
    /Users/petr/NetBeansProjects/xmlutilities/nbproject/build-impl.xml:566: Some tests failed; see details above.
    BUILD FAILED (total time: 2 seconds)
    
    9.12.2008 13:41 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    ide, <message>
    9.12.2008 13:40 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    no, vlastne neviem :-) ty si nikdy nerobil prenosne aplikacie? a pritom su toho manualy javy plne ... :-)

    a naco je to dobre? no napr na to, aby si v pripade pritomnosti rozsirenia pouzil rozsirenie (10ms/call), inak pouzijes pomalsiu vlastnu sablonu (100ms/call). A transformacia pobezi vzdy, hoci s rozdielnym vykonom.

    default avatar 9.12.2008 14:49 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Filtrování podle vzoru v XSLT 1.0
    no, vlastne neviem :-) ty si nikdy nerobil prenosne aplikacie? a pritom su toho manualy javy plne ... :-)

    Vždy dělám aplikace přenosné. Ale klíčem k mému úspěchu je přenositelnost na platformy (typ OS), né na knihovny. Proč? Proč se vázat na konkrétní implementaci?

    1. znám její výhody a nevýhody
    2. můžu svůj kód optimalizovat na výkon s konkrétní knihovnou
    3. můj kód je kratší, tudíž obsahuje méně chyb
    4. lépe se opravují chyby (méně testovacích a vývojových prostředí, vpodstatě kartézský součin všech možností všech implementací všeho)

    Pro cílové uživatele z toho plynou tyto výhody:

    • triviální instalace
    • netřeba dohledávat a stahovat něco dalšího odněkud z internetu a zkoušet, zda to pojede
    • jednodušší konfigurace
    • plně funkční vyladěná aplikace

    Problém je ten, že já tvořím cílové aplikace; né Spring Framework a jeho konektory na další Strutsy přes JMS do JDBC, nebo Hibernate přes JMX :-) a já nevím co ještě — jo JNDI a OSGI. :-D

    Takže z mého pohledu jsou tyto kontroly jen výkonnostní brzdou. :-/

    Ale to jsme už zaběhli do tématu filozofického přístupu k vývoji software a o tom tato diskuze není. A konec konců — borec bude také jen stuck with C++ :-D A když už jsme u toho cé plus plus, tak jedna fakt podařená, která se sem teď hodí :-D

    Založit nové vláknoNahoru

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

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