2.Iが含まれてみました((翻訳します。 "ABCEDF ..."、 "ABCDEF ...")、 "ケース・insentive文字列")]」 はあまりにも失敗しました。
これを記述する適切な方法はある:
$vUpper
と
$vLower
が(で置換されていなければならない)文字列として定義される
/root/book[contains(translate(., $vUpper, $vLower),
translate($vCaseInsentiveString, $vUpper, $vLower)
)
]
:
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
と
'abcdefghijklmnopqrstuvwxyz'
および$vCaseInsentiveString
は、特定の大文字と小文字を区別しない文字列として定義されます(置き換えられる必要があります)。例えば
、次のXML文書与えられる:(対応する文字列によって変数を置換)以下のXPath式
<authors>
<author>
<name>Victor Hugo & Co.</name>
<nationality>French</nationality>
</author>
<author period="classical" category="children">
<name>J.K.Rollings</name>
<nationality>British</nationality>
</author>
<author period="classical">
<name>Sophocles</name>
<nationality>Greek</nationality>
</author>
<author>
<name>Leo Tolstoy</name>
<nationality>Russian</nationality>
</author>
<author>
<name>Alexander Pushkin</name>
<nationality>Russian</nationality>
</author>
<author period="classical">
<name>Plato</name>
<nationality>Greek</nationality>
</author>
</authors>
を:
/*/author/name
[contains(translate(., $vUpper, $vLower),
translate('lEo', $vUpper, $vLower)
)
]
この要素を選択:
<name>Leo Tolstoy</name>
説明:関数の両方引数は小文字に変換され、その後、比較が行われます。
良い質問、+1。完全な解決、説明、および例については私の答えを見てください。 :)古典的な方法のために –