0
私は、与えられた値が値のリストに含まれているかどうかをテストするXSLT変換の例を持っています。構文は次のとおりです。(set)構文のXSLT値はXSLT標準の一部ですか?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
<xsl:template match="field">
<FIELD>
<xsl:choose>
<xsl:when test="current() = ('v1', 'val1')">
YES
</xsl:when>
<xsl:when test="current() = ('v2', 'val2')">
NO
</xsl:when>
<xsl:otherwise>
UNKNOWN
</xsl:otherwise>
</xsl:choose>
</FIELD>
</xsl:template>
</xsl:stylesheet>
テストXML:
<?xml version="1.0" encoding="iso-8859-1"?>
<doc>
<field>v1</field>
<field>val2</field>
<field>v3</field>
</doc>
オンラインXSLTテストツールが正しく処理されますが、例えば、IntelliJのは、叫んさ:
を[エラー: 'current()=(' v1 '、' val1 ')'の構文エラー '
フィンに問題があります標準的なXSLTチュートリアルやStackOverflowなどで、(xsltの設定構文)、(xsltの値)などのフレーズを使用して、インターネット上のこの特定の構文の例を示します。
構文は正確で標準に準拠しているか、半公式の拡張?
ありがとうございました。 IntelliJがXSLTバージョン1.0を使用しているようです。それにもかかわらず、私の構文が2.0の一部である場合、それを使っている例を見つけるのがなぜ難しいのですか? –
@ 9ilsdx9rvj0lo例題はhttps://www.w3.org/TR/xpath20/#id-general-comparisonsにあります。または、「配列比較」を検索してください。ここで私は非常に迅速に見つけたものがあります:http://stackoverflow.com/a/6357859/3016153 –
キーは私の検索で使用していないフレーズ 'シーケンス比較'です、私の質問は単に重複しているようです。 –