Subject: RE: [xsl] performance issues saxon From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Tue, 18 Feb 2003 00:00:19 -0000 |
It looks to me as if your transformation doesn't fall into the pattern where you can split it into lots of separate transformations, one for each subtree - this is because you are doing grouping or elimination of duplicates. So saxon:preview won't help you. Since you didn't define a template rule for the preview element, it will be processed using the default template rule, which copies data to the principal output file. I expect this is why you are seeing the output on the screen rather than in the file selected by saxon:output. In any case, you seem to be selecting the same output file each time you invoke saxon:output, which isn't going to do much good: each result tree will overwrite the previous one. A 20Mb transformation is quite feasible - I did one today with the setting -Xmx256m (i.e. 256Mbytes of heap memory). But of course it depends on the exact details of what you are doing. This stylesheet, with two nested loops each processing the entire file, does not look like the kind of thing I would want to run on a 20Mb input file. You should be using keys to speed it up. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: Vasu Chakkera [mailto:vasucv@xxxxxxxxxxx] > Sent: 17 February 2003 19:49 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Cc: michael.h.kay@xxxxxxxxxxxx > Subject: Re: [xsl] performance issues saxon > > > Ok Mike, > So I am not using the templates > > I have the following structure for the xsl. > > <saxon:preview mode="preview" elements="Products"/> > <xsl:template match="/"> > <xsl:for-each > select="/schedule/timeslot[generate-id(productdetails/producti > d-number)= > generate-id(key('products',productdetails/productid-number)[1])]"> > <xsl:variable name="product-numner" select="."/> > <xsl:variable name="FILE" > select="concat('outputpath/','my-textoutput.txt')"/> > <saxon:output file ="{$FILE}"> > <xsl:for-each > select="/schedule/timeslot[productdetails/productid-number=$pr > oduct-number]" > > > --- process data --- > </xsl:for-each> > </saxon:output> > </xsl:for-each> > </xsl:template> > > and the transformastion fails for an xml file of 20 Mg ( i would have > thought 20Mg is reasonable .. but anyway ), anything above > 10 Mg fails. > The results of the above transformation seems to be output to > the screen as > opposed to the output to the file defined by $FILE. This is unusual > behaviour which i dint expect.I wonder if this is the bug > with saxon 5.5.1 . > I am now going to check this with the later versions of the > Saxon. ( Saxon > 7.3) > Please advice > > ----- Original Message ----- > From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Monday, February 17, 2003 6:04 PM > Subject: RE: [xsl] performance issues saxon > > > > > Thanks for your suggestions Mike. I am looking at the > > > solution you had suggested. I am at the moment sticking to > > > saxon5.5.1 for some reasons. I looked at the documentation > > > for saxon:preview and the sample play.xsl. I am all set to do > > > a basic test ..can I give a wildcard * to say preview all > > > elements? like. <saxon:preview mode = "preview" elements = "*"/> > > > > No, it has to be a list of specific element names, > whitespace-separated. > > If you gave the name "*", it would match the document element, which > > would make the whole exercise rather pointless. > > > > > > Or do we have to give the specific element's name?? > > > > > Also will it only work if we have a template of that name.. I > > > am asking this because i am making use of a for-each and not > > > a template.? > > > > You don't need to have a template of the form > match="element-name", but > > you do need to have a template rule that matches the > preview element. > > The rule is triggered automatically when the XML parser > hits the end tag > > for a registered preview element, it does not need to be fired using > > xsl:apply-templates. > > > > Michael Kay > > Software AG > > home: Michael.H.Kay@xxxxxxxxxxxx > > work: Michael.Kay@xxxxxxxxxxxxxx > > > > > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Problem writing a XSLT styles, Mukul | Thread | RE: [xsl] performance issues saxon, Antonio Gallardo |
RE: [xsl] xsl:key may not contain r, Michael Kay | Date | RE: [xsl] performance issues saxon, Michael Kay |
Month |