我有一个xml,它在无数个节点上使用非常复杂的id名称矩阵。 例如: 060a2b34.01010101.01010f00.13000000.060e2b34.7f7f2a80.519b69a4.8e8600fc
不幸的是,我必须在我的xsl中使用部分名称匹配来有效地实现匹配。
我希望在创建一个包含完整示例xsl代码和输入以及预期XML示例的问题之前,有人可以帮我解决下面的问题。
下面使用完整的字符串:
<xsl:when test="name(.)='personA'"><xsl:value-of select="../../../../../../../../../*[self::CompositionPackage]
[PackageID=current()
/personA_ID]
/PackageName"/></xsl:when>
在这里,我试图仅使用第3行失败的前53个字符来使用子字符串
<xsl:when test="name(.)='personA'"><xsl:value-of select="../../../../../../../../../*[self::CompositionPackage]
[substring(PackageID,1,53)=current()
/substring(personA_ID,1,53)]
/PackageName"/>
</xsl:when>
任何帮助将不胜感激。 谢谢 阿德里安
答案 0 :(得分:2)
我认为不是substring(PackageID,1,53)=current()/substring(personA_ID,1,53)
而是substring(PackageID,1,53) = substring(current()/personA_ID, 1, 53)
。