Thomas J.S.: xsl/xpath für komplexe suchanfragen mit und-verknüpfung?

Beitrag lesen

Hallo,

ich hab grad ein xsl-Problem vor mir, das anscheinend etwas schwieriger ist. Meinen bisherigen Ansatz muss ich wohl verwerfen oder zumindestens ändern. Ich habe auch den leichten Verdacht, das das was ich will evtl. garnicht geht...

Was ich bisher habe:
-xml datei mit bilder-daten im format

-html-javascript-gerüst mit form. es kann ein album ausgewählt werden und die vorhandenen tags können per checkbox angeklickt werden
Im Moment erzeugt das javascript ein string aus allen angeklickten tags.
Zb Haken bei birds und bei nature -> string="birds:nature:".
Dieser String wird dann als Parameter an das xsl übergeben, das Album auch.

Also verwendest du XMLHTTPRequest und dir ist klar, dass du nur ein Paramter per JavaScript an das XSL übergeben kannst. So weit gut.

-xsl-Datei, die Bilder des gewählten Albums ausgibt. Zusätzlich soll nach tags gefiltert werden.

Mein Problem:

  1. AND-Suche

Also versuche ich mich an 3) :
Mir ist inzwischen klar, dass das mit dem string in der form "tag1:tag2:..." nix wird. Da müsste man den xsl:param per seperator ":" in Teilstrings zerlegen, per Schleife alle Teilstrings einzeln bearbeiten und zusehen, ob alle bei dem gerade  eingelesenen Bild definiert sind. Das geht wohl nicht in xsl.

Das würde schon gehen.

Eigentlich habe ich mir vorgestellt, dass mindestens wählbar ist, ob die angeklickten tags AND oder OR verknüpft benutzt werden. (Evtl. noch ein NOT irgendwie reingebastelt)

  1. AND/OR umschaltbar, NOT zusätzlich
  2. AND/OR umschaltbar

Das würde nur davon abhängen wie du den String, der die Paramterwerte enthält, zusammenstellen kannst z.B. nur als Idee
+tag1:+tag2:+tag3 = tag1 AND tag3 AND tag3
+tag1:?tag2:+tag3 = tag1 OR tag2 AND tag3
+tag1:-tag2:?tag3 = tag1 OR tag3 NOT tag2

Das dann auseinanderzunehmen wäre schon etwas komplizierter, aber wirklich  nicht unmöglich.

Hat jemand eine Idee? Evtl irgendwie mit Javascript einen xml-Baum mit den angeklickten Tags generieren? Geht das was ich will überhaupt?

Ob wirklich möglich ist, kann ich dir jetzt so aus dem Stehgreif nicht sagen, jedoch halte ich es nicht für unmöglich, wenngleich für komplizierter und aufwändiger.

Wenn du meinst, hier dein XSL und ein Bsp. XML posten zu können, wäre das hilfreich um damit für Test arbeiten zu können.

Grüße
Thomas