XPath: Corresponde a palavra inteira (usando a função de correspondências com sinalizador insensível a maiúsculas e minúsculas)

Usando o XPath, eu gostaria de "Match whole word" (opção para usuário, assim como na pesquisa VS).

Parece que as funçõescontains ematches trabalhar da mesma forma embora fósforos permita bandeiras comoi para insensibilidade de caso.

Em outras palavras, estou obtendo os mesmos resultados com essas duas consultas XPath:

<code><pets>
    <dog name="Rupert" color="grey"/>
    <dog name="Ralph" color="brown"/>
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>
    <cat name="Fluffy" color="black"/>
</pets>

Matches XPath: //cat[descendant-or-self::*[@*[matches(.,'Cat')]]]
    returns:
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>


Contains XPath: //cat[descendant-or-self::*[@*[contains(.,'Cat')]]]
    returns:
    <cat name="Marvin the Cat" color="white"/>
    <cat name="Garfield the Cat" color="orange"/>
    <cat name="Cat" color="grey"/>
</code>

Mas eu gostaria de usarmatches para retornar resultados que correspondam apenas à palavra inteira "Cat":

<code><cat name="Cat" color="grey"/>
</code>

Como posso ajustar a consulta de correspondências para que ela corresponda à palavra inteira?

EDIT: eu esqueci de mencionar que eu ainda preciso usar a função de correspondências porque eu preciso do sinalizador de insensibilidade de maiúsculas e minúsculas.

questionAnswers(5)

yourAnswerToTheQuestion