Elya: Parameterübergabe zwischen zwei Stylesheets

Hallo zusammen,

nach langer Zeit wieder mal eine Frage, wo ich nicht recht weiterkomme.

In einer gekapselten, proprietären Umgebung einer großen kommerziellen Kollaborations-Plattform ;-) bastele ich mit gelieferten Abfrageergebnissen in XSLT und XPath sog. Data views zusammen.

Nun bekomme ich aus einer Abfrage ein gekapseltes Ergebnis, das in einem Stylesheet ausgegeben wird, und aus anderen Abfragen bekomme ich weitere Ergebnisse, die ich nach dem Wert in Abfrage 1 filtern müßte. Alles auf einer Seite (aspx, aber ohne die Möglichkeiten zu coden).

Bisher habe ich einiges mit jquery lösen können, aber mit zunehmender Komplexität (und Datenmengen!) wird's unrund und gefällt mir immer weniger. Wie kriege ich den Wert aus Stylesheet 1 in Stylesheet 2 gerettet?

Web-Suche nach "passing parameters between stylesheets" haben mich nicht wirklich weitergebracht. Alles in ein Stylesheet packen ist keine Option, weil meine zwei Abfrageergebnisse völlig getrennt voneinander liegen.

Gibt's dazu einen Tipp von Euch?

Besten Dank!

Gruß aus Köln-Ehrenfeld,

Elya

