XPath: Ganzes Wort abgleichen

Unter Verwendung von XPath möchte ich "Ganzes Wort abgleichen" (Option für Benutzer, genau wie bei der VS-Suche).

Es scheint, als ob die Funktionencontains undmatches funktionieren ähnlich, obwohl Übereinstimmungen Flags wie zulasseni für Groß- / Kleinschreibung.

Mit anderen Worten, ich erhalte mit diesen beiden XPath-Abfragen die gleichen Ergebnisse:

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

Aber ich würde gerne nutzenmatches um nur Ergebnisse zu erhalten, die mit dem ganzen Wort "Cat" übereinstimmen:

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

Wie kann ich die Übereinstimmungsabfrage so anpassen, dass sie mit dem ganzen Wort übereinstimmt?

BEARBEITEN: Ich habe vergessen zu erwähnen, dass ich die Übereinstimmungsfunktion weiterhin verwenden muss, da ich das Flag für die Unterscheidung zwischen Groß- und Kleinschreibung benötige.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage