Ich habe viele XQuery-Position gelesen, aber alle Beispiele sind über >
, <
oder =
. Aber Sie können auch x - y
verwenden und ich bin verwirrt darüber, was inklusive ist und was nicht.XQuery-Position verstehen(): inklusive oder exklusive Endposition
[position() = $startPosition to $endPosition]
Sagen wir start $ 1
ist (wie ich diese Position nicht startet mit 0, aber mit 1 gelesen haben), was den ersten Treffer zurückkehren? $ endPosition auch auf 1
oder 2
?
Mit anderen Worten, bei einer erwarteten Rendite von n
, was wäre die Formel für beide Variablen? Um die Dinge klarer zu machen, können wir eine inkrementierende Schleife hinzufügen ($iteration
). Grundsätzlich erzeugen wir eine Suche, die alle nachfolgenden Treffer mit Position findet. (Als ein Beispiel.)
$endPosition = 1 + ($iteration * n);
$startPosition = $endPosition - n;
Das ist, was ich gefunden habe. Dies wird in folgendem Ergebnis führen, für $iteration
von 1 und Inkrementieren beginnt und n
von 3.
1:
$endPosition = 1 + (1 * 3); // 4
$startPosition = 4 - 3; // 1
2:
$endPosition = 1 + (2 * 3); // 7
$startPosition = 7 - 3; // 4
3:
$endPosition = 1 + (3 * 3); // 10
$startPosition = 10 - 3; // 7
Aber ist das richtig? Ich bin nicht sicher. Ist die $endPosition
enthalten? Wenn nicht, ist mein Code korrekt, wenn nicht - ist es nicht, und dann interessiert mich die richtige Formel.
ich nicht bekommen, was Sie nach an alle. Du sprichst von Unterfolgen, dann machst du einige Berechnungen, die nicht wirklich verwandt erscheinen. Könnten Sie ein Beispiel hinzufügen, das Ihre Absicht erklärt? –