【发布时间】:2011-09-06 02:04:47
【问题描述】:
我是 XSL 的新手,正在从头开始解决问题。
我有一个包含以下结构的源 XML 文件:-
<root>
<Header>
</Header>
<DetailRecord>
<CustomerNumber>1</CustomerNumber>
<DetailSubRecord>
<Address>London</Address>
</DetailSubRecord>
<DetailSubRecord>
<Address>Hull</Address>
</DetailSubRecord>
</DetailRecord>
<DetailRecord>
<CustomerNumber>2</CustomerNumber>
<DetailSubRecord>
<Address>Birmingham</Address>
</DetailSubRecord>
<DetailSubRecord>
<Address>Manchester</Address>
</DetailSubRecord>
</DetailRecord>
<Footer>
</Footer>
</root>
其中有多个<DetailRecord>s,每个<DetailSubRecord>s 有多个。
我已经设法组合了一个 XSL,它将一组嵌套的多个 DetailRecord 输出到一个平面文件,但我无法弄清楚如何在 XSL 中引用第二个嵌套级别的地址记录。 .
到目前为止,这是我的 XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:output method="text"/>
<xsl:variable name="spaces" select="' '"/>
<xsl:variable name="newline">
<xsl:text> </xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:value-of select="root/Header/HeaderField"/>
<xsl:copy-of select="$newline"/>
<xsl:for-each select="root/DetailRecord">
<xsl:value-of select="CustomerNumber"/>
<xsl:copy-of select="$newline"/>
</xsl:for-each>
Trailer - recordCount - <xsl:value-of select="count(root/DetailRecord)"/>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
到目前为止,这是我的 XSL...
-
预告片 - recordCount -xsl:样式表> -
你能发布一个你的目标输出的例子吗?