0

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>
4

1 に答える 1