generate-id
xslt スタイルシートで使用したいと思います。ただし、この関数は 8 文字の長さの ID を生成します。
IDを2文字だけにする方法はありますか? もちろん、これにより可能な ID の数は制限されます (1296 の可能性) が、その制限を超える必要はありません。
ありがとう
generate-id
xslt スタイルシートで使用したいと思います。ただし、この関数は 8 文字の長さの ID を生成します。
IDを2文字だけにする方法はありますか? もちろん、これにより可能な ID の数は制限されます (1296 の可能性) が、その制限を超える必要はありません。
ありがとう
単一のドキュメント内のノードに対して ID を一意にするだけでよい場合は、次を使用できます。
<xsl:number count="*" level="any" from="/*" format="a"/>
XML 名で許可されているすべての Unicode 文字を使用したい場合、2 文字で 1296 をはるかに超える可能性があります。
残念ながら、XSLT プロセッサは、関数の ID を作成する方法を自由に決定できgenerate-id()
ます (つまり、使用しているプロセッサによっては、8 文字より多い場合も少ない場合もあります)。
generate-id()
そうは言っても、それが本当に重要な場合は、先行する兄弟ノードと祖先ノード ノード ( ) の数に基づいて独自に記述できるはずcount(ancestor::node()|preceding::node())
です...ルックアップ テーブルまたは任意の他のメカニズムであり、おそらくあまり効率的ではありませんが、うまくいくはずです...