1

無数のノードで非常に複雑な ID 名のマトリックスを使用する xml があります。例: 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 に答える