質問: 以下のような xsl の場合,最初に見つかった要素のみを処理したい場合に XPath はどのような式になりますでしょうか? 例えば xsl:copy-of select="$v//p/@*" とすると,配下すべての p 要素の属性がコピーされてしまいます。最初の要素のみを処理したいのです。 ``` ``` 期待する結果 ``` ``` 宜しくお願い致します。
回答: `$v/descendant::p[1]/@*`。 `$v//p[1]` だと意味が異なるので、`$v/descendant::p[1]` にします。 例示だと `$v` は document node ですが、もし `$v` が `as="element()"` になることがあるのなら、`$v/descendant-or-self::p[1]` がお求めのものになるかもしれません。