|
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 |