您可以为此使用子字符串:
<xsl:value-of select="substring($Orders, 1, 6)" />
上面会得到日期。
现在您必须获得所有订单,问题是使用子字符串您必须手动执行此操作,如下所示:
<xsl:value-of select="substring($Orders, 7, 5)" /> <!-- Order number 1 -->
<xsl:value-of select="substring($Orders, 12, 3)" /> <!-- Order amount 1 -->
<xsl:value-of select="substring($Orders, 15, 5)" /> <!-- Order number 2 -->
<xsl:value-of select="substring($Orders, 20, 3)" /> <!-- Order amount 2 -->
<xsl:value-of select="substring($Orders, 23, 5)" /> <!-- Order number 3 -->
<xsl:value-of select="substring($Orders, 28, 3)" /> <!-- Order amount 3 -->
<xsl:value-of select="substring($Orders, 31, 5)" /> <!-- Order number 4 -->
<xsl:value-of select="substring($Orders, 36, 3)" /> <!-- Order amount 4 -->
<xsl:value-of select="substring($Orders, 39, 5)" /> <!-- Order number 5 -->
<xsl:value-of select="substring($Orders, 44, 3)" /> <!-- Order amount 5 -->
其次,您可以在 XSLT 中执行以下操作:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mypref="micorsoft.com/BizTalk/xslt">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
<xsl:template match="mypref:data">
<root>
<xsl:apply-templates select="@*|node()"/>
</root>
</xsl:template>
<xsl:template match="mypref:Orders">
<date>
<xsl:value-of select="substring(., 1, 6)"/>
</date>
<OrderList>
<xsl:call-template name="myOrderList">
<xsl:with-param name="str" select="substring(., 7)" />
</xsl:call-template>
</OrderList>
</xsl:template>
<xsl:template name="myOrderList">
<xsl:param name="str"/>
<xsl:param name="line-length" select="9"/>
<order>
<OrderNumber><xsl:value-of select="substring($str, 1, 5)" /></OrderNumber>
<OrderAmount><xsl:value-of select="substring($str, 6, 3)" /></OrderAmount>
</order>
<xsl:choose>
<xsl:when test="string-length($str)>$line-length">
<xsl:call-template name="myOrderList">
<xsl:with-param name="str" select="substring($str,$line-length)"/>
<xsl:with-param name="line-length" select="$line-length"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>