This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Multiple search
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 20 Jun 2002 23:58:23 +0100
- Subject: RE: [xsl] Multiple search
- Reply-to: xsl-list at lists dot mulberrytech dot com
Your stylesheet has a duplicate global variable declaration which I
deleted; after that correction, it ran in 621 milliseconds on Saxon.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> Wampler, David
> Sent: 19 June 2002 13:51
> To: 'xsl-list@lists.mulberrytech.com'
> Subject: RE: [xsl] Multiple search
>
>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:output method="xml"/>
> <xsl:param name="LoanID" select="'*'"/>
> <xsl:param name="LoanPurpose" select="'*'"/>
> <xsl:param name="InternalOrginization" select="'*'"/>
> <xsl:param name="LoanStage" select="'*'"/> <xsl:param
> name="PlacedDate" select="'*'"/> <xsl:param
> name="ClosingDropDeadDate" select="'*'"/> <xsl:param
> name="FundedDate" select="'*'"/> <xsl:param name="PropertyID"
> select="'*'"/> <xsl:param name="PropertyName" select="'*'"/>
> <xsl:param name="PropertyType" select="'*'"/> <xsl:param
> name="SubPropertyType" select="'*'"/> <xsl:param
> name="BorrowerName" select="'*'"/> <xsl:param
> name="LoanAmount" select="'*'"/> <xsl:param name="DSCRActual"
> select="'*'"/> <xsl:param name="DSCR10Constant"
> select="'*'"/> <xsl:param name="ActualLTV" select="'*'"/>
> <xsl:param name="LoanTerm" select="'*'"/> <xsl:param
> name="AmortizationPeriod" select="'*'"/> <xsl:param
> name="QuotedSpreadRate" select="'*'"/> <xsl:param
> name="IndexType" select="'*'"/> <xsl:param name="LoanFee"
> select="'*'"/>
>
>
> <xsl:variable name="LoanIDNodes"
> select="Pipelines/Pipeline[$LoanID!='*'][LoanID=$LoanID]|Pipel
> ines/Pipeline[
> $LoanID='*']"/>
>
> <xsl:variable name="LoanPurposeNodes"
> select="$LoanIDNodes[$LoanPurpose!='*'][LoanPurpose=$LoanPurpo
> se]|$LoanIDNod
> es[$LoanPurpose='*']"/>
>
> <xsl:variable name="InternalOrginizationNodes"
> select="$LoanPurposeNodes[$InternalOrginization!='*'][Internal
Orginization=$
> InternalOrginization]|$LoanPurposeNodes[$InternalOrginization='*']"/>
>
> <xsl:variable name="LoanStageNodes"
> select="$InternalOrginizationNodes[$LoanStage!='*'][LoanStage=
> $LoanStage]|$I
> nternalOrginizationNodes[$LoanStage='*']"/>
>
> <xsl:variable name="PlacedDateNodes"
> select="$LoanStageNodes[$PlacedDate!='*'][PlacedDate=$PlacedDa
> te]|$LoanStage
> Nodes[$PlacedDate='*']"/>
>
> <xsl:variable name="ClosingDropDeadDateNodes"
> select="$PlacedDateNodes[$ClosingDropDeadDate!='*'][ClosingDro
> pDeadDate=$Clo
> singDropDeadDate]|$PlacedDateNodes[$ClosingDropDeadDate='*']"/>
>
> <xsl:variable name="FundedDateNodes"
> select="$ClosingDropDeadDateNodes[$FundedDate!='*'][FundedDate
> =$FundedDate]|
> $ClosingDropDeadDateNodes[$FundedDate='*']"/>
>
> <xsl:variable name="PropertyIDNodes"
> select="$FundedDateNodes[$PropertyID!='*'][PropertyID=$Propert
> yID]|$FundedDa
> teNodes[$PropertyID='*']"/>
>
> <xsl:variable name="PropertyNameNodes"
> select="$PropertyIDNodes[$PropertyName!='*'][PropertyName=$Pro
> pertyName]|$Pr
> opertyIDNodes[$PropertyName='*']"/>
>
> <xsl:variable name="PropertyTypeNodes"
> select="$PropertyNameNodes[$PropertyType!='*'][PropertyType=$P
> ropertyType]|$
> PropertyNameNodes[$PropertyType='*']"/>
>
> <xsl:variable name="SubPropertyTypeNodes"
> select="$PropertyTypeNodes[$SubPropertyType!='*'][SubPropertyT
> ype=$SubProper
> tyType]|$PropertyTypeNodes[$SubPropertyType='*']"/>
>
> <xsl:variable name="BorrowerNameNodes"
> select="$SubPropertyTypeNodes[$BorrowerName!='*'][BorrowerName
> =$BorrowerName
> ]|$SubPropertyTypeNodes[$BorrowerName='*']"/>
>
> <xsl:variable name="SubPropertyTypeNodes"
> select="$PropertyTypeNodes[$SubPropertyType!='*'][SubPropertyT
> ype=$SubProper
> tyType]|$PropertyTypeNodes[$SubPropertyType='*']"/>
> <xsl:variable name="LoanAmountNodes"
> select="$SubPropertyTypeNodes[$LoanAmount!='*'][LoanAmount=$Lo
> anAmount]|$Sub
> PropertyTypeNodes[$LoanAmount='*']"/>
>
> <xsl:variable name="DSCRActualNodes"
> select="$LoanAmountNodes[$DSCRActual!='*'][DSCRActual=$DSCRAct
> ual]|$LoanAmou
> ntNodes[$DSCRActual='*']"/>
>
> <xsl:variable name="DSCR10ConstantNodes"
> select="$DSCRActualNodes[$DSCR10Constant!='*'][DSCR10Constant=
> $DSCR10Constan
> t]|$DSCRActualNodes[$DSCR10Constant='*']"/>
>
> <xsl:variable name="ActualLTVNodes"
> select="$DSCR10ConstantNodes[$ActualLTV!='*'][ActualLTV=$Actua
> lLTV]|$DSCR10C
> onstantNodes[$ActualLTV='*']"/>
>
> <xsl:variable name="LoanTermNodes"
> select="$ActualLTVNodes[$LoanTerm!='*'][LoanTerm=$LoanTerm]|$A
> ctualLTVNodes[
> $LoanTerm='*']"/>
>
> <xsl:variable name="AmortizationPeriodNodes"
> select="$LoanTermNodes[$AmortizationPeriod!='*'][AmortizationP
> eriod=$Amortiz
> ationPeriod]|$LoanTermNodes[$AmortizationPeriod='*']"/>
>
> <xsl:variable name="QuotedSpreadRateNodes"
> select="$AmortizationPeriodNodes[$QuotedSpreadRate!='*'][Quote
> dSpreadRate=$Q
> uotedSpreadRate]|$AmortizationPeriodNodes[$QuotedSpreadRate='*']"/>
>
> <xsl:variable name="IndexTypeNodes"
> select="$QuotedSpreadRateNodes[$IndexType!='*'][IndexType=$Ind
> exType]|$Quote
> dSpreadRateNodes[$IndexType='*']"/>
>
> <xsl:variable name="LoanFeeNodes"
> select="$IndexTypeNodes[$LoanFee!='*'][LoanFee=$LoanFee]|$Inde
> xTypeNodes[$Lo
> anFee='*']"/>
>
>
>
>
> <xsl:template match="/">
> <Pipelines>
> <xsl:call-template name="Pipeline1"/>
> </Pipelines>
> </xsl:template>
>
>
> <xsl:template name="Pipeline1">
> <Pipeline>
> <xsl:copy-of select="$LoanFeeNodes"/>
> </Pipeline>
> </xsl:template>
>
>
>
>
> </xsl:stylesheet>
>
> -----Original Message-----
> From: Michael Kay [mailto:michael.h.kay@ntlworld.com]
> Sent: Tuesday, June 18, 2002 4:15 AM
> To: xsl-list@lists.mulberrytech.com
> Subject: RE: [xsl] Multiple search
>
>
> > well since it was a performance based problem, i thought
> you meant CPU
> >
> > Xalan
>
>
> Well, either (1) try it on another processor and see if you
> get the same results, or (b) post the full stylesheet and XML
> source here, and see whether anyone else can get it to work.
> You could also try allocating more memory (assuming you are
> using Xalan-Java, see the options for the java command line).
>
> It may be that your stylesheet has a non-terminating
> recursion, or it may simply be that it needs more memory, or
> it may be that for some reason Xalan is executing this
> particular code inefficiently.
> >
> > Thanks
> >
> > -----Original Message-----
> > From: Joerg Heinicke [mailto:joerg.heinicke@gmx.de]
> > Sent: Monday, June 17, 2002 2:54 PM
> > To: xsl-list@lists.mulberrytech.com
> > Subject: Re: [xsl] Multiple search
> >
> >
> > Yes, it was a good laugher.
> >
> > David, not the CPU was meant, but the XSLT processor.
> >
> > Joerg
> >
> > Andrew Welch wrote:
> > >>I'm using a P4 1.7 GHz, so it can't be that problem.
> > >
> > >
> > > Thanks David, you've cheered up my monday afternoon
> > >
> > >
> > > -----Original Message-----
> > > From: Michael Kay [mailto:michael.h.kay@ntlworld.com]
> > >
> > > Which processor are you using? I can't see anything wrong with the
> > > code
> > > - see if you get the same problem with a different processor.
> > >
> > > Michael Kay
> > >
> > >>-----Original Message-----
> > >>From: owner-xsl-list@lists.mulberrytech.com
> > >>[mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> > >>Wampler, David
> > >>
> > >>I've encountered an out of memory problem with the following
> > >>template. Basically I just want to be able to search for 20
> > >>different parameters. The results depend on all parameters.
> > >>
> > >><xsl:stylesheet
> > >> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > >> version="1.0">
> > >>
> > >><xsl:output method="xml"/>
> > >><xsl:param name="Element1" select="'*'"/>
> > >><xsl:param name="Element2" select="'*'"/>
> > >><xsl:param name="Element3" select="'*'"/>
> > >>....continues for 20 parameters.
> > >>
> > >><xsl:variable name="Element1Nodes"
> > >>select="Pipelines/Pipeline[$Element1!='*'][Element1=$Element1]
> > >>|Pipelines/Pip
> > >>eline[$Element1='*']"/>
> > >><xsl:variable name="Element2Nodes"
> > >>select="$Element1Nodes[$Element2!='*'][Element2=$Element2]|$El
> > >>ement1Nodes[$E
> > >>lement2='*']"/>
> > >><xsl:variable name="Element3Nodes"
> > >>select="$Element2Nodes[$Element3!='*'][Element3=$Element3]|$El
> > >>ement2Nodes[$E
> > >>lement3='*']"/>
> > >>.....continues for 20 parameters
> > >>
> > >><xsl:template match="/">
> > >><Pipelines>
> > >><xsl:call-template name="Pipeline1"/>
> > >></Pipelines>
> > >></xsl:template>
> > >>
> > >><xsl:template name="Pipeline1">
> > >><Pipeline>
> > >><xsl:copy-of select="$Element3Nodes"/>
> > >></Pipeline>
> > >></xsl:template>
> > >>
> > >></xsl:stylesheet>
> > >>
> > >>
> > >>
> > >>xml looks like this....
> > >>
> > >><Pipelines>
> > >><Pipeline>
> > >> <Element1>data</Element1>
> > >> <Element2>data</Element2>
> > >> <Element3>data</Element3>
> > >></Pipeline>
> > >><Pipeline>
> > >> <Element1>data</Element1>
> > >> <Element2>data</Element2>
> > >> <Element3>data</Element3>
> > >></Pipeline>
> > >></Pipelines>
> > >>
> > >>The user can enter any or all parameters. If none are
> entered, it
> > >>assumes that it will display * (all) for each element.
> Any help is
> > >>greatly appreciated.
> > >>
> > >>
> > >>Thanks.
> >
> >
> > XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
> >
> > XSL-List info
> and archive: http://www.mulberrytech.com/xsl/xsl-list
> >
> >
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list