Subject: RE: [xsl] Extra spaces From: "Surana, Swati " <swati.surana@xxxxxxxx> Date: Mon, 16 Nov 2009 18:11:54 +0000 |
I have found the problem and fixed. Thanks all. -----Original Message----- From: Surana, Swati [ICG-IT] Sent: 16 November 2009 17:14 To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: RE: [xsl] Extra spaces To be more clear: I was trying to output data in the below format: FWD.AED.01M.0D 0.000550 0.000550 0.000550 1311/11/2009 12:17:0001AUTOMATED PROCES But, when I work around with my XSLT def it comes out to be : FWD . AED . 01M . 0 000.000300 000.000500 000.000400 13 11/13/2009 15:13:07 01 AUTOMATED PROCES There are extra spaces between fields (Ex: FWD . AED . 01M . 0) when I don't need them. Also, I need the price fields (000.000300, 000.000500 000.000400 ) of fixed length (i.e. of length 18). My XML and XSL are as follows: "<row>" + "<PiTypC length='4'>" + @PiTypC + "</PiTypC>" + @MetaString + "<TenorDate length='10'>" + convert(varchar(10),@TenorDate,112) + "</TenorDate>" + "<DaysBond length='10'>" + convert(varchar(10),@DaysBond) + "</DaysBond>" + "<DaysActual length='10'>" + convert(varchar(10),@DaysActual) + "</DaysActual>" + "<IMMContractBefore length='2'>" + @IMMContractBefore + "</IMMContractBefore>" + "<IMMContractAfter length='2'>" + @IMMContractAfter + "</IMMContractAfter>" + "<IMMDateBefore length='10'>" + convert(varchar(10),@IMMDateBefore,112) + "</IMMDateBefore>" + "<IMMDateAfter length='10'>" + convert(varchar(10),@IMMDateAfter,112) + "</IMMDateAfter>" + "<SpotDate length='10'>" + convert(varchar(10),@SpotDate,112) + "</SpotDate>" + "<Basis length='15'>" + rtrim(convert(char,@Basis)) + "</Basis>" + "<CrvTag length='20'>" + rtrim(@CrvTag) + "</CrvTag>" + "<CrvRefCode length='20'>" + rtrim(@CurveRefCode) + "</CrvRefCode>" + "<Label length='20'>" + @Label + "</Label>" + "<RefCode length='20'>" + @RefCode + "</RefCode>" + "<FiI length='15'>" + rtrim(convert(char,@FiI)) + "</FiI>" + "<Cusip length='9'>" + @Cusip + "</Cusip>" + "<ISIN length='20'>" + @ISIN + "</ISIN>" + "<Provider length='20'>" + @Provider + "</Provider>" + "<Feed length='80'>" + @Feed + "</Feed>" + "<Time length='5'>" + @Time + "</Time>" + "<SystemDate length='10'>" + convert(varchar(10),@SystemDate,112) + "</SystemDate>" + "<LastActivityDateTime>" + rtrim(@LastActvyDString) + "</LastActivityDateTime>" + "<PriceDate length='10'>" + convert(varchar(10),@PrcD,112) + "</PriceDate>" + "<FullPrc1 length='20'>" + ltrim(str(@Prc1,20,10)) + "</FullPrc1>" + "<FullPrc2 length='20'>" + ltrim(str(@Prc2,20,10)) + "</FullPrc2>" + "<FullPrice length='20'>" + ltrim(str(@Price,20,10)) + "</FullPrice>" + "<Prc1 length='10'>" + ltrim(str(@Prc1,16,6)) + "</Prc1>" + "<Prc2 length='10'>" + ltrim(str(@Prc2,16,6)) + "</Prc2>" + "<Price length='10'>" + ltrim(str(@Price,16,6)) + "</Price>" + "<OverrideFlag>" + @OverrideFlag + "</OverrideFlag>" + "<PrevPriceDate>" + convert(varchar(10),@PrevPrcD,112) + "</PrevPriceDate>" + "<FullPrevPrc1 length='20'>" + ltrim(str(@PrevPrc1,20,10)) + "</FullPrevPrc1>" + "<FullPrevPrc2 length='20'>" + ltrim(str(@PrevPrc2,20,10)) + "</FullPrevPrc2>" + "<FullPrevPrice length='20'>" + ltrim(str(@PrevPrice,20,10)) + "</FullPrevPrice>" + "<PrevPrc1 length='10'>" + ltrim(str(@PrevPrc1,16,6)) + "</PrevPrc1>" + "<PrevPrc2 length='10'>" + ltrim(str(@PrevPrc2,16,6)) + "</PrevPrc2>" + "<PrevPrice length='10'>" + ltrim(str(@PrevPrice,16,6)) + "</PrevPrice>" + "<PrevOverrideFlag>" + @PrevOverrideFlag + "</PrevOverrideFlag>" + "</row>" And XSL is <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:strip-space elements="*"/> <xsl:variable name="num-fmt">0.000000</xsl:variable> <xsl:variable name="FXFR">FXFR</xsl:variable> <xsl:variable name="MMKT">MMKT</xsl:variable> <xsl:variable name="NaN">NaN</xsl:variable> <xsl:variable name="space"> <xsl:text> </xsl:text> </xsl:variable> <xsl:variable name="VEB">VEB</xsl:variable> <xsl:variable name="UYP">UYP</xsl:variable> <xsl:variable name="SPOT">SPOT</xsl:variable> <xsl:variable name="DAILY_SPOTS">Daily SPOTS</xsl:variable> <xsl:variable name="AppName">CITITRACK </xsl:variable> <xsl:variable name="spaceDataRec"> </xsl:variable> <xsl:variable name="SysID">USCRS</xsl:variable> <xsl:variable name="SysSeqNo">01</xsl:variable> <xsl:variable name="CheckSum">00000000000000000000000</xsl:variable> <xsl:variable name="footerName">MARKET TRAILER </xsl:variable> <xsl:variable name="FWD">FWD</xsl:variable> <xsl:variable name="FXS">FXS</xsl:variable> <xsl:variable name="DEP">DEP</xsl:variable> <xsl:variable name="Separator"> <xsl:text>.</xsl:text> </xsl:variable> <xsl:variable name="Zero"> <xsl:text>0 </xsl:text> </xsl:variable> <xsl:variable name="DZero"> <xsl:text>D.0 </xsl:text> </xsl:variable> <xsl:variable name="spaceDR"> <xsl:text> </xsl:text> </xsl:variable> <xsl:variable name="FWDRateType">13</xsl:variable> <xsl:variable name="FXSRateType">01</xsl:variable> <xsl:variable name="DEPRateType">18</xsl:variable> <xsl:variable name="ErrorCode">01</xsl:variable> <xsl:variable name="Jan">Jan</xsl:variable> <xsl:variable name="Feb">Feb</xsl:variable> <xsl:variable name="Mar">Mar</xsl:variable> <xsl:variable name="Apr">Apr</xsl:variable> <xsl:variable name="May">May</xsl:variable> <xsl:variable name="Jun">Jun</xsl:variable> <xsl:variable name="Jul">Jul</xsl:variable> <xsl:variable name="Aug">Aug</xsl:variable> <xsl:variable name="Sep">Sep</xsl:variable> <xsl:variable name="Oct">Oct</xsl:variable> <xsl:variable name="Nov">Nov</xsl:variable> <xsl:variable name="Dec">Dec</xsl:variable> <xsl:template match="/"> <xsl:apply-templates select="output"/> </xsl:template> <xsl:template match="output"> <output> <row> <header> <AppName><xsl:value-of select="$AppName"/></AppName> <xsl:call-template name="Date_Time_Header"> </xsl:call-template> <xsl:text> </xsl:text> <xsl:call-template name="Date_Time_Header"> </xsl:call-template> <xsl:text> </xsl:text> </header> </row> <xsl:apply-templates select="row"/> <row> <footer> <footerName><xsl:value-of select="$footerName"/></footerName> <xsl:value-of select="$SysID" /> <xsl:value-of select="$SysSeqNo" /> <xsl:call-template name="Date_Time_Trailer"> </xsl:call-template> <rowcount> <!-- <xsl:number format="000001" value="count(row)+2" /> --> <!-- <xsl:value-of select="count(row[Tenor!=$SPOT])+count(row[contains(CrvTag,$DAILY_SPOTS)])"/> --> <xsl:number format="000001" value="count(row[Tenor!=$SPOT])+count(row[contains(CrvTag,$DAILY_SPOTS)])"/> </rowcount> <xsl:value-of select="$CheckSum" /> </footer> </row> </output> </xsl:template> <xsl:template name="Date_Time_Header"> <SnapshotDateTime> <xsl:value-of select="substring(row[1]/LastActivityDateTime,5,2)" /> <xsl:text>/</xsl:text> <xsl:variable name="m" select="substring(row[1]/LastActivityDateTime,1,3)" /> <xsl:choose> <xsl:when test="$m = $Jan">01</xsl:when> <xsl:when test="$m = $Feb">02</xsl:when> <xsl:when test="$m = $Mar">03</xsl:when> <xsl:when test="$m = $Apr">04</xsl:when> <xsl:when test="$m = $May">05</xsl:when> <xsl:when test="$m = $Jun">06</xsl:when> <xsl:when test="$m = $Jul">07</xsl:when> <xsl:when test="$m = $Aug">08</xsl:when> <xsl:when test="$m = $Sep">09</xsl:when> <xsl:when test="$m = $Oct">10</xsl:when> <xsl:when test="$m = $Nov">11</xsl:when> <xsl:when test="$m = $Dec">12</xsl:when> <xsl:otherwise> <xsl:value-of select="$m"/> </xsl:otherwise> </xsl:choose> <xsl:text>/</xsl:text> <xsl:value-of select="substring(row[1]/LastActivityDateTime,8,4)" /> <xsl:text> </xsl:text> <xsl:value-of select="substring(row[1]/LastActivityDateTime,13,8)" /> </SnapshotDateTime> </xsl:template> <xsl:template name="Date_Time_Trailer"> <SnapshotEndDateTime> <xsl:value-of select="substring(row[1]/LastActivityDateTime,8,4)" /> <xsl:variable name="m" select="substring(row[1]/LastActivityDateTime,1,3)" /> <xsl:choose> <xsl:when test="$m = $Jan">01</xsl:when> <xsl:when test="$m = $Feb">02</xsl:when> <xsl:when test="$m = $Mar">03</xsl:when> <xsl:when test="$m = $Apr">04</xsl:when> <xsl:when test="$m = $May">05</xsl:when> <xsl:when test="$m = $Jun">06</xsl:when> <xsl:when test="$m = $Jul">07</xsl:when> <xsl:when test="$m = $Aug">08</xsl:when> <xsl:when test="$m = $Sep">09</xsl:when> <xsl:when test="$m = $Oct">10</xsl:when> <xsl:when test="$m = $Nov">11</xsl:when> <xsl:when test="$m = $Dec">12</xsl:when> <xsl:otherwise> <xsl:value-of select="$m"/> </xsl:otherwise> </xsl:choose> <xsl:value-of select="substring(row[1]/LastActivityDateTime,5,2)" /> <xsl:value-of select="substring(row[1]/LastActivityDateTime,13,8)" /> </SnapshotEndDateTime> </xsl:template> <xsl:template name="Date_Time_DataRecord"> <SnapshotDateTime> <xsl:variable name="m" select="substring(LastActivityDateTime,1,3)" /> <xsl:choose> <xsl:when test="$m = $Jan">01</xsl:when> <xsl:when test="$m = $Feb">02</xsl:when> <xsl:when test="$m = $Mar">03</xsl:when> <xsl:when test="$m = $Apr">04</xsl:when> <xsl:when test="$m = $May">05</xsl:when> <xsl:when test="$m = $Jun">06</xsl:when> <xsl:when test="$m = $Jul">07</xsl:when> <xsl:when test="$m = $Aug">08</xsl:when> <xsl:when test="$m = $Sep">09</xsl:when> <xsl:when test="$m = $Oct">10</xsl:when> <xsl:when test="$m = $Nov">11</xsl:when> <xsl:when test="$m = $Dec">12</xsl:when> <xsl:otherwise> <xsl:value-of select="$m"/> </xsl:otherwise> </xsl:choose> <xsl:text>/</xsl:text> <xsl:value-of select="substring(LastActivityDateTime,5,2)" /> <xsl:text>/</xsl:text> <xsl:value-of select="substring(LastActivityDateTime,8,4)" /> <xsl:text> </xsl:text> <xsl:value-of select="substring(LastActivityDateTime,13,8)" /> </SnapshotDateTime> </xsl:template> <xsl:template match="row"> <!-- Skip any rows with a zero length Price Date i.e. no price record available --> <xsl:if test="string-length(PriceDate)!=0"> <!-- TermCrcy --> <xsl:variable name="TermCrcy"> <xsl:choose> <xsl:when test="TermCrcy=$VEB">VEF</xsl:when> <xsl:when test="TermCrcy=$UYP">UYU</xsl:when> <xsl:otherwise> <xsl:value-of select="TermCrcy"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="Tenor"> <xsl:choose> <xsl:when test="string-length(Tenor)=2"> <xsl:text>0</xsl:text> <xsl:value-of select="Tenor"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="Tenor"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <!-- Ignore spots from Trestel Output curves - they are all in USD output spot curve.--> <xsl:if test="contains(CrvTag,$DAILY_SPOTS) or (Tenor and Tenor!=$SPOT) or not(Tenor)"> <row> <xsl:choose> <xsl:when test="Tenor!=$SPOT"> <xsl:if test="PiTypC=$FXFR"> <forward><xsl:value-of select="$FWD" /></forward> <sep><xsl:value-of select="$Separator" /></sep> <TermCrcy><xsl:value-of select="$TermCrcy"/></TermCrcy> <sep><xsl:value-of select="$Separator" /></sep> <Tenor><xsl:value-of select="$Tenor"/></Tenor> <sep><xsl:value-of select="$Separator" /></sep> <extra><xsl:value-of select="$Zero"/></extra> <Bid pad-left="18"><xsl:value-of select="format-number(FullPrc1,$num-fmt)"/></Bid> <Ask pad-left="18"><xsl:value-of select="format-number(FullPrc2,$num-fmt)"/></Ask> <Mid pad-left="18"><xsl:value-of select="format-number(FullPrice,$num-fmt)"/></Mid> <spaces><xsl:value-of select="$spaceDR"/></spaces> <RateType><xsl:value-of select="$FWDRateType"/></RateType> <datetime><xsl:call-template name="Date_Time_DataRecord"></xsl:call-template></datetime> <ErrorCode><xsl:value-of select="$ErrorCode"/></ErrorCode> <Additional><xsl:text>HAMPER RATESERVER</xsl:text></Additional> </xsl:if> <xsl:if test="PiTypC=$MMKT"> <forward><xsl:value-of select="$DEP" /></forward> <sep><xsl:value-of select="$Separator" /></sep> <Crcy><xsl:value-of select="Crcy"/></Crcy> <sep><xsl:value-of select="$Separator" /></sep> <Tenor><xsl:value-of select="$Tenor"/></Tenor> <extra><xsl:value-of select="$DZero"/></extra> <Bid pad-left="18"><xsl:value-of select="format-number(FullPrc1,$num-fmt)"/></Bid> <Ask pad-left="18"><xsl:value-of select="format-number(FullPrc2,$num-fmt)"/></Ask> <Mid pad-left="18"><xsl:value-of select="format-number(FullPrice,$num-fmt)"/></Mid> <spaces><xsl:value-of select="$spaceDR"/></spaces> <RateType><xsl:value-of select="$DEPRateType"/></RateType> <datetime><xsl:call-template name="Date_Time_DataRecord"></xsl:call-template></datetime> <ErrorCode><xsl:value-of select="$ErrorCode"/></ErrorCode> <Additional><xsl:text>HAMPER RATESERVER</xsl:text></Additional> </xsl:if> </xsl:when> <xsl:otherwise> <FXspot><xsl:value-of select="$FXS"/></FXspot> <sep><xsl:value-of select="$Separator" /></sep> <TermCrcy><xsl:value-of select="$TermCrcy"/></TermCrcy> <sep><xsl:value-of select="$Separator" /></sep> <Tenor><xsl:text>000</xsl:text></Tenor> <sep><xsl:value-of select="$Separator" /></sep> <extra><xsl:value-of select="$Zero"/></extra> <Bid pad-left="18"><xsl:value-of select="format-number(FullPrc1,$num-fmt)"/></Bid> <Ask pad-left="18"><xsl:value-of select="format-number(FullPrc2,$num-fmt)"/></Ask> <Mid pad-left="18"><xsl:value-of select="format-number(FullPrice,$num-fmt)"/></Mid> <spaces><xsl:value-of select="$spaceDR"/></spaces> <RateType><xsl:value-of select="$FXSRateType"/></RateType> <datetime><xsl:call-template name="Date_Time_DataRecord"></xsl:call-template></datetime> <ErrorCode><xsl:value-of select="$ErrorCode"/></ErrorCode> <Additional><xsl:text>HAMPER RATESERVER</xsl:text></Additional> </xsl:otherwise> </xsl:choose> </row> </xsl:if> </xsl:if> </xsl:template> </xsl:stylesheet> Thanks & Regards, Swati -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: 16 November 2009 00:20 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Extra spaces I can't see how the output relates to your stylesheet code. Your stylesheet is producing XML, but you are showing text with no tags. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: Surana, Swati [mailto:swati.surana@xxxxxxxx] > Sent: 15 November 2009 20:51 > To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' > Subject: [xsl] Extra spaces > > > Hello, > I am using XSLT1.0 > > I have to get the output in the below format. > FWD.AED.01M.0 0.000600 > 0.000600 0.000600 1311/12/2009 > 13:13:0001AUTOMATED PROCES > > But with my XSL def I get the following: > FWD . AED . 1W . 0 000.000050 000.000200 000.000125 > 1311/14/2009 13:13:0001AUTOMATED PROCES > > > I am getting extra spaces between the first part i.e. FWD . > AED . 1W . 0 > > My xsl looks like: > > ...... > <xsl:template match="row"> > <!-- Skip any rows with a zero length Price Date i.e. > no price record available --> > <xsl:if test="string-length(PriceDate)!=0"> > <!-- TermCrcy --> > <xsl:variable name="TermCrcy"> > <xsl:choose> > <xsl:when > test="TermCrcy=$VEB">VEF</xsl:when> > <xsl:when > test="TermCrcy=$UYP">UYU</xsl:when> > <xsl:otherwise> > <xsl:value-of > select="TermCrcy"/> > </xsl:otherwise> > </xsl:choose> > </xsl:variable> > > <!-- Ignore spots from Trestel Output curves - > they are all in USD output spot curve.--> > <xsl:if > test="contains(CrvTag,$DAILY_SPOTS) or (Tenor and > Tenor!=$SPOT) or not(Tenor)"> > <row> > <xsl:if test="Tenor!=$SPOT"> > <xsl:if test="PiTypC=$FXFR"> > > <forward><xsl:value-of select="$FWD" > /></forward><sep><xsl:value-of select="$Separator" /></sep> > <TermCrcy> > <xsl:value-of > select="$TermCrcy"/> > > </TermCrcy><sep><xsl:value-of select="$Separator" /></sep> > <Tenor> > <xsl:value-of > select="Tenor"/> > > </Tenor><sep><xsl:value-of select="$Separator" > /></sep><extra><xsl:value-of select="$Zero"/></extra> > <Bid> > <xsl:value-of > select="format-number(FullPrc1,$num-fmt)"/> > </Bid> > <Ask> > <xsl:value-of > select="format-number(FullPrc2,$num-fmt)"/> > </Ask> > <Mid> > <xsl:value-of > select="format-number(FullPrice,$num-fmt)"/> > </Mid> > </xsl:if> > </xsl:if> > > <xsl:if test="Tenor=$SPOT"> > <xsl:copy-of select="PiTypC"/> > <xsl:text>.</xsl:text> > <TermCrcy> > <xsl:value-of > select="$TermCrcy"/> > </TermCrcy> > <Tenor> > <xsl:value-of > select="Tenor"/> > </Tenor> > > </xsl:if> > </row> > </xsl:if> > </xsl:if> > </xsl:template> > ....... > > The XML is: > > "<row>" > + "<PiTypC length='4'>" + > @PiTypC + "</PiTypC>" > + @MetaString > + "<TenorDate length='10'>" + > convert(varchar(10),@TenorDate,112) + "</TenorDate>" > + "<DaysBond length='10'>" + > convert(varchar(10),@DaysBond) + "</DaysBond>" > + "<DaysActual length='10'>" + > convert(varchar(10),@DaysActual) + "</DaysActual>" > + "<IMMContractBefore length='2'>" + > @IMMContractBefore + "</IMMContractBefore>" > + "<IMMContractAfter length='2'>" + > @IMMContractAfter + "</IMMContractAfter>" > + "<IMMDateBefore length='10'>" + > convert(varchar(10),@IMMDateBefore,112) + "</IMMDateBefore>" > + "<IMMDateAfter length='10'>" + > convert(varchar(10),@IMMDateAfter,112) + "</IMMDateAfter>" > + "<SpotDate length='10'>" + > convert(varchar(10),@SpotDate,112) + "</SpotDate>" > + "<Basis length='15'>" + > rtrim(convert(char,@Basis)) + "</Basis>" > + "<CrvTag length='20'>" + > rtrim(@CrvTag) + "</CrvTag>" > + "<CrvRefCode length='20'>" + > rtrim(@CurveRefCode) + "</CrvRefCode>" > + "<Label length='20'>" + > @Label + "</Label>" > + "<RefCode length='20'>" + > @RefCode + "</RefCode>" > + "<FiI length='15'>" + > rtrim(convert(char,@FiI)) + "</FiI>" > + "<Cusip length='9'>" + > @Cusip + "</Cusip>" > + "<ISIN length='20'>" + > @ISIN + "</ISIN>" > + "<Provider length='20'>" + > @Provider + "</Provider>" > + "<Feed length='80'>" + > @Feed + "</Feed>" > + "<Time length='5'>" + > @Time + "</Time>" > + "<SystemDate length='10'>" + > convert(varchar(10),@SystemDate,112) + "</SystemDate>" > + "<LastActivityDateTime>" + > rtrim(@LastActvyDString) + "</LastActivityDateTime>" > + "<PriceDate length='10'>" + > convert(varchar(10),@PrcD,112) + "</PriceDate>" > + "<FullPrc1 length='20'>" + > ltrim(str(@Prc1,20,10)) + "</FullPrc1>" > + "<FullPrc2 length='20'>" + > ltrim(str(@Prc2,20,10)) + "</FullPrc2>" > + "<FullPrice length='20'>" + > ltrim(str(@Price,20,10)) + "</FullPrice>" > + "<Prc1 length='10'>" + > ltrim(str(@Prc1,16,6)) + "</Prc1>" > + "<Prc2 length='10'>" + > ltrim(str(@Prc2,16,6)) + "</Prc2>" > + "<Price length='10'>" + > ltrim(str(@Price,16,6)) + "</Price>" > + "<OverrideFlag>" + > @OverrideFlag + "</OverrideFlag>" > + "<PrevPriceDate>" + > convert(varchar(10),@PrevPrcD,112) + "</PrevPriceDate>" > + "<FullPrevPrc1 length='20'>" + > ltrim(str(@PrevPrc1,20,10)) + "</FullPrevPrc1>" > + "<FullPrevPrc2 length='20'>" + > ltrim(str(@PrevPrc2,20,10)) + "</FullPrevPrc2>" > + "<FullPrevPrice length='20'>" + > ltrim(str(@PrevPrice,20,10)) + "</FullPrevPrice>" > + "<PrevPrc1 length='10'>" + > ltrim(str(@PrevPrc1,16,6)) + "</PrevPrc1>" > + "<PrevPrc2 length='10'>" + > ltrim(str(@PrevPrc2,16,6)) + "</PrevPrc2>" > + "<PrevPrice length='10'>" + > ltrim(str(@PrevPrice,16,6)) + "</PrevPrice>" > + "<PrevOverrideFlag>" + > @PrevOverrideFlag + "</PrevOverrideFlag>" > + "</row>" > > > Kindly advise. > > Thanks & Regards, > Swati
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Extra spaces, Surana, Swati | Thread | [xsl] Display numeric string of the, Surana, Swati |
RE: [xsl] Extra spaces, Surana, Swati | Date | Re: [xsl] reversing dictionary in x, Robert Ee |
Month |