dey: von document() zurück in urspr. Quelle

Hallo,

bei meinem derzeitigen Projekt freht es sich um eine Rüstlisten anpassung für einen Kunden.

Ich habe eine ursprüngliche Quelle deren Format ich nicht ändern kann, wird aus einer Applikation erzeugt auf deren Quellcode ich keinen Einfluss habe.
Der Kunde möchte, dass Daten (Lagerort) extern hinzu eingelesen werden können.
Das funktioniert soweit zufriedenstellend:
so weit, so gut

Nun soll das ganze nach Lagerort sortiert sein.
Das habe ich auch hinbekommen bloss, wenn ich jetzt mit den gewonnenen Daten die notwendigen Abfragen auf die ursprüngliche Quelle mache kommt nichts mehr zurück:
http://deynews.de/tmp/for-lot4.xml

Ein Stückel code

  
                  <xsl:variable name="AllPartNumbers">  
                     <xsl:for-each select="xmlDocument/Group/JobList/LineItemList/LineItem/FeederItemList/FeederItem[count(. | key('partnumbers', PartNumber)[1]) = 1 and PartNumber!='']">  
                        <xsl:value-of select="PartNumber" />  
                     </xsl:for-each>  
                  </xsl:variable>  
  
                  <xsl:for-each select="document('kanban.txt')//kanban">  
     <xsl:sort select="pos" order="ascending" data-type="text" />  
                     <xsl:if test="contains($AllPartNumbers,pnum)">  
                     <tr>  
                        <xsl:variable name="PartNumber">  
                           <xsl:value-of select="pnum" />  
                        </xsl:variable>  
  
                        <td>  
                           <xsl:value-of select="$PartNumber" />  
                        </td>  
  
                        <td>  
                           <xsl:value-of select="xmlDocument/Group/JobList/LineItemList/LineItem/FeederItemList/FeederItem[PartNumber=$PartNumber]/Position" />  
                           <xsl:for-each select="xmlDocument/Group/JobList/LineItemList/LineItem/FeederItemList/FeederItem[PartNumber=$PartNumber]">  
                           <xsl:value-of select="ancestor::Group/GroupNumber" />  
  
                           =&gt;  
                           <xsl:value-of select="Position" />  
  
                           <br />  
                           </xsl:for-each>  

Das ist ein Zwischenergebnis meiner Versuche alles einmal rumzuwürfekn in der Hoffnung, dass es irgendwann funktioniert.

Hat jemand einen Vorschlag, wie ich weiterkomme?

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--
  1. Hallo,

    Das habe ich auch hinbekommen bloss, wenn ich jetzt mit den gewonnenen Daten die notwendigen Abfragen auf die ursprüngliche Quelle mache kommt nichts mehr zurück:
    http://deynews.de/tmp/for-lot4.xml

    Ein Stückel code

    <xsl:for-each select="document('kanban.txt')//kanban">

    Ab hier beziehen sich _alle_ (normale) Pfadangaben auf "document('kanban.txt')//kanban".

    <xsl:value-of select="xmlDocument/Group/JobList/LineItemList/LineItem/FeederItemList/FeederItem[PartNumber=$PartNumber]/Position" />
                               <xsl:for-each select="xmlDocument/Group/JobList/LineItemList/LineItem/FeederItemList/FeederItem[PartNumber=$PartNumber]">
                               <xsl:value-of select="ancestor::Group/GroupNumber" />

    Wen diese Pfade sich im ursprünglichen XML befinden: speichere das ursprüngliche XML in einer globalen Variable: <xsl:variable name="root" select="/"  />

    Dann kannst du darauf zugreifen:
    xsl:for-each select="$root/xmlDocument/Group/JobList/LineItemList/   .... >

    Grüße
    Thomas

    1. Hallo,

      Wen diese Pfade sich im ursprünglichen XML befinden: speichere das ursprüngliche XML in einer globalen Variable: <xsl:variable name="root" select="/"  />

      Dann kannst du darauf zugreifen:
      xsl:for-each select="$root/xmlDocument/Group/JobList/LineItemList/   .... >

      Das war einfach zu banal!
      Aber wenn man die Lösung bekommt, wie so oft im Nachhinein, absolut logisch.

      Vielen Dank (Manchmal könnte man das Gefühl bekommen du hättest XSL der 2-ten Generation mitentwickelt)

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  PHP Project Browser--
      1. Hallo,

        Das war einfach zu banal!
        Aber wenn man die Lösung bekommt, wie so oft im Nachhinein, absolut logisch.

        ;-)

        (Manchmal könnte man das Gefühl bekommen du hättest XSL der 2-ten Generation mitentwickelt)

        Ehmm ... danke für die "Blumen", aber das wäre doch "ein Spur" zu hoch für mich ;-)

        Grüße
        Thomas