This is the mail archive of the xsl-list@mulberrytech.com mailing list .
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I am using the document function to read in external files but seem to be exceeding my memory limits. I believe it is because the previously read files are still being held in memory but I don't know how to remove them.
The main template is:
<xsl:template match="/">
<xsl:for-each select="document('all_forms_list.xml')/someURIs/file/text()">
<xsl:variable name="contents" select="document(string(.))"/>
<xsl:apply-templates select="$contents//XFDL"/>
</xsl:for-each>
</xsl:template>
There is a single document all_forms_list.xml which is a list of URI's to be read. When the list gets to about 250 URI's the parser exists with an out of memory exception.
I am using Apache Xalan 0.19.2 with 256meg of memory on a pentium running NT 4.0.
I ran a test to determine if it was the input or the output trees that were exceeding the memory and concluded that it was the inputs. I doubled the size of the output tree (by executing the templates 2X) and still failed at the same number of inputs even though my outputs went from ~3000 lines of XML to ~6000 lines of XML.
I'm afraid that the variable $contents is being created scoped within the for-each and that I'm getting a new one everytime but I don't know how to prevent it. Any ideas?
Brad Sommerfeld
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |