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.