- From: Alex Muir <alex.g.muir@gmail.com>
- Date: Thu, 26 Nov 2009 19:30:54 +0000
- To: XProc Dev <xproc-dev@w3.org>
- Message-ID: <88b533b90911261130s4e967959s5ca8a37babb1ceb@mail.gmail.com>
Hi, I'm not really certain how to go about detecting the location of a memory problem running xproc in oxygen. I'm getting the memory in oxygen increasing to 580,000K when running the following generalized xproc script with hundreds of input files using calabash, after the script fails the memory stays at that level. The script processes a few hundred files correctly before getting an error. I'm loading the files in the xslt as unparsed text and there are a series of XSLT scripts generally using analyze-string to identify some content or another and updating the xml content. I submitted an error to oxygen just in case it can be reproduced. Are tests being run to process hundreds of input files between say 1000KB to 8000KB with an initial xsl loading and converting unparsed text into xml using xproc? I suppose I'm probably doing something wrong but can anyone reproduce a similar problem? <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:meta=" http://www.metaheuristica.com" xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:cx=" http://xmlcalabash.com/ns/extensions" name="Createi4EnrichMarkup"> Markup</p:documentation> <p:import href="Library.xpl"/> <p:input port="source"> <p:document href="blank.xml"/> </p:input> <p:output port="result" sequence="true"/> <p:variable name="source-folder" select="'file:/C:/2008/'"/> <p:variable name="output-folder" select="'../a/'"/> <p:variable name="outputFolderNoPageBreaks" select="'../a/d/'"/> <p:variable name="outputFolderNoMTOC" select="'../a/x/'"/> <p:directory-list> <p:with-option name="path" select="$source-folder"> <p:empty/> </p:with-option> </p:directory-list> <p:for-each name="forEachFile"> <p:iteration-source select="//c:file"/> <!-- <p:output port="result"/>--> <p:variable name="fileName" select="c:file/@name"/> <!-- series of p:xslt call --> <p:choose> <p:when test="/document[@YYY= 'true']"> <p:output port="result"/> <!-- series of p:xslt call --> <p:choose> <p:when test="/document[@XXX >= 15]"> <p:output port="result"/> <!-- series of p:xslt call --> <p:documentation> Store XML file Output </p:documentation> <p:identity name="out_file"/> <p:store name="store"> <p:with-option name="href" select="replace(replace(concat($output-folder, $fileName, '.xml'),'.html',''),' ','')"> <p:pipe step="out_file" port="result"/> </p:with-option> </p:store> <p:documentation> Create result XML </p:documentation> <p:identity> <p:input port="source"> <p:pipe step="store" port="result"/> </p:input> </p:identity> </p:when> <p:otherwise> <p:output port="result"/> <p:documentation> Store XML file Output </p:documentation> <p:identity name="out_file"/> <p:store name="store"> <p:with-option name="href" select="replace(replace(concat($outputFolderNoMTOC, $fileName, '.xml'),'.html',''),' ','')"> <p:pipe step="out_file" port="result"/> </p:with-option> </p:store> <p:documentation> Create result XML </p:documentation> <p:identity> <p:input port="source"> <p:pipe step="store" port="result"/> </p:input> </p:identity> </p:otherwise> </p:choose> </p:when> <p:otherwise> <p:output port="result"/> <p:documentation> Store XML file Output </p:documentation> <p:identity name="out_file"/> <p:store name="store"> <p:with-option name="href" select="replace(replace(concat($outputFolderNoPageBreaks, $fileName, '.xml'),'.html',''),' ','')"> <p:pipe step="out_file" port="result"/> </p:with-option> </p:store> <p:documentation> Create result XML </p:documentation> <p:identity> <p:input port="source"> <p:pipe step="store" port="result"/> </p:input> </p:identity> </p:otherwise> </p:choose> </p:for-each> <p:documentation>Wrap result XML </p:documentation> <p:wrap-sequence wrapper="forEachFile"/> <p:identity/> </p:declare-step> Regards -- Alex https://sites.google.com/a/utg.edu.gm/alex
Received on Thursday, 26 November 2009 19:31:27 UTC