Subject: Re: [xsl] Output fixed length records using mod operators to group results From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 11 May 2007 00:11:24 +0100 |
$ saxon po2.xml po3.xsl SHIPMENT 2 ; PO P000001 P000002 ; PO P000003 P000004 ; CASE 1 2 3 5 ; CASE 6 7 8 10 ; CASE 11 12 ; <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:variable name="field" select= "' '"/> <xsl:template match="asn"> <xsl:text> SHIPMENT </xsl:text> <xsl:value-of select="header/shipper/@value"/> <xsl:value-of select="$field"/> <xsl:value-of select="substring($field, 1+string-length(header/shipper/@value))"/> <xsl:for-each select="detail/line_item"> <xsl:if test="position() mod 2 = 1"> <xsl:value-of select="$field"/> <xsl:value-of select="$field"/> <xsl:text>; PO </xsl:text> </xsl:if> <xsl:value-of select="@po"/> <xsl:value-of select="substring($field,1+string-length(@po))"/> </xsl:for-each> <xsl:value-of select="$field"/> <xsl:value-of select="$field"/> <xsl:for-each select="detail//container"> <xsl:if test="position() mod 4 = 1">; CASE </xsl:if> <xsl:value-of select="@serial_no"/> <xsl:value-of select="substring($field,1+string-length(@serial_no))"/> <xsl:if test="position()=last()"> <xsl:for-each select="(//*)[position()<= ((4000 -last() )mod 4)]"> <xsl:value-of select="$field"/> </xsl:for-each> </xsl:if> </xsl:for-each> <xsl:text>; </xsl:text> </xsl:template> </xsl:stylesheet> ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Output fixed length recor, Chris | Thread | Re: [xsl] Output fixed length recor, Chris |
Re: [xsl] "re-calling" a template f, bryan rasmussen | Date | RE: [xsl] "re-calling" a template f, Michael Kay |
Month |