まだ試していません。
p:variable の値をパイプラインの他の場所、つまり、あるステップの開始時に有効な宣言の後に更新できますか? そうでない場合、なぜですか?また、本当に行う必要がある場合、または少なくともシミュレートする必要がある場合、これを行う最善の方法は何ですか。
私はあなたの質問をxproc-devメーリングリストに転送しました。どうやら、推奨事項はそれ自体と矛盾しているようです。セクション5.7(http://www.w3.org/TR/xproc/#variables-options-parameters)は、特定の条件でシャドウイングを許可する必要があることを明確に示しています。ただし、セクション3.2(http://www.w3.org/TR/xproc/#scoping)では、スコープで同じ変数名を再利用することはエラーであると述べています。コンセンサスは、これは原則として機能するはずであるというものでした。
<p:variable name="myvar" select="1"/>
<p:group>
<p:variable name="myvar" select="2"/>
ただし、XMLCalabash(0.9.40)はこれを窒息させます。Calumetや他のプロセッサを試してみてください。