RE: [xsl] Extra spaces2009-11-16 13:13:00I have found the problem and fixed. Thanks all. -----Original Message----- From: Surana, Swati [ICG-IT] Sent: 16 November 2009 17:14 To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com' 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(_at_)saxonica(_dot_)com] Sent: 16 November 2009 00:20 To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 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(_dot_)surana(_at_)citi(_dot_)com] Sent: 15 November 2009 20:51 To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com' 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 --~------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com> --~-- --~------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com> --~-- --~------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com> --~-- --~------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com> --~--
|
|