Kann ich 'und' operator in xsl for-each verwenden?

8

Kann ich einfach Folgendes in xsl ausführen?

%Vor%

F: Wenn ich select="" für for-each verwende, ändert es den Bereich meines Selektors für den Code, den ich für jedes verwende?

    
Zoheir 08.02.2010, 01:21
quelle

2 Antworten

7

Sie können 'und' für jede Schleife verwenden, aber nicht so, wie Sie es erwähnt haben (Sie wissen nicht genau, was genau Sie erreichen möchten)

Ich gehe davon aus, dass Ihre Anforderungen etwas wie, entweder

1) Sie möchten Trip durchlaufen, deren beide untergeordneten Entitäten ( instance und result ) nicht null sind, In diesem Fall müssen Sie so schreiben ..

%Vor%

Wenn eines der Beispiele und des Ergebnisses null ist, dann trägt Ihre Schleife nicht das Element trip ein.


2) Sie möchten alle instance und result children im übergeordneten trip suchen, deren Werte nicht null sind. In diesem Fall brauchen Sie nicht and ..

%Vor%

Das wird funktionieren.

Beantworte jetzt deinen Q ..
Mit FOR-EACH-Schleife können Sie den Umfang des Selektors festlegen. Beispiel für ein Beispiel: Im Fall (1) war der Umfang des Selektors " root_name//trip " und im Fall (2) war der Umfang des Selektors " root_name//trip/instance " auch " root_name//trip/result " ..

Ich hoffe, ich habe Ihre Frage richtig verstanden und sie als verständlich beantwortet.

    
InfantPro'Aravind' 08.02.2010, 08:31
quelle
6

Nein, Sie können and nicht im Attribut select verwenden.

Sie möchten den Operator union verwenden: | , der sich wie ein und verhält und wie ein oder aussieht, je nachdem, wie Sie denken darüber.

Es wird Ihnen eine eindeutige Liste beider Knotengruppen geben und sie in der Dokumentenreihenfolge zurückgeben, in der sie gefunden werden (nicht alle instance und dann alle result -Elemente).

%Vor%

Innerhalb von for-each wechselt der Kontext während jeder Iteration zwischen den einzelnen ausgewählten Knoten. Sie können auf den aktuellen Knoten mit . oder current() zugreifen.

    
Mads Hansen 08.02.2010 02:07
quelle

Tags und Links