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?

then I moan at you for changing the spec after I'd written the code:-)

but basically apply-templates assumes that if an eleemnt isn't there you
want to do nothing. If on the other hand you know the element sequence
and want to do something even if the element isn't there then instead of
apply-templates use

<xsl:value-of select="child1"/>
<xsl:value-of select="substring($child1,1+string-length(child1))"/>
<xsl:value-of select="child2"/>
<xsl:value-of select="substring($child2,1+string-length(child2))"/>
<xsl:value-of select="child3"/>
<xsl:value-of select="substring($child3,1+string-length(child3))"/>
...

Now, if the element <child2> is not there, line 3 above produces nothing
and line 4 above produces all of the (blank) string $child2, starting at
position 1 (ie all of your padding string for that field).

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


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