使用XSLT检查列表项的编号连续性
列表编号连续性检测需求
检测规则
- 数字型列表:每个项的编号需为前一项数字n的
n+1加圆点(如1.之后必须是2.),需验证每个<item>的following-sibling::*[1]/self::item/term内容是否符合要求 - 字母型列表:
- 单字母编号:当前项为x)时,下一项必须是x的下一个字母加右括号(如b)之后必须是c))
- 多字母组合编号:当前项为xx)时,下一项必须是对应的连续字母组合加右括号(如aa)之后必须是bb))
- 仅检测并记录错误位置,禁止使用
xsl:number修改编号
错误示例
数字列表错误案例
<list> <item> <term>1.</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>3.</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>4.</term> <p>jhjhjh hjkjkjkj</p> </item> </list>
错误点:第2个
<item>编号应为2.,实际为3.,跳过了2.
单字母列表错误案例
<list> <item> <term>a)</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>b)</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>d)</term> <p>jhjhjh hjkjkjkj</p> </item> </list>
错误点:第3个
<item>编号应为c),实际为d),跳过了c)
多字母组合列表错误案例
<list> <item> <term>aa)</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>cc)</term> <p>jhjhjh hjkjkjkj</p> </item> <item> <term>dd)</term> <p>jhjhjh hjkjkjkj</p> </item> </list>
错误点:第2个
<item>编号应为bb),实际为cc),跳过了bb)
内容的提问来源于stack exchange,提问作者Wolfgang Schindler
相关产品推荐
相关产品推荐

