saxon a docbook

Tomas.Waller Tomas.Waller na seznam.cz
Sobota Květen 15 22:20:20 CEST 2010


Dobrý den!

Snažím se vytvořit pdf (resp. chunk html docbooku). Saxon ale padá:

     [java] Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
     [java] 	at com.icl.saxon.expr.FragmentValue.<init>(FragmentValue.java:25)
     [java] 	at com.icl.saxon.style.XSLGeneralVariable.getSelectValue(XSLGeneralVariable.java:229)
     [java] 	at com.icl.saxon.style.XSLVariable.process(XSLVariable.java:93)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
     [java] 	at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:229)
     [java] 	at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:202)
     [java] 	at com.icl.saxon.Controller.applyTemplates(Controller.java:288)
     [java] 	at com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:139)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLWhen.process(XSLWhen.java:72)
     [java] 	at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
     [java] 	at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:229)
     [java] 	at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:202)
     [java] 	at com.icl.saxon.Controller.applyTemplates(Controller.java:288)
     [java] 	at com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:139)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLWhen.process(XSLWhen.java:72)
     [java] 	at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
     [java] 	at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
     [java] 	at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:643)
     [java] 	at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:229)
     [java] 	at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:202)
     [java] 	at com.icl.saxon.Controller.applyTemplates(Controller.java:288)

Nerozumím tomu, dokument bylo možné vytvořit do té doby, než jsem jednu chapter inkludoval dvakrát (s jinými id), teď už to padá. Rozdíl ve zdrojovém dokumentu je 300MB. RAM mám 2.5GB. JVM je nastaveno na 1536MB. 

Není mi to jasné. 

V čem může být problém? První i druhá verze původní chapter nevadí, pdf i chunk html lze vytvořit, ale obě chapters už jsou příliš. Dokument je ale validní.

Když nejprve proženu docbook xmllintem, je dokument velký 3.86GB a lze vytvořit všechny formáty (pdf, chunk html, single html, eclipse help). Bez xmllint to ale nejde.

Stylesheety mám customizované, ale vše funguje správně pro kteroukoliv verzi z obou chapters, při inkludování obou vznikne tento problém.

Je xalan méně náročný na paměť? 

Předem děkuji za radu.

Tomáš Waller




Další informace o konferenci Docbook