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í
×

    dnes 15:00 | Zajímavý článek

    Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2023. Adobe Reader, Microsoft SharePoint, Oracle VirtualBox, Tesla, Ubuntu Desktop, Windows 11, macOS, Microsoft Teams, VMWare Workstation. Vše hacknuto. Synacktiv získal 530 000 dolarů a Teslu Model 3.

    Ladislav Hagara | Komentářů: 0
    dnes 07:00 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného 3D softwaru Blender. Přehled novinek i s náhledy v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Po 5 měsících vývoje od vydání verze 6.1 byla vydána nová verze 6.2 svobodného open source redakčního systému WordPress. Kódové jméno Dolphy bylo vybráno na počest amerického jazzového altsaxofonisty, flétnisty a basklarinetisty Erica Dolphyho.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Josef Průša představil (YouTube) novou 3D tiskárnu Original Prusa MK4. Cena sestavené tiskárny je 27990 Kč. Cena stavebnice je 20990 Kč.

    Ladislav Hagara | Komentářů: 4
    včera 19:00 | Nová verze

    Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 6.3.0. Vývojáři upozorňují, že Netmetr byl nahrazen LibreSpeedem, viz příspěvek na blogu CZ.NIC.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byl vydán xorg-server 21.1.8 a xwayland 22.1.9 a 23.1.1. Řešena je zranitelnost CVE-2023-1393 využitelná k lokální eskalaci práv.

    Ladislav Hagara | Komentářů: 4
    včera 15:00 | Nová verze

    Byla vydána nová verze 10 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu.

    Ladislav Hagara | Komentářů: 0
    28.3. 22:33 | Komunita

    Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).

    Ladislav Hagara | Komentářů: 4
    28.3. 19:22 | Nová verze

    Byla vydána nová major verze 5.0 účetního softwaru GnuCash (Wikipedie). Ve formátu Flatpak je již k dispozici na Flathubu.

    Ladislav Hagara | Komentářů: 0
    28.3. 18:33 | Nová verze

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Alwa's Awakening (ProtonDB).

    Ladislav Hagara | Komentářů: 1
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (3%)
     (11%)
    Celkem 372 hlasů
     Komentářů: 7, poslední 28.3. 17:34
    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: 342×
    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.