Subject: RE: generation of flat file from XSL
From: Rajendra S Rawat <rajsrawat@xxxxxxxxx>
Date: Mon, 13 Oct 2003 21:01:21 -0700 (PDT)
|
Try these 2 templates to get fixed width strings:
<xsl:template name="L-pad">
<xsl:param name="padChar"> </xsl:param>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) <
$length">
<xsl:call-template name="L-pad">
<xsl:with-param name="padChar"
select="$padChar"/>
<xsl:with-param name="padVar"
select="concat($padChar,$padVar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="substring($padVar,string-length($padVar) -
$length + 1)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="R-pad">
<xsl:param name="padChar"/>
<xsl:param name="padVar"/>
<xsl:param name="length"/>
<xsl:choose>
<xsl:when test="string-length($padVar) <
$length">
<xsl:call-template name="R-pad">
<xsl:with-param name="padChar"
select="$padChar"/>
<xsl:with-param name="padVar"
select="concat($padVar,$padChar)"/>
<xsl:with-param name="length" select="$length"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select="substring($padVar,1,$length)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
for more details try this link:
http://www.dpawson.co.uk/xsl/sect2/padding.html
Cheers,
Raj
--- Michael Kay <mhk@xxxxxxxxx> wrote:
> > I have worked on generation of a flat file from
> xml using
> > XSL. I have used select:value-of for the data and
> xsl:text
> > to put the commas in the flat file.
> >
> >
> > Could some body let me know if the flat file can
> be generated
> > as a fixed field length file and
> > the necessary options xsl has.
>
> It can, but you need to do more work. Write a
> template like:
>
> <xsl:template name="pad">
> <xsl:param name="value"/>
> <xsl:param name="size"/>
> <xsl:variable name="spaces"
> select="'
> '"/>
> <xsl:value-of select="substring(concat($value,
> $spaces), 1, $size)"/>
> </xsl:template>
>
> Michael Kay
>
>
>
> XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
>
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|