XSLT: 递归获取主分类名称列表(补充)

分类:XML、XSLT 发表时间:2012年04月6日

本文是工作中关于XSLT和XML一个小实例的分享

需求:XML抛出一些类主分类和子分类,在不同主分类中子分类有重复出现,每个主分类和子分类以一个记录集的形式输出。现要求筛选出主分类。

主要思路:通过将主分类循环组成一个字符串,再递归地对字符串进行截取2个选项进行比较,若截取到的两个选项不相同,则表示选项不重复,反之则递归循环。直到总的字符串被截取完,再也截取不到选项时就结束递归。具体思路可见代码中注释部分。

2012.04.23:最新找到了XSLT中的xsl:key和key()方法,可以简单地实现筛选结果。

XSLT:通过间隔符获取英文名的First Name和Last Name

分类:XML、XSLT 发表时间:2012年01月6日

本文是工作中关于XSLT和XML一个小实例的分享。

需求:XML抛出数据字段username,如Hiro xxx Zhang,需要通过XSLT获得First Name和Last Name,并填入到对应Form表单的字段中。

就XSLT来说,没有像JS中indexOf和lastIndexOf方法,所以不能够通过定位“空格”位置的方法去实现。唯一的方法只能通过“空格”反复去截取,知道剩下的字符串中没有空格。

First Name通过截取第一个“空格”前的所有字符串:substring-before($name, ‘ ‘)。

Lsat Name则通过递归的方法,方法截取“空格”后面的字符串,直到最后只剩下一个不含空格的字符串即可:xsl:template name=”lastName”。