我正在寻找使用 XSLT 修复一些表。我需要使用Colspan
属性,但我从使用namest
和转换的代码nameend
。
例子:
<entry namest="col1" nameend="col3">
我需要把它变成<td colspan="3">
. 我考虑过设置变量,然后用substring($var,4,1)
它来获取 col3/col1 末尾的数字,然后通过从 nameend 的数字中减去 namest 的数字,然后加一个,但它没有用。
我正在寻找使用 XSLT 修复一些表。我需要使用Colspan
属性,但我从使用namest
和转换的代码nameend
。
例子:
<entry namest="col1" nameend="col3">
我需要把它变成<td colspan="3">
. 我考虑过设置变量,然后用substring($var,4,1)
它来获取 col3/col1 末尾的数字,然后通过从 nameend 的数字中减去 namest 的数字,然后加一个,但它没有用。
如果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