如何在XSLT中处理数字以外的项目符号样式。我想绘制一个表(XAML flowdocument)并将行放在下面。分层缩进和特殊标记样式。不使用(XAML)FlowDocument。
1. Some text.........................
a. Some text.....................
[1]. Some text................
a. Some text again........
[1]. Som text again....
Xml源代码如下。
<Root>
...
<Step>
<Text>First Level</Text>
</Step>
<Step>
<Text>First Level</Text>
<Step>
<Text>Second Level</Text>
<Step>
<Text>Third Level</Text>
<Step>
<Text>Fourth Level</Text>
</Step>
</Step>
</Step>
</Step>
...
</Root>
答案 0 :(得分:0)
查看<xsl:number.../>
指令。它有参数来格式化不同风格的数字,包括字母和罗马数字。它在XSLT1和XSLT2中均可用。
答案 1 :(得分:0)
只是为了好玩,这个样式表:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:inc="include">
<xsl:output method="text"/>
<xsl:template match="text()"/>
<xsl:template match="Step">
<xsl:variable name="level" select="count(ancestor::Step)"/>
<xsl:value-of select="substring('				',1,$level)"/>
<xsl:number format="{concat(
substring('[',
1,
$level and $level mod 2 = 0),
substring('1a',
$level mod 2 + 1,
1),
substring(']',
1,
$level and $level mod 2 = 0))}. "/>
<xsl:value-of select="concat(Text,'
')"/>
<xsl:apply-templates select="Step"/>
</xsl:template>
</xsl:stylesheet>
输出:
1. First Level
2. First Level
a. Second Level
[1]. Third Level
a. Fourth Level