--
We are drowning in information but starved for knowledge. John Naisbitt
  1. Also ich weiß es ist ziemlich unproduktiv wenn ich das hier sage, aber ich hab wirklich kein bisschen kapiert.

    Was für Abfragen, was für Stylesheet ... ?

  2. Hallo,

    Nun bekomme ich aus einer Abfrage ein gekapseltes Ergebnis, das in einem Stylesheet ausgegeben wird, und aus anderen Abfragen bekomme ich weitere Ergebnisse, die ich nach dem Wert in Abfrage 1 filtern müßte.

    Das verstehe ich auch nicht.

    Wie kriege ich den Wert aus Stylesheet 1 in Stylesheet 2 gerettet?

    Ein Stylesheet ins andere inkludieren oder importieren.

    Web-Suche nach "passing parameters between stylesheets" haben mich nicht wirklich weitergebracht. Alles in ein Stylesheet packen ist keine Option, weil meine zwei Abfrageergebnisse völlig getrennt voneinander liegen.

    Tja, entweder du bringst deine Styleheets irgendwie zusammen oder eben nicht. Wenn ich den fraglichen Punkt verstehe, kann ich vielleicht auch was anderes noch dazu sagen :)

    Grüße
    Thomas

    1. Hallo Thomas,

      sorry, wenn ich mich zu ungenau ausgedrückt habe.

      Nun bekomme ich aus einer Abfrage ein gekapseltes Ergebnis, [...]

      Das verstehe ich auch nicht.

      Ich befinde mich in so genannten "Web Parts", d.h. gekapselte Einheiten, die ich nicht ineinander verschachteln kann. Sie stehen hintereinander in einer aspx-Seite innerhalb des Gesamtframeworks. Jeder dieser Webparts enthält die sog. Datenquelle, daraus verwendbare Felder etc. Das sieht (sehr vereinfacht) ungefähr so aus:

        
      <WebPartPages:DataFormWebPart>  
       <DataSources>  
        <sources>  
        </sources>  
       </DataSources>  
      <ParameterBindings>  
        
       <ParameterBinding />  
         <ParameterBinding Name="foo" Location="CAMLVariable" DefaultValue="CurrentUserName"/>  
      </ParameterBindings>  
        
       <datafields>  
         @foo, @bar, ...  
       </datafields>  
        
      <XSL>  
       <xsl:stylesheet>  
         <!-- usw. hier kann ich z.b. auf o.g. Werte aus der Datenquelle zugreifen, sie transformieren und ausgeben  -->  
       </xsl:stylesheet>  
      </XSL>  
        
      </WebPartPages:DataFormWebPart>  
      
      

      Das ganze zweimal hintereinander für die zwei unterschiedlichen Abfragen.

      Ein Stylesheet ins andere inkludieren oder importieren.

      xsl:import? Dafür müßte ich den Teil <XSL> bis </XSL> auslagern, richtig? Ob mir das mit der o.g. Konstruktion gelingt, muß ich prüfen, ich fürchte, das ist zu eng miteinander verdrahtet, da das Stylesheet ja die Werte aus der Datenquelle braucht. Aber diesen Ansatz verfolge ich mal weiter.

      Ich weiß, das ist alles etwas konfus ;-), aber ich habe leider nur begrenzte Freiheiten in dem gegebenen Kontext.

      Erstmal danke!

      Gruß aus Köln-Ehrenfeld,

      Elya

      --
      We are drowning in information but starved for knowledge. John Naisbitt
      1. Hallo,

        Ich befinde mich in so genannten "Web Parts",

        WebPartPages:DataFormWebPart
        <DataSources>
          <sources>
          </sources>
        </DataSources>
        <ParameterBindings>

        <ParameterBinding />
           <ParameterBinding Name="foo" Location="CAMLVariable" DefaultValue="CurrentUserName"/>
        </ParameterBindings>

        <datafields>
           @foo, @bar, ...
        </datafields>

        <XSL>
        xsl:stylesheet
           <!-- usw. hier kann ich z.b. auf o.g. Werte aus der Datenquelle zugreifen, sie transformieren und ausgeben  -->
        </xsl:stylesheet>
        </XSL>

        </WebPartPages:DataFormWebPart>

          
        Jetzt verstehe ich. Das ist wirklich extrem unpraktisch gelöst.  
          
          
        
        > Das ganze zweimal hintereinander für die zwei unterschiedlichen Abfragen.  
        >   
        > > Ein Stylesheet ins andere inkludieren oder importieren.  
        >   
        > <xsl:import>? Dafür müßte ich den Teil <XSL> bis </XSL> auslagern, richtig?  
          
        ja.  
          
        
        > Ob mir das mit der o.g. Konstruktion gelingt, muß ich prüfen, ich fürchte, das ist zu eng miteinander verdrahtet, da das Stylesheet ja die Werte aus der Datenquelle braucht. Aber diesen Ansatz verfolge ich mal weiter.  
        >   
          
        Wenn das nicht geht, muss du vielleicht bei der Ausgabe ansetzen. Wenn du alles in einer Datei hat mit mehreren solchen WebParts: wo kommt dann die Ausgabe hin? Irgendwie wird sie ja an der gewünschten Stelle ausgegeben. Nun genau da könnte man noch vielleicht ansetzen. Die Ausgabe des einen WebParts in einem anderen WebParts heineinholen/bringen und von dort an mit dem XSL des anderen WebParts verarbeiten.  
          
        Grüße  
        Thomas
        
        1. Hallo Thomas,

          Jetzt verstehe ich. Das ist wirklich extrem unpraktisch gelöst.

          einerseits, andererseits. Es erlaubt halt recht umfassende Abfragen und deren Transformation direkt an Ort und Stelle, ohne "richtig" programmieren zu müssen, hat aber natürlich seine Begrenzungen.

          Wenn das nicht geht, muss du vielleicht bei der Ausgabe ansetzen. Wenn du alles in einer Datei hat mit mehreren solchen WebParts: wo kommt dann die Ausgabe hin?

          Direkt an Ort und Stelle, die Webparts sind dort, wo auch die Ausgabe stattfindet. Das ganze funktioniert (in Grenzen) sogar via WYSIWYG und Rumklicken.

          Die Ausgabe des einen WebParts in einem anderen WebParts heineinholen/bringen und von dort an mit dem XSL des anderen WebParts verarbeiten.

          Bei einfacheren Konstrukten kann ich die Abfragen zusammenfassen zu einer "Datenquelle" und sie zusammen verarbeiten. Da ich die eine aber immer wieder benötige, hätte ich sie sehr gerne separat gehalten. Alternativ könnte man evtl. zwischen den Webparts selbst (nicht den Stylesheets) eine Parameterübergabe bewerkstelligen, ich habe aber noch nicht herausgefunden, wie.

          Danke für Deine Anregungen!

          Gruß aus Köln-Ehrenfeld,

          Elya

          --
          We are drowning in information but starved for knowledge. John Naisbitt