XSL を記述したい従来の wddx ファイルがあります (これを頻繁に行う必要がある場合があります)。これにより、特定の属性を持つ子ノードを持つ「最上位」ノードの数を取得できます。 turn には、特定の部分文字列で始まるテキスト値を持つ子ノードがあります。たとえば、この構文では、82 個のノードのカウントが得られます (技術的には親ではありませんが、各親には「タスク」という名前属性を持つ「var」ノードが 1 つしかありません)...
//wddxPacket/data/array/struct/var/struct/var[@name='task']/string/starts-with(text(),"ST_")
...しかし、私が探している実際のノードの数は、上記の条件に true を返すすべてのノードです...したがって、上記の構文の count() は 82 になります...それは 6 である必要があります。これらの結果のうち 6 つが真です。
これは、ノードセットと、私が探している条件のみを中心に展開するノードセットの作成に関係していると思います。私は自分自身を XSL の完全な初心者とは考えていません...へー...しかし、そう思う人もいるでしょう。とにかく..私は探し回っていますが、正しいものを探しているかどうかわからないので、いくつかのガイダンスを使用できます.
これは XML (wddx) の抜粋です...
<wddxPacket version="1.0">
<header/>
<data>
<array length="1">
<struct type="mydata">
<var name="serverscheduletask#$%^DEFAULT#$%^SA-QW_71">
<struct type="schedule-data">
<var name="task">
<string>SA-QW_71</string>
</var>
</struct>
</var>
<var name="serverscheduletask#$%^DEFAULT#$%^ST_FRED">
<struct type="schedule-data">
<var name="task">
<string>ST_FRED</string>
</var>
</struct>
</var>
<var name="serverscheduletask#$%^DEFAULT#$%^SA-QW_16">
<struct type="schedule-data">
<var name="task">
<string>SA-QW_16</string>
</var>
</struct>
</var>
<var name="serverscheduletask#$%^DEFAULT#$%^ST_TEST">
<struct type="schedule-data">
<var name="task">
<string>ST_TEST</string>
</var>
</struct>
</var>
<var name="serverscheduletask#$%^DEFAULT#$%^SA-QW_71">
<struct type="coldfusion.scheduling.ScheduleTagData">
<var name="task">
<string>SA-QW_71</string>
</var>
</struct>
</var>
</struct>
</array>
</data>
</wddxPacket>