私はXSLTについて非常に複雑な要件を持っています。私はその値の部分文字列に等しい値でフィールドを数える必要があります。私はそれらを数えることができましたが、問題は文脈です。xsltは部分文字列と異なる文脈を数えます
<root>
<Manager>TC4:12345</Manager>
<Staff>
<employee>TC3:22222</employee>
<employee>TC3:11111</employee>
<employee>TC3:33333</employee>
</Staff>
</root>
<root>
<Manager>TC4:67890</Manager>
<Staff>
<employee>TC3:44444</employee>
<employee>TC3:55555</employee>
<employee>TC3:66666</employee>
</Staff>
</root>
出力はこのようなものでなければなりません:
<Manager>
<Seniors>
<Count>3</Count>
</Seniors>
</Manager>
<Manager>
<Seniors>
<Count>3</Count>
</Seniors>
</Manager>
TC3の役割を持つ従業員の数その後、TC3の役割を持つ従業員の数があったが、第一管理者のためにカウントされた以下のサンプルを参照してください。 2番目のマネージャーにもカウントされます。私はこれをやってみましたが、私はあなたの中、テンプレートmatch="root"
を書き、また第二のコンテキストではなく、3と3
を第一コンテキストで6,6をこれが私のコード
<xsl:value-of select="count(//root/Staff/employee[substring(.,1,3) = 'TC3'])">
これはbinarymax !!!ありがとう!!!それは/スタッフがすることができます前に単純なドット何か驚くべきです! –