XPath: Dopasuj całe słowo (użycie funkcji dopasowań z flagą niewrażliwą na wielkość liter)

Używając XPath, chciałbym „Dopasować całe słowo” (opcja dla użytkownika, tak jak w wyszukiwaniu VS).

Wygląda to na funkcjecontains imatches działają podobnie, chociaż mecze umożliwiają takie flagii dla niewrażliwości na wielkość liter.

Innymi słowy, otrzymuję te same wyniki z tymi dwoma zapytaniami XPath:

<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"/>

Ale chciałbym użyćmatches&nbsp;aby zwrócić wyniki pasujące tylko do całego słowa „Kot”:

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

Jak mogę dopasować zapytanie dopasowania, aby pasowało do całego słowa?

EDYCJA: Zapomniałem wspomnieć, że muszę nadal używać funkcji dopasowań, ponieważ potrzebuję flagi niewrażliwości na wielkość liter.