[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Streaming with XSLT version 3.0
The <xsl:copy-of> seems to be commented out. In fact, Saxon in streaming mode doesn't currently optimize xsl:copy-of to xsl:sequence. It's on the TODO list. Michael Kay Saxonica On 6 Mar 2014, at 18:18, Eliot Kimber <ekimber@xxxxxxxxxxxx> wrote: > Would using <xsl:sequence select="."/> rather than <xsl:copy-of > select="."/> make a difference in this case? > > My understanding was that <xsl:sequence> would, under the covers, just use > the same object (that is the input node) in the result, while copy-of > copies the node into the output. But maybe Saxon optimizes this case and > always just uses a pointer? > > Cheers, > > Eliot > > Eliot Kimber, Owner > Contrext, LLC > http://contrext.com > > > > > On 3/6/14, 10:45 AM, "Michael Kay" <mike@xxxxxxxxxxxx> wrote: > >> >> On 6 Mar 2014, at 12:58, Terry Badger <terry_badger@xxxxxxxxx> wrote: >> >>> I have a 42 GB media and valid xml file as my source. I am using Oxygen >>> 15.2 with Saxon ee 9.5.1.3. I am using this stylesheet which as you can >>> see I turned off what I wanted to do to see if I could get to the end of >>> the file. After about 45 minutes it hits my memory limit and quits. Am I >>> doing this right or will I need to cut this elephant into pieces? >>> Terry >> >> This should work. The most common reason for this kind of problem is that >> people try to supply the input document as a conventional source document >> as well as supplying it to xsl:stream, so it builds a tree in memory >> anyway. However, that would normally fail much sooner than 45 minutes - >> though you didn't say how much memory was available. Do you get a stack >> trace at the point where it runs out of memory? >> >> (I know you don't want to run for 45 minutes just to find out! I find it >> very useful when developing streaming applications to have something >> smaller to play with, preferably about 1Gb. Of course, creating such a >> file is much easier once you have got streaming working!) >> >> Michael Kay >> Saxonica >> >>> >>> <xsl:stylesheet >>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> xmlns="http://www.mediawiki.org/xml/export-0.8/" >>> xpath-default-namespace="http://www.mediawiki.org/xml/export-0.8/" >>> exclude-result-prefixes="#all" >>> version="3.0"> >>> <xsl:outputmethod="xml"/> >>> <xsl:templatename="main"> >>> <xsl:streamhref="../source/enwiki.xml"> >>> <!-- <xsl:result-document href="../out/output-wiki-02.xml"> >>> <xsl:for-each select="mediawiki"> >>> <xsl:element name="mediawiki"> >>> <xsl:for-each select="page[position() < 10]"> >>> <xsl:copy-of select="."/> >>> </xsl:for-each> >>> </xsl:element> >>> </xsl:for-each> >>> </xsl:result-document>--> >>> </xsl:stream> >>> </xsl:template> >>> </xsl:stylesheet>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|