/ / Wie zu verwenden oder in Xquery - Xml, Xquery

Wie zu verwenden oder in Xquery - Xml, Xquery

Wie kann ich verwenden oder in Query?

Ich möchte zurückkehren, wenn name = "Michael" oder Alter = 21. das ist was ich habe

$d[contains((name,"Michael") or (age,"21"))]

Antworten:

2 für die Antwort № 1

Wenn Sie überprüfen möchten, ob sie = =

 $d[name = "Michael" or age = "21"]

oder wenn du tatsächlich verwenden möchtest enthält:

 $d[contains(name,"Michael") or contains(age,"21")]

Wenn du schreibst contains((,) or (,) ) Sie benutzen scheinbar or auf einer syntaktischen Ebene, die dem xquery-Parser zwei verschiedene gibt. Dies ist in Xquery oder den meisten anderen Programmiersprachen nicht möglich, da deren Funktionen und Operanden auf der Werte der Ausdrücke, nicht auf ihren Syntax. (name,"Michael") hat jedoch keinen Wert (nun, es hat den Wert einer Zwei-Element-Sequenz, aber das ist nicht der Wert, an dem Sie interessiert sind) contains(name,"Michael") hat den tatsächlichen Wert des Tests, wenn name enthält "Michael". Also das oder muss zwischen zwei Anrufen liegen contains.