Portál AbcLinuxu, 3. prosince 2025 22:22
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)
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.