This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Converting XML to Fixed Length Text Data


Ok David, got it, works like a charm, but what happens if one of the 
elements is optional and not passed on the source xml file? Wouldn't this 
throw off the position of the fields which follow?  ( e.g. if child2 was not 
on the source xml file, what impact would this have on the output? Wouldn't 
the start positiosn of the fields that follow be affected? )

Garvin


>From: David Carlisle <davidc@nag.co.uk>
>Reply-To: xsl-list@lists.mulberrytech.com
>To: xsl-list@lists.mulberrytech.com
>Subject: Re: [xsl] Converting XML to Fixed Length Text Data
>Date: Mon, 25 Mar 2002 21:28:28 GMT
>
>   David thanks for the response, but I am not quite clear on the solution.
>   1) How does the attribute "att1" vs the element "child1" know where to
>   position themselves on the output file? Shouldn't positional info be
>   declared somewhere?
>it is "declared" by the length of the string variable declared for each
>field. If $child2 starts off as a string of 20 spaces and
>you do
><xsl:value-of select="."/>
><xsl:value-of select="substring($child2,string-length(.))"/>
>in the template for child2, then you will get the character data
>of the element followed by enough spaces to pad the total to 20
>characters (as long as the element had less than 20 characters)
>
>
>    2) What about the element <xsl:text>, is this not required?
>xsl:text is in favt never required, but here you don't need it as you
>are not adding any literal text, only some spaces, which you can enter
>with xsl:value-of.
>
>So apart from the template I showed, you just need the settings of the
>original strings to give the widths of each field, plus the template for
>teh parent element needs to give a line break after each row, which you
>can do with xsl:text (<xsl:text>
</xsl:text>) or value-of
>(<xsl:value-of select="'
'"/>)
>
>David
>
>_____________________________________________________________________
>This message has been checked for all known viruses by Star Internet
>delivered through the MessageLabs Virus Scanning Service. For further
>information visit http://www.star.net.uk/stats.asp or alternatively call
>Star Internet for details on the Virus Scanning Service.
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]