1

我有一个 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>

在这里,我尝试使用仅使用前 53 个字符的子字符串,但在第 3 行失败

<xsl:when test="name(.)='personA'"><xsl:value-of select="../../../../../../../../../*[self::CompositionPackage]
                                                            [substring(PackageID,1,53)=current()
                                                            /substring(personA_ID,1,53)]
                                                            /PackageName"/>
                                                            </xsl:when>

任何帮助,将不胜感激。谢谢阿德里安

4

1 回答 1

2

我想而不是substring(PackageID,1,53)=current()/substring(personA_ID,1,53)你想要的substring(PackageID,1,53) = substring(current()/personA_ID, 1, 53)

于 2013-08-03T11:10:24.990 回答