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 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 13
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 11
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 3
    3.10. 19:00 | Nová verze

    Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    3.10. 17:11 | Upozornění

    eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.

    Ladislav Hagara | Komentářů: 7
    3.10. 17:00 | Komunita

    Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.

    Ladislav Hagara | Komentářů: 1
    3.10. 14:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.10. 12:33 | Upozornění

    Vyšla kniha Počítačové programy a autorské právo. Podle internetových stránek nakladatelství je v knize "Významný prostor věnován otevřenému a svobodnému softwaru, jeho licencím, důsledkům jejich porušení a rizikům „nakažení“ proprietárního kódu režimem open source."

    javokajifeng | Komentářů: 0
    3.10. 01:11 | Bezpečnostní upozornění

    Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (20%)
     (15%)
     (17%)
     (16%)
     (15%)
    Celkem 175 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Problém s pamětí u XSLT

    7.1.2013 12:29 jeleniste | skóre: 13 | blog: Prokustovo lože
    Problém s pamětí u XSLT
    Přečteno: 385×
    Mám problém s xslt transformací velkýho xml. Zkoušel jsem Xalan-c a xsltproc a v obou případech mě to sežralo ramku (6 Gb) a pak to kernel vykopnul. Zkoušel jsem to naporcovat pomocí xml_split z twig tools, ale ani xalan, ani xsltproc neuměj ty includovaný fajly (nebo jim já neumim říct, jak s nima naložit). Já bych, ideálně potřeboval z toho xml nadělat samostatný porce, aby ale každá byla samostatně životaschopná. Jde to? Je na to nějaká finta?
    Nejsem blbý, jen se hloupě ptám

    Odpovědi

    7.1.2013 13:18 Kit
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    SAXem by to mělo jít.
    7.1.2013 13:29 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    Sax jasný. A co si mam nainstalovat/vygůglit? Mam už udělaný ty stylesheety, fungujou na menších fajlech, nerad byc to dělal znova. Dá se to nějak použít jako command line utilita?
    Nejsem blbý, jen se hloupě ptám
    9.1.2013 20:57 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    Hm, tohle nejde. Dělám to blbě?
    jelen@gentoo ~/Dropbox/$ java -jar /usr/share/saxon-9/lib/saxon.jar dta_pha/20121231_OB_554782_UKSH.xml vymenny_format.xsl > inserty_pha.sql
    Warning: at xsl:stylesheet on line 2 column 1473 of vymenny_format.xsl:
      Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
            at net.sf.saxon.tinytree.TinyTree.ensureNodeCapacity(Unknown Source)
            at net.sf.saxon.tinytree.TinyTree.addNode(Unknown Source)
            at net.sf.saxon.tinytree.TinyBuilder.makeTextNode(Unknown Source)
            at net.sf.saxon.tinytree.TinyBuilder.characters(Unknown Source)
            at net.sf.saxon.event.Stripper.characters(Unknown Source)
            at net.sf.saxon.event.ReceivingContentHandler.flush(Unknown Source)
            at net.sf.saxon.event.ReceivingContentHandler.endElement(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
            at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
            at net.sf.saxon.event.Sender.sendSAXSource(Unknown Source)
            at net.sf.saxon.event.Sender.send(Unknown Source)
            at net.sf.saxon.Controller.transform(Unknown Source)
            at net.sf.saxon.Transform.processFile(Unknown Source)
            at net.sf.saxon.Transform.doTransform(Unknown Source)
            at net.sf.saxon.Transform.main(Unknown Source)
    
    Nejsem blbý, jen se hloupě ptám
    10.1.2013 10:53 Kit
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    Saxon není SAX.
    10.1.2013 10:06 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT

    Ahoj.

    Zpracovavam "jen" zakladni sadu dat (soubory _UZSZ.xml), ale xsltproc u me (4 GB RAM) taky neprosel. Pouzivam Xalan a projde mi i soubor pro Prahu. Spoustim to z PHP skriptu pomoci exec a vystup ctu primo zpatky do skriptu.

    Na Fedore 16 (moje pracovni stanice, na ni delam import uplnych dat)

    $s = exec("Xalan \"".$ZdrojovyXMLsoubor."\" \"".$XSLTSablona."\"", $VystupniData);

    Na Debianu (virtualni server, delam jen updaty)

    $s = exec("xalan -in \"".$ZdrojovyXMLsoubor."\" -xsl \"".$XSLTSablona."\"", $VystupniData);

    Ve skriptu pak pracuji s $VystupniData.

    Napadlo me rozdelit sablonu do nekolika kroku, transformovat to postupne (na nekolik pruchodu) a do db to vkladat postupne (pri prvnim pruchodu insert, pri dalsich update podle kodu prvku).

    Dejf

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    10.1.2013 13:45 Filip Jirsák
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    Normálně si XSLT procesor vytvoří z XML dokumentu celý strom v paměti (buď DOM nebo podobnou strukturu), a nad tou pak pracuje. Pro opravdu velké XML to samozřejmě znamená enormní množství potřebné paměti. Naporcování do více souborů a skládání pomocí XInclude by vám nepomohlo, to skládání do jednoho dokumentu dělá parser a zase byste skončil s jedním obřím stromem v paměti.

    XSLT je ale záměrně navržené tak, aby se dalo používat i proudově, tj. postupně se při parsování XML rovnou aplikuje transformace a není nutné držet moc velkou část XML stromu v paměti. (Ta možnost proudového zpracování je taky důvod, proč XSLT vypadá tak divně a neintuitivně.) Samozřejmě je k tomu potřeba mít dobře navrženou XSLT šablonu, které to proudové zpracování umožní – nebude se odkazovat napříč dokumentem a pomocí absolutních cest, ale bude používat opravdu jen nejnutnější část zpracovávaného dokumentu.

    Pak je taky samozřejmě potřeba podpora na straně XSLT procesoru. Podporuje to Saxon EE (alespoň to tvrdí na webu, já verzi EE nikdy nezkoušel). O jiné implementaci nevím, na druhou stranu něco lepšího než Saxon těžko seženete (pokud ano, určitě dejte vědět).
    10.1.2013 14:38 Kit
    Rozbalit Rozbalit vše Re: Problém s pamětí u XSLT
    Stačilo chvilku hledat a našel jsem JOOST, XML::STX (Perl), STXPath a XStream. Tak si vyber.

    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.