/ / select - xml、xslt、xpath全体の軸をデフォルトにする

select-xml、xslt、xpath全体の軸をデフォルトにする

私は軸を全体のデフォルトにしたい 選択する.

上記の文章を読んだら、私はそれがかなり不明であることを知っているので、ここではもっと長い説明があります:

私はこのコードを短くする方法を見つけました:

<xsl:variable name="v">
<xsl:choose>
<xsl:when test="self::name|self::history|self::area|self::title">qwerty</xsl:when>
</xsl:choose>
</xsl:variable>

私はその部分について話している: self :: name | self :: history | self :: area | self :: title それを次のように短縮する方法があります: 自己::(名前|歴史|地域|タイトル)

何か他の人が提案することができますか?

回答:

回答№1は0

もう1つのアプローチ:xsl:chooseを見るたびに、代わりにxsl:apply-templatesを使用できるかどうかを尋ねます。何故なの:

<xsl:template match="name|history|area|title" mode="zingo">qwerty</xsl:template>
<xsl:template match="*" mode="zingo"/>

<xsl:apply-templates select="self::*" mode="zingo"/>

回答№2の場合は0

問題の要素がスキーマ内の置換グループの一部である場合は、次のように記述することができます。 self::schema-element(e) ここで、eは置換基の先頭です。 これは、交換可能な要素の大きなファミリーを持つ非常に便利なテクニックです。 XSD 1.1では、要素は複数の置換グループに属することができるため、この目的のために特別に置換グループを導入することもできます。


回答№3の場合は-1
select="self::name/following-sibling::*"

可能です...