我希望使用XSLT修复一些表。我需要使用Colspan
属性,但我要转换的代码使用namest
和nameend
。
示例:
<entry namest="col1" nameend="col3">
我需要将其转换为<td colspan="3">
。我考虑设置变量,然后使用substring($var,4,1)
来获取col3 / col1末尾的数字,然后通过从nameend中的数字中减去namest中的数字然后添加一个但是它没有数学数学不行。
答案 0 :(得分:1)
如果entry
是上下文节点,则以下表达式返回“col”值的差值加上应该是您要查找的colspan值的值:
substring(@nameend, 4) - substring(@namest, 4) + 1
substring(@attr, 4)
从第四个字符开始直到结束返回@attr
的子字符串。子字符串由减号运算符隐式转换为数字。
使用libxslt的xmllint
:
$ echo '<entry namest="col1" nameend="col3"/>' >so.xml
$ xmllint --shell so.xml
/ > cd entry
entry > xpath substring(@nameend, 4) - substring(@namest, 4) + 1
Object is a number : 3