您的输入有错误。看起来你在“tbl”中有一个字母 l,你的意思是放一个数字 1,如“tb1”。
无论如何,这就是你如何做到的......
如果您的输入文档是...
<comp>
<link id="#c1-tbl-0001"/>
</comp>
...然后应用样式表...
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/comp">
<comp>
<link newid="#c1-tbl-0001"/>
<tableno><xsl:value-of select="concat( substring(link/@id,7,1), '.')" />
<xsl:number value="substring(link/@id,9)" /></tableno>
</comp>
</xsl:template>
</xsl:stylesheet>
...将产生...
<?xml version="1.0" encoding="utf-8"?>
<comp>
<link newid="#c1-tbl-0001" />
<tableno>1.1</tableno>
</comp>
替代模板内容可能是...
<comp>
<link newid="#c1-tbl-0001"/>
<tableno><xsl:value-of select="
concat( substring(link/@id,7,1), '.', number( substring(link/@id,9))" />
</tableno>
</comp>
使用更好,因为您可以很好地控制格式。