1

我正在寻找使用 XSLT 修复一些表。我需要使用Colspan属性,但我从使用namest和转换的代码nameend

例子:

<entry namest="col1" nameend="col3"> 

我需要把它变成<td colspan="3">. 我考虑过设置变量,然后用substring($var,4,1)它来获取 col3/col1 末尾的数字,然后通过从 nameend 的数字中减去 namest 的数字,然后加一个,但它没有用。

4

1 回答 1

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
于 2013-03-26T18:58:07.280 回答