XPath: hacer coincidir la palabra completa (usar la función de coincidencias con un indicador que no distingue entre mayúsculas y minúsculas)

Usando XPath, me gustaría "Hacer coincidir toda la palabra" (opción para el usuario, como en la búsqueda VS).

Parece como si las funcionescontains ymatches funciona de manera similar, aunque los partidos permiten banderas comoi por insensibilidad a los casos.

En otras palabras, estoy obteniendo los mismos resultados con estas dos 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>

Pero me gustaría usarmatches para devolver resultados que coincidan con la palabra entera "Gato" solamente:

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

¿Cómo puedo ajustar la consulta de coincidencias para que coincida con toda la palabra?

EDITAR: Olvidé mencionar que todavía debo usar la función de coincidencias porque necesito el indicador de insensibilidad de mayúsculas.

Respuestas a la pregunta(5)

Su respuesta a la pregunta