1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

XSLT Problem bei HTML-Tabellen Darstellung

Dieses Thema im Forum "XML Technologien" wurde erstellt von princ84, 11. Juli 2012.

  1. princ84

    princ84 Grünschnabel

    Hallo Leute,
    Ihr habt hier echt ein tolles forum! Ich habe vor einigen Wochen mit XSL angefangen und komm bei einem Problem nicht weiter!Ich würde gerne folgende Tabellen aus der unteren XML erstellen :


















    usegroup B D
    Nennspannung 300 300
    Nennstrom 10 5
    AWGl 24-14 24-14
    Tabelle1

    und die zweite Variante, falls B und D nicht definiert sind:















    Nennspannung 300
    Nennstrom 10
    AWGl 24-14
    Tabelle2

    Ich benutze XSL 2.0.
    Ich quäl mich hier schon seit letzer Woche damit herum, ich erhalte zwar die Informationen, also die Werte für B und D, aber kann diese nicht in einer Zeile für B und D Darstellen. Die Werte werden in unterschiedlichen Zeilen Dargestellt, siehe Tabelle 3


























    usegroup B D
    Nennspannung 300
    Nennstrom 10
    AWGl 24-14
    300
    5
    24-14
    Tabelle3

    Mein Ansatz in XSLT sieht bisher folgendermaßen aus:

    HTML:
    1. <xsl:for-each select="FE[@tagName='usegroup']">
    2.             <xsl:variable name="useValue" select="LayoutAttribute/@value"/>
    3.            
    4.            
    5.             <xsl:for-each select="FE[@tagName='attribute']">
    6.     <tr>
    7.    
    8.         <xsl:if test="$useValue = 'B' ">
    9.         <td align="left" style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
    10.                        
    11.                        
    12.                            
    13.                             <xsl:for-each select="FE[@tagName='label'] /TXB  " >
    14.                                 <xsl:value-of select="p"/><br/>
    15.                             </xsl:for-each>
    16.                         </td>
    17.                    
    18.                    
    19.                    
    20.                          <!--füllen der rechte Spalte in der Tabelle (Value Wert -->
    21.                        
    22.                         <td style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
    23.                             <xsl:for-each select="FE[@tagName='value'] ">
    24.                                 <xsl:value-of select="TXB/p"/>
    25.                                 <xsl:value-of select="TXT"/>
    26.                                 <xsl:value-of select="STR"/>
    27.                                 <xsl:value-of select="NUM/p"/>
    28.                                 <xsl:value-of select="GRP/p"/>
    29.                                 <br/>
    30.                             </xsl:for-each>
    31.                         </td>
    32.                      </xsl:if>
    33.                      
    34.                        
    35.                         <xsl:if test="$useValue = 'D' ">
    36.                         <td style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
    37.                             <xsl:for-each select="FE[@tagName='value'] ">
    38.                                 <xsl:value-of select="TXB/p"/>
    39.                                 <xsl:value-of select="TXT"/>
    40.                                 <xsl:value-of select="STR"/>
    41.                                 <xsl:value-of select="NUM/p"/>
    42.                                 <xsl:value-of select="GRP/p"/>
    43.                                 <br/>
    44.                             </xsl:for-each>
    45.                         </td>
    46.                        
    47.                          </xsl:if>
    48.                        
    49.                        
    50.         </tr>  
    51.                  </xsl:for-each>   
    52.                           </xsl:for-each>  
    Ich habe in dem XSL Beispiel versucht die Tabellenwerte für B und D zu füllen! Das ist auch das größte Problem!

    Ich finde einfach keinen vernünftigen Ansatz für das Problem, habe es mit for each group versucht, aber bin da noch zu unerfahren! Ich hoffe ihr könnt mir weiterhelfen!
    Vielen Dank schon mal im voraus!



    HTML:
    1.    <FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    2.             <STR/>
    3.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    4.                 <LayoutAttribute name="type" value="non_ex"/>
    5.                 <STR/>
    6.                
    7.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    8.                     <LayoutAttribute name="type" value="B"/>
    9.                     <STR/>
    10.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    11.                         <STR/>
    12.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    13.                             <TXB>
    14.                                 <p>Nennspannung U<sub>N</sub>
    15.                                 </p>
    16.                             </TXB>
    17.                         </FE>
    18.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    19.                             <GRP>
    20.                                 <p>300 V</p>
    21.                             </GRP>
    22.                         </FE>
    23.                     </FE>
    24.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    25.                         <STR/>
    26.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    27.                             <TXB>
    28.                                 <p>Nennstrom I<sub>N</sub>
    29.                                 </p>
    30.                             </TXB>
    31.                         </FE>
    32.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    33.                             <GRP>
    34.                                 <p>10 A</p>
    35.                             </GRP>
    36.                         </FE>
    37.                     </FE>
    38.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    39.                         <STR/>
    40.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    41.                             <TXB>
    42.                                 <p>mm²/AWG/kcmil</p>
    43.                             </TXB>
    44.                         </FE>
    45.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    46.                             <TXT>24-14</TXT>
    47.                         </FE>
    48.                     </FE>
    49.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    50.                         <TXB/>
    51.                     </FE>
    52.                 </FE>
    53.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    54.                     <LayoutAttribute name="type" value="D"/>
    55.                     <STR/>
    56.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    57.                         <STR/>
    58.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    59.                             <TXB>
    60.                                 <p>Nennspannung U<sub>N</sub>
    61.                                 </p>
    62.                             </TXB>
    63.                         </FE>
    64.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    65.                             <GRP>
    66.                                 <p>300 V</p>
    67.                             </GRP>
    68.                         </FE>
    69.                     </FE>
    70.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    71.                         <STR/>
    72.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    73.                             <TXB>
    74.                                 <p>Nennstrom I<sub>N</sub>
    75.                                 </p>
    76.                             </TXB>
    77.                         </FE>
    78.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    79.                             <GRP>
    80.                                 <p>5 A</p>
    81.                             </GRP>
    82.                         </FE>
    83.                     </FE>
    84.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    85.                         <STR/>
    86.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    87.                             <TXB>
    88.                                 <p>mm²/AWG/kcmil</p>
    89.                             </TXB>
    90.                         </FE>
    91.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    92.                             <TXT>24-14</TXT>
    93.                         </FE>
    94.                     </FE>
    95.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    96.                         <TXB/>
    97.                     </FE>
    98.                 </FE>
    99.             </FE>
    100.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    101.                 <LayoutAttribute name="type" value="non_ex"/>
    102.                 <STR/>
    103.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    104.                     <LayoutAttribute name="type" value=""/>
    105.                     <STR/>
    106.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    107.                         <STR/>
    108.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    109.                             <TXB>
    110.                                 <p>Nennspannung U<sub>N</sub>
    111.                                 </p>
    112.                             </TXB>
    113.                         </FE>
    114.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    115.                             <GRP>
    116.                                 <p>250 V</p>
    117.                             </GRP>
    118.                         </FE>
    119.                     </FE>
    120.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    121.                         <STR/>
    122.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    123.                             <TXB>
    124.                                 <p>Nennstrom I<sub>N</sub>
    125.                                 </p>
    126.                             </TXB>
    127.                         </FE>
    128.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    129.                             <GRP>
    130.                                 <p>22 A</p>
    131.                             </GRP>
    132.                         </FE>
    133.                     </FE>
    134.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    135.                         <STR/>
    136.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    137.                             <TXB>
    138.                                 <p>mm²/AWG/kcmil</p>
    139.                             </TXB>
    140.                         </FE>
    141.                         <FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    142.                             <TXT>0.2-2.5</TXT>
    143.                         </FE>
    144.                     </FE>
    145.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    146.                         <TXB/>
    147.                     </FE>
    148.                 </FE>
    149.             </FE>
    150.         </FE>
    Gruß
    Peter
     
    Zuletzt bearbeitet: 12. Juli 2012
  2. deepthroat

    deepthroat Erfahrenes Mitglied

    Hi.

    Du beginnst in deinem Stylesheet für jedes Attribut in einer Usegroup eine neue Tabellenzeile. Das willst du doch gar nicht.

    Du hast jetzt keine Erklärung zum XML Quelldokument gegeben. Vermutlich könnte man aber über die refColIDs gruppieren?

    Code (XML):
    1. <xsl:for-each-group select="FE[@tagName='attribute']" group-by="FE[@tagName='value']/@refColIDs">
    2.   ...
    3. </xsl:for-each-group>
    Gruß
     
    Zuletzt von einem Moderator bearbeitet: 23. Mai 2014
  3. princ84

    princ84 Grünschnabel

    Hi,
    danke erstmal für deinen tipp! Ich habe jetzt die Tabelle soweite aufgebaut, siehe Tabelle (die zweite Spalte sind die REFColIDs) :































    Nennspannung UN 41604 300 300 250 300 300 250 250
    Nennstrom 41610 10 5 22 10 5 22 22
    mm²/AWG/kcmil 6525019 24-14 24-14 0.2-2.5 24-14 24-14 0.2-2.5 0.2-2.5
    Die XSL Datei:
    HTML:
    1. <table border="1">
    2.                     <xsl:for-each-group select="SEPreview/SE[@tagName='Product']/FE[@tagName='approvals']/FE[@tagName='approval']/FE[@tagName='usegroup']/FE[@tagName='attribute']" group-by="FE[@tagName='label']/@refColIDs">
    3.                         <group>
    4.                             <tr>
    5.                                 <td>
    6.                                     <xsl:for-each select="FE[@tagName='label'] /TXB  ">
    7.                                         <xsl:value-of select="p"/>
    8.                                         <br/>
    9.                                     </xsl:for-each>
    10.                                 </td>
    11.                                 <th>
    12.                                     <key>
    13.                                         <xsl:value-of select="current-grouping-key()"/>
    14.                                     </key>
    15.                                 </th>
    16.                                 <xsl:for-each select="current-group()">
    17.                                     <td>
    18.                                         <xsl:value-of select="FE[@tagName='value']/GRP/p"/>
    19.                                         <xsl:value-of select="FE[@tagName='value']/TXB/p"/>
    20.                                         <xsl:value-of select="FE[@tagName='value']/TXT"/>
    21.                                         <xsl:value-of select="FE[@tagName='value']/STR"/>
    22.                                         <xsl:value-of select="FE[@tagName='value']/NUM/p"/>
    23.                                     </td>
    24.                                 </xsl:for-each>
    25.                             </tr>
    26.                         </group>
    27.                     </xsl:for-each-group>
    28.                 </table>
    Die Tabelle gibt mir jetzt für die REFColIDs alle werte aus,
    das Problem ist jetzt das jeweils immer eine einzeige Tabelle erstellt wird, für das ganze approvals Root Element! Wie kann ich für jedes approvalls/approval Element jeweils eine einzige Tabelle erstellen?

    die Tabellen bzw. Listen sollten folgendermaßen aussehen:


















    usegroup B D
    Nennspannung 300 300
    Nennstrom 10 5
    AWGl 24-14 24-14

















    usegroup B D
    Nennspannung 300 300
    Nennstrom 20 10
    AWGl 24-10 24-13

















    Nennspannung 300
    Nennstrom 10
    AWGl 24-14
    Ich hoffe ihr versteht mein Problem!

    @deepthroat: Welche Informationen benötigst du den zum XML Quelldokument?
     
    Zuletzt bearbeitet: 16. Juli 2012
  4. deepthroat

    deepthroat Erfahrenes Mitglied

    Hi.
    Die Lösung ist eigentlich so offensichtlich und simpel, da kommst du bestimmt selbst drauf.
    Du hast zwar eine schöne Tagsuppe präsentiert, aber kein Wort dazu verloren was das eigentlich alles bedeuten soll. Deswegen kann ich nur raten. Ein Schema wäre hilfreich gewesen. Oder zumindest eine Beschreibung wie die Daten grundsätzlich zusammenhängen, ob bestimmte Attribute tatsächlich IDs sind usw.

    Gruß
     
  5. princ84

    princ84 Grünschnabel

    Hi,
    ich habs mir schon gedacht das die Lösung simpel ist! Nur komm ich leider nicht drauf! Hab einfach zu wenig erfahrung! Wäre nett wenn du mir noch einen Tipp geben könntest!

    Wie du schon erkannt hasst sind RefColID auch IDs! falls du z.B. ein DTD Shema meinst, dass gibt es nicht für dieses XML Dokument! Das XML Dokument wird über ein XSL Stylesheet erstellt. Die Informationen kommen von einer Datenbank. Das Sheet erstellt aus einem Datenstrom der Datenbank das XML Dokument.
    Aufjedenfalls kann und darf ich "tagTypeName="[ID:5663525]" nicht zur gruppierung nutzen!
    Ich hoffe das hilft dir weiter zum verständnis.
    An sich hab ich nur das XML Dokument und muss daraus eine HTML-Ansicht basteln!

    Ich habe dir nur einen teil des Dokument gezeigt, dachte es reicht zum verständnis?!

    Hi,
    ich glaub es hat sich erledigt!! habs mit der last() funktion gelöst!
    Denke dass müsste soweit passen!

    Danke für deine Tipps :)
     
  6. princ84

    princ84 Grünschnabel

    Hallo,
    ich muss wieder auf euch zurückkommen. Hat sich herausgestellt, dass ich kein xslt 2.0 verwenden kann und mit xslt 1.0 vorlieb nehmen muss. Deswegen kann ich meinen vorherigen Ansatz erstmal verwerfen.
    Ich versuche momentan die Muench'schen Methode zu verwenden, jedoch gelingt es mir nicht die werte für die einzelnen Tabellen auszugeben. Der Inhalte wir immer nur für die erste tabelle gefüllt. Bei dem nächten durchlauf der Schleife, wird in die Gruppier Funktion gar nicht hineingegangen, das heisst die Grupierfunktion wird nur einmalig aufgerufen!


    Meine Tabellen sollten folgendermaßen aussehen:

















    usegroup B D
    Nennspannung 300 300
    Nennstrom 10 5
    AWGl 24-14 24-14

















    usegroup B D
    Nennspannung 300 300
    Nennstrom 20 10
    AWGl 24-10 24-13

















    Nennspannung 300
    Nennstrom 10
    AWGl 24-14

    Meine momentane XSLT:

    HTML:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    3.     <xsl:output method="html"/>
    4.     <xsl:key name="usegroup_key" match="FE[@tagName='usegroup']/FE[@tagName='attribute']" use="FE[@tagName='label']/@refColIDs"/>
    5.     <xsl:template match="/">
    6.         <html>
    7.             <head>
    8.                 <title>Test Gruppierung approvals</title>
    9.             </head>
    10.             <body>
    11.                 <xsl:for-each select="SEPreview/SE[@tagName='Product']/FE[@tagName='approvals']/FE[@tagName='approval']">
    12.                     <table border="1">
    13.                         <xsl:for-each select="FE[@tagName='usegroup']/FE[@tagName='attribute'][generate-id(.)=generate-id(key('usegroup_key',FE[@tagName='label']/@refColIDs)[1])]">
    14.                             <!--<xsl:sort select="FE[@tagName='label']/@refColIDs" data-type="number" order="ascending"/>-->
    15.                             <tr>
    16.                                 <td>
    17.                                     <xsl:variable name="position" select="position()"/>
    18.                                     <strong>durchlauf der <xsl:value-of select="$position"/> Schleife</strong>
    19.                                     <xsl:for-each select="FE[@tagName='label'] /TXB  ">
    20.                                         <xsl:value-of select="p"/>
    21.                                     </xsl:for-each>
    22.                                 </td>
    23.                                 <xsl:for-each select="key('usegroup_key', FE[@tagName='label']/@refColIDs)">
    24.                                     <!--<xsl:attribute name="rowspan"><xsl:value-of select="count(key('usegroup_key',FE[@tagName='label']/@refColIDs))"/></xsl:attribute>-->
    25.                                     <xsl:if test="(position() = 1)  ">
    26.                                         <td>
    27.                                             <xsl:variable name="key" select="key('usegroup_key', FE[@tagName='label']/@refColIDs)"/>
    28.                                             <strong>            Schlüssel:<xsl:value-of select="$key"/>
    29.                                             </strong>
    30.                                             <br/>
    31.                                             <xsl:variable name="position2" select="position()"/>
    32.                                                                                 durchlauf der <xsl:value-of select="$position2"/> Gruppe
    33.                                                                                     <!--<xsl:value-of select="FE[@tagName='label']/@refColIDs"/>-->
    34.                                             <xsl:value-of select="FE[@tagName='value']/GRP/p"/>
    35.                                             <xsl:value-of select="FE[@tagName='value']/TXB/p"/>
    36.                                             <xsl:value-of select="FE[@tagName='value']/TXT"/>
    37.                                             <xsl:value-of select="FE[@tagName='value']/STR"/>
    38.                                             <xsl:value-of select="FE[@tagName='value']/NUM/p"/>
    39.                                         </td>
    40.                                     </xsl:if>
    41.                                 </xsl:for-each>
    42.                             </tr>
    43.                         </xsl:for-each>
    44.                     </table>
    45.                 </xsl:for-each>
    46.             </body>
    47.         </html>
    48.     </xsl:template>
    49. </xsl:stylesheet>

    Meine tabelle sieht nach der oberen xsl folgendermaßen aus:














    Nennspannung 300
    Nennstrom 10
    AWGl 24-14

    Der HTML Code sieht folgendermaßen aus:
    HTML:
    1.     <head>
    2.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    3.         <title>Test Gruppierung approvals</title>
    4.     </head>
    5.     <body>
    6.         <table border="1">
    7.             <tr>
    8.                 <td><strong>durchlauf der 1 Schleife</strong>Nennspannung UN</td>
    9.                 <td><strong>            Schlüssel:Nennspannung UN300 V</strong><br>
    10.                                                                                 durchlauf der 1 Gruppe
    11.                                                                                     300 V</td>
    12.             </tr>
    13.             <tr>
    14.                 <td><strong>durchlauf der 2 Schleife</strong>Nennstrom IN</td>
    15.                 <td><strong>            Schlüssel:Nennstrom IN10 A</strong><br>
    16.                                                                                 durchlauf der 1 Gruppe
    17.                                                                                     10 A</td>
    18.             </tr>
    19.             <tr>
    20.                 <td><strong>durchlauf der 3 Schleife</strong>mm²/AWG/kcmil</td>
    21.                 <td><strong>            Schlüssel:mm²/AWG/kcmil24-14</strong><br>
    22.                                                                                 durchlauf der 1 Gruppe
    23.                                                                                     24-14</td>
    24.             </tr>
    25.         </table>
    26.         <table border="1"></table>
    27.         <table border="1"></table>
    28.         <table border="1"></table>
    29.         <table border="1"></table>
    30.         <table border="1"></table>
    31.         <table border="1"></table>
    32.     </body>
    33. </html>
    Wie man sieht müssen 7 unterschiedliche Tabellen erstellt werden, es wird aber nichts hinzugefügt!

    Hier nochmal mein XML:
    HTML:
    1. <FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    2.             <STR/>
    3.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    4.                 <LayoutAttribute name="type" value="non_ex"/>
    5.                 <STR/>
    6.                
    7.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    8.                     <LayoutAttribute name="type" value="B"/>
    9.                     <STR/>
    10.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    11.                         <STR/>
    12.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    13.                             <TXB>
    14.                                 <p>Nennspannung U<sub>N</sub>
    15.                                 </p>
    16.                             </TXB>
    17.                         </FE>
    18.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    19.                             <GRP>
    20.                                 <p>300 V</p>
    21.                             </GRP>
    22.                         </FE>
    23.                     </FE>
    24.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    25.                         <STR/>
    26.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    27.                             <TXB>
    28.                                 <p>Nennstrom I<sub>N</sub>
    29.                                 </p>
    30.                             </TXB>
    31.                         </FE>
    32.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    33.                             <GRP>
    34.                                 <p>10 A</p>
    35.                             </GRP>
    36.                         </FE>
    37.                     </FE>
    38.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    39.                         <STR/>
    40.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    41.                             <TXB>
    42.                                 <p>mm²/AWG/kcmil</p>
    43.                             </TXB>
    44.                         </FE>
    45.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    46.                             <TXT>24-14</TXT>
    47.                         </FE>
    48.                     </FE>
    49.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    50.                         <TXB/>
    51.                     </FE>
    52.                 </FE>
    53.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    54.                     <LayoutAttribute name="type" value="D"/>
    55.                     <STR/>
    56.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    57.                         <STR/>
    58.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    59.                             <TXB>
    60.                                 <p>Nennspannung U<sub>N</sub>
    61.                                 </p>
    62.                             </TXB>
    63.                         </FE>
    64.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    65.                             <GRP>
    66.                                 <p>300 V</p>
    67.                             </GRP>
    68.                         </FE>
    69.                     </FE>
    70.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    71.                         <STR/>
    72.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    73.                             <TXB>
    74.                                 <p>Nennstrom I<sub>N</sub>
    75.                                 </p>
    76.                             </TXB>
    77.                         </FE>
    78.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    79.                             <GRP>
    80.                                 <p>5 A</p>
    81.                             </GRP>
    82.                         </FE>
    83.                     </FE>
    84.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    85.                         <STR/>
    86.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    87.                             <TXB>
    88.                                 <p>mm²/AWG/kcmil</p>
    89.                             </TXB>
    90.                         </FE>
    91.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    92.                             <TXT>24-14</TXT>
    93.                         </FE>
    94.                     </FE>
    95.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    96.                         <TXB/>
    97.                     </FE>
    98.                 </FE>
    99.             </FE>
    100.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    101.                          <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    102.                     <LayoutAttribute name="type" value=""/>
    103.                     <STR/>
    104.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    105.                         <STR/>
    106.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    107.                             <TXB>
    108.                                 <p>Nennspannung U<sub>N</sub>
    109.                                 </p>
    110.                             </TXB>
    111.                         </FE>
    112.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    113.                             <GRP>
    114.                                 <p>250 V</p>
    115.                             </GRP>
    116.                         </FE>
    117.                     </FE>
    118.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    119.                         <STR/>
    120.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    121.                             <TXB>
    122.                                 <p>Nennstrom I<sub>N</sub>
    123.                                 </p>
    124.                             </TXB>
    125.                         </FE>
    126.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    127.                             <GRP>
    128.                                 <p>22 A</p>
    129.                             </GRP>
    130.                         </FE>
    131.                     </FE>
    132.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    133.                         <STR/>
    134.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    135.                             <TXB>
    136.                                 <p>mm²/AWG/kcmil</p>
    137.                             </TXB>
    138.                         </FE>
    139.                         <FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    140.                             <TXT>0.2-2.5</TXT>
    141.                         </FE>
    142.                     </FE>
    143.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    144.                         <TXB/>
    145.                     </FE>
    146.                 </FE>
    147.             </FE>
    Ich frage mich wieso bei meiner gruppierung das Elemtent <FE tagName="approval" kommplett durchgelaufen wir und nicht zuerst das erste anschliessend das zweite und soweiter!? Irgendwie steig ich da nicht durch!

    Wenn ich in meine xsl so erweitere <xsl:if test="(position() = 1) or (position() = 2)"> wird der werte für die Spalte B ausgegeben. Und wenn ich die If-Anweisung komplett entferne, werden alle werte in der ersten Tabelle ausgegeben. Wieso wird die schleife nur einmal durchlaufen?

    Hat einer da, eine Ide wieso mein ansatz nicht funktioniert. Ich habe die XSLT1.0 Gruppier Funktion genau so aufgebaut, wie die vorherige in XSLT 2.0?


    Brauche dringend hilfe, versuche hier schon seit 2 tagen das hinzubekommen!
     
    Zuletzt bearbeitet: 8. August 2012
  7. princ84

    princ84 Grünschnabel

    Hallo Leute,
    gibt mal bitte einen Tipp! Komm hier einfach nicht weiter!
     
  8. deepthroat

    deepthroat Erfahrenes Mitglied

    Hi.

    Ich verstehe immer noch nicht ganz wie da überhaupt gruppiert werden soll.

    Einige Dinge machen es aber auch ziemlich schwierig dir zu helfen.

    1. die Daten passen nicht zu deinem Beispiel. Wo sollen denn die 20 A Werte aus der zweiten Tabelle herkommen? Dazu gibt es keinen Eintrag im XML

    2. das XML ist unvollständig und kann mit dem angegebenen Stylesheet nicht verarbeitet werden. Erstelle immer vollständige Minimalbeispiele - das erhöht die Chance das sich jemand das anschaut ungemein.

    3. der Zusammenhang / die Erklärung fehlt fast vollständig. Was ist die usegroup? Wie hängen diese zusammen? Wozu ist das LayoutAttribute/@value gut?

    Gruß
     
  9. princ84

    princ84 Grünschnabel

    Hi,

    das waren nur beispiel auszüge aus der xml!

    hier ist eine XML und eine XSL, die mit originaldaten funktionieren:

    XML:
    HTML:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2.  
    3. <SEPreview pvID="12304">
    4.     <SE seID="852860152" tagName="Product" tagTypeIcon="tt4174.gif" tagTypeName="[ID:5639851]">
    5.        
    6.            
    7.         <FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    8.             <STR/>
    9.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    10.                 <LayoutAttribute name="type" value="non_ex"/>
    11.                
    12.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    13.                     <LayoutAttribute name="type" value="B"/>
    14.                     <STR/>
    15.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    16.                         <STR/>
    17.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    18.                             <TXB>
    19.                                 <p>Nennspannung U<sub>N</sub>
    20.                                 </p>
    21.                             </TXB>
    22.                         </FE>
    23.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    24.                             <GRP>
    25.                                 <p>300 V</p>
    26.                             </GRP>
    27.                         </FE>
    28.                     </FE>
    29.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    30.                         <STR/>
    31.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    32.                             <TXB>
    33.                                 <p>Nennstrom I<sub>N</sub>
    34.                                 </p>
    35.                             </TXB>
    36.                         </FE>
    37.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    38.                             <GRP>
    39.                                 <p>10 A</p>
    40.                             </GRP>
    41.                         </FE>
    42.                     </FE>
    43.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    44.                         <STR/>
    45.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    46.                             <TXB>
    47.                                 <p>mm²/AWG/kcmil</p>
    48.                             </TXB>
    49.                         </FE>
    50.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    51.                             <TXT>24-14</TXT>
    52.                         </FE>
    53.                     </FE>
    54.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    55.                         <TXB/>
    56.                     </FE>
    57.                 </FE>
    58.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    59.                     <LayoutAttribute name="type" value="D"/>
    60.                     <STR/>
    61.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    62.                         <STR/>
    63.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    64.                             <TXB>
    65.                                 <p>Nennspannung U<sub>N</sub>
    66.                                 </p>
    67.                             </TXB>
    68.                         </FE>
    69.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    70.                             <GRP>
    71.                                 <p>300 V</p>
    72.                             </GRP>
    73.                         </FE>
    74.                     </FE>
    75.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    76.                         <STR/>
    77.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    78.                             <TXB>
    79.                                 <p>Nennstrom I<sub>N</sub>
    80.                                 </p>
    81.                             </TXB>
    82.                         </FE>
    83.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    84.                             <GRP>
    85.                                 <p>5 A</p>
    86.                             </GRP>
    87.                         </FE>
    88.                     </FE>
    89.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    90.                         <STR/>
    91.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    92.                             <TXB>
    93.                                 <p>mm²/AWG/kcmil</p>
    94.                             </TXB>
    95.                         </FE>
    96.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    97.                             <TXT>24-14</TXT>
    98.                         </FE>
    99.                     </FE>
    100.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    101.                         <TXB/>
    102.                     </FE>
    103.                 </FE>
    104.             </FE>
    105.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    106.                 <LayoutAttribute name="type" value="non_ex"/>
    107.                
    108.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    109.                     <LayoutAttribute name="type" value=""/>
    110.                     <STR/>
    111.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    112.                         <STR/>
    113.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    114.                             <TXB>
    115.                                 <p>Nennspannung U<sub>N</sub>
    116.                                 </p>
    117.                             </TXB>
    118.                         </FE>
    119.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    120.                             <GRP>
    121.                                 <p>250 V</p>
    122.                             </GRP>
    123.                         </FE>
    124.                     </FE>
    125.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    126.                         <STR/>
    127.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    128.                             <TXB>
    129.                                 <p>Nennstrom I<sub>N</sub>
    130.                                 </p>
    131.                             </TXB>
    132.                         </FE>
    133.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    134.                             <GRP>
    135.                                 <p>22 A</p>
    136.                             </GRP>
    137.                         </FE>
    138.                     </FE>
    139.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    140.                         <STR/>
    141.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    142.                             <TXB>
    143.                                 <p>mm²/AWG/kcmil</p>
    144.                             </TXB>
    145.                         </FE>
    146.                         <FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    147.                             <TXT>0.2-2.5</TXT>
    148.                         </FE>
    149.                     </FE>
    150.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    151.                         <TXB/>
    152.                     </FE>
    153.                 </FE>
    154.             </FE>
    155.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    156.                 <LayoutAttribute name="type" value="non_ex"/>
    157.                
    158.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    159.                     <LayoutAttribute name="type" value="B"/>
    160.                     <STR/>
    161.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    162.                         <STR/>
    163.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    164.                             <TXB>
    165.                                 <p>Nennspannung U<sub>N</sub>
    166.                                 </p>
    167.                             </TXB>
    168.                         </FE>
    169.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    170.                             <GRP>
    171.                                 <p>300 V</p>
    172.                             </GRP>
    173.                         </FE>
    174.                     </FE>
    175.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    176.                         <STR/>
    177.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    178.                             <TXB>
    179.                                 <p>Nennstrom I<sub>N</sub>
    180.                                 </p>
    181.                             </TXB>
    182.                         </FE>
    183.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    184.                             <GRP>
    185.                                 <p>10 A</p>
    186.                             </GRP>
    187.                         </FE>
    188.                     </FE>
    189.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    190.                         <STR/>
    191.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    192.                             <TXB>
    193.                                 <p>mm²/AWG/kcmil</p>
    194.                             </TXB>
    195.                         </FE>
    196.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    197.                             <TXT>24-14</TXT>
    198.                         </FE>
    199.                     </FE>
    200.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    201.                         <TXB/>
    202.                     </FE>
    203.                 </FE>
    204.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    205.                     <LayoutAttribute name="type" value="D"/>
    206.                     <STR/>
    207.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    208.                         <STR/>
    209.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    210.                             <TXB>
    211.                                 <p>Nennspannung U<sub>N</sub>
    212.                                 </p>
    213.                             </TXB>
    214.                         </FE>
    215.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    216.                             <GRP>
    217.                                 <p>300 V</p>
    218.                             </GRP>
    219.                         </FE>
    220.                     </FE>
    221.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    222.                         <STR/>
    223.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    224.                             <TXB>
    225.                                 <p>Nennstrom I<sub>N</sub>
    226.                                 </p>
    227.                             </TXB>
    228.                         </FE>
    229.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    230.                             <GRP>
    231.                                 <p>5 A</p>
    232.                             </GRP>
    233.                         </FE>
    234.                     </FE>
    235.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    236.                         <STR/>
    237.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    238.                             <TXB>
    239.                                 <p>mm²/AWG/kcmil</p>
    240.                             </TXB>
    241.                         </FE>
    242.                         <FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    243.                             <TXT>24-14</TXT>
    244.                         </FE>
    245.                     </FE>
    246.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    247.                         <TXB/>
    248.                     </FE>
    249.                 </FE>
    250.             </FE>
    251.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    252.                 <LayoutAttribute name="type" value="non_ex"/>
    253.                
    254.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    255.                     <LayoutAttribute name="type" value=""/>
    256.                     <STR/>
    257.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    258.                         <STR/>
    259.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    260.                             <TXB>
    261.                                 <p>Nennspannung U<sub>N</sub>
    262.                                 </p>
    263.                             </TXB>
    264.                         </FE>
    265.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    266.                             <GRP>
    267.                                 <p>250 V</p>
    268.                             </GRP>
    269.                         </FE>
    270.                     </FE>
    271.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    272.                         <STR/>
    273.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    274.                             <TXB>
    275.                                 <p>Nennstrom I<sub>N</sub>
    276.                                 </p>
    277.                             </TXB>
    278.                         </FE>
    279.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    280.                             <GRP>
    281.                                 <p>22 A</p>
    282.                             </GRP>
    283.                         </FE>
    284.                     </FE>
    285.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    286.                         <STR/>
    287.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    288.                             <TXB>
    289.                                 <p>mm²/AWG/kcmil</p>
    290.                             </TXB>
    291.                         </FE>
    292.                         <FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    293.                             <TXT>0.2-2.5</TXT>
    294.                         </FE>
    295.                     </FE>
    296.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    297.                         <TXB/>
    298.                     </FE>
    299.                 </FE>
    300.             </FE>
    301.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    302.                 <LayoutAttribute name="type" value="non_ex"/>
    303.                
    304.                 <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    305.                     <LayoutAttribute name="type" value=""/>
    306.                     <STR/>
    307.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    308.                         <STR/>
    309.                         <FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    310.                             <TXB>
    311.                                 <p>Nennspannung U<sub>N</sub>
    312.                                 </p>
    313.                             </TXB>
    314.                         </FE>
    315.                         <FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    316.                             <GRP>
    317.                                 <p>250 V</p>
    318.                             </GRP>
    319.                         </FE>
    320.                     </FE>
    321.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    322.                         <STR/>
    323.                         <FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    324.                             <TXB>
    325.                                 <p>Nennstrom I<sub>N</sub>
    326.                                 </p>
    327.                             </TXB>
    328.                         </FE>
    329.                         <FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    330.                             <GRP>
    331.                                 <p>22 A</p>
    332.                             </GRP>
    333.                         </FE>
    334.                     </FE>
    335.                     <FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    336.                         <STR/>
    337.                         <FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
    338.                             <TXB>
    339.                                 <p>mm²/AWG/kcmil</p>
    340.                             </TXB>
    341.                         </FE>
    342.                         <FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    343.                             <TXT>0.2-2.5</TXT>
    344.                         </FE>
    345.                     </FE>
    346.                     <FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    347.                         <TXB/>
    348.                     </FE>
    349.                 </FE>
    350.             </FE>
    351.            
    352.             <FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    353.                 <LayoutAttribute name="type" value="non_ex"/>
    354.                 <STR/>
    355.                 <FE externalID="5903021" refColIDs="5903021" tagName="approval_name" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    356.                     <TXB>
    357.                         <p>cULus Recognized</p>
    358.                     </TXB>
    359.                 </FE>
    360.                 <FE tagName="image" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
    361.                     <STR/>
    362.                     <FE externalID="10610" refColIDs="929189" tagName="small" tagTypeIcon="tt4272.gif" tagTypeName="[ID:5663524]">
    363.                         <PIC thumbFileName="culus_kom_00.jpg">culus_kom_00</PIC>
    364.                     </FE>
    365.                     <FE externalID="10610" refColIDs="929189" tagName="large" tagTypeIcon="tt4272.gif" tagTypeName="[ID:5663524]">
    366.                         <PIC thumbFileName="culus_kom_04.jpg">culus_kom_04</PIC>
    367.                     </FE>
    368.                 </FE>
    369.                 <FE externalID="5902932" refColIDs="5902932" tagName="certification_center" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
    370.                     <TXB>
    371.                         <p>http://www.ul.com</p>
    372.                     </TXB>
    373.                 </FE>
    374.             </FE>
    375.         </FE>
    376.        
    377.     </SE>
    378. </SEPreview>

    XSL:
    HTML:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    3.     <xsl:output method="html"/>
    4.     <xsl:key name="usegroup_key" match="FE[@tagName='usegroup']/FE[@tagName='attribute']" use="FE[@tagName='label']/@refColIDs"/>
    5.     <xsl:template match="/">
    6.         <html>
    7.             <head>
    8.                 <title>Test Gruppierung approvals</title>
    9.             </head>
    10.             <body>
    11.                 <xsl:for-each select="SEPreview/SE[@tagName='Product']/FE[@tagName='approvals']/FE[@tagName='approval']">
    12.                     <xsl:variable name="approval" select="position()"/>
    13.                     approval durchlauf  <xsl:value-of select="$approval"/>
    14.                     <table border="1">
    15.                         <xsl:for-each select="FE[@tagName='usegroup']/FE[@tagName='attribute'][generate-id()=generate-id(key('usegroup_key',FE[@tagName='label']/@refColIDs)[1])]">
    16.                             <!--<xsl:sort select="FE[@tagName='label']/@refColIDs" data-type="number" order="ascending"/>-->
    17.                             <tr>
    18.                                 <td>
    19.                                     <strong>
    20.                                         <xsl:value-of select="FE[@tagName='label']/@refColIDs"/>
    21.                                     </strong>
    22.                                     <xsl:for-each select="FE[@tagName='label'] /TXB  ">
    23.                                         <xsl:value-of select="p"/>
    24.                                     </xsl:for-each>
    25.                                 </td>
    26.                                 <xsl:for-each select="key('usegroup_key', FE[@tagName='label']/@refColIDs)">
    27.                                     <!--<xsl:attribute name="rowspan"><xsl:value-of select="count(key('usegroup_key',FE[@tagName='label']/@refColIDs))"/></xsl:attribute>-->
    28.                                     <xsl:if test="(position() = 1)  ">
    29.                                     <td>
    30.                                
    31.                                         <xsl:variable name="position2" select="position()"/>
    32.                                                 <xsl:value-of select="$position2"/> durchlauf
    33.                                                                                    
    34.                                         <xsl:value-of select="FE[@tagName='value']/GRP/p"/>
    35.                                         <xsl:value-of select="FE[@tagName='value']/TXB/p"/>
    36.                                         <xsl:value-of select="FE[@tagName='value']/TXT"/>
    37.                                     </td>
    38.                                     </xsl:if>
    39.                                 </xsl:for-each>
    40.                             </tr>
    41.                         </xsl:for-each>
    42.                     </table>
    43.                 </xsl:for-each>
    44.             </body>
    45.         </html>
    46.     </xsl:template>
    47. </xsl:stylesheet>
    Wenn du die jetzt mal die XML mit der XSL transformierst, dann ist das Problem vlt. ersichtlicher!
    Ich erhalte folgende Darstellung wenn ich transformiere:
    approval.png

    Ich möchte für jede approval eine tabelle mit den usegroup Inhalten erstellen.
    Eine approval kann eine oder zwei usegroups beinhalten.
    Das bedeutet die Tabelle muss entweder 3 oder 2 Spaltig sein. 2 Spaltig bei einer usergroup und 3 spaltig bei 2 usegroups. Die erste Spalte ist immer für FE[@tagName='label'] vorgesehn, also für die Bezeichnung und die anderen jeweils für die Werte.
    Die bsp. siehst du aber auch in meinen oberen Posts!!

    - Das LayoutAttribute/@value ist einfach nur der bezeichner für die usegroup. Du kannst es als Klassiefizierung sehn. B kann max so un soviel spannung vertragen und D wieder einen anderen Bereich.

    Ich hoffe das hilft dir weiter!

    Gruß
     
    Zuletzt bearbeitet: 9. August 2012
  10. deepthroat

    deepthroat Erfahrenes Mitglied

    Hi.
    Ja, ich denke schon.

    Mit diesem Template:
    Code (XML):
    1.     <xsl:template match="FE[@tagName='approval']">
    2.       <xsl:variable name="approval" select="." />
    3.  
    4.       <table>
    5.         <thead>
    6.           <tr>
    7.             <th>usegroup</th>
    8.             <xsl:for-each select="FE[@tagName='usegroup']/LayoutAttribute">
    9.               <th><xsl:value-of select="@value" /></th>
    10.             </xsl:for-each>
    11.           </tr>
    12.         </thead>
    13.         <tbody>
    14.           <xsl:for-each select="FE[@tagName='usegroup'][1]/FE[@tagName='attribute']">
    15.             <tr>
    16.               <xsl:variable name="colID" select="FE[@tagName='label']/@refColIDs" />
    17.  
    18.               <td><xsl:copy-of select="FE[@tagName='label']/TXB/p" /></td>
    19.               <xsl:for-each select="$approval/FE[@tagName='usegroup']/FE[@tagName='attribute' and FE[@tagName='label']/@refColIDs = $colID]">
    20.                 <td><xsl:value-of select="FE[@tagName='value']" /></td>
    21.               </xsl:for-each>
    22.             </tr>
    23.           </xsl:for-each>
    24.         </tbody>
    25.       </table>
    26.     </xsl:template>
    und dem XML Dokument aus Beitrag #9 erhalte ich folgende Tabellen:



















    usegroup B D
    Nennspannung UN


    300 V



    300 V

    Nennstrom IN


    10 A



    5 A

    mm²/AWG/kcmil
    24-14

    24-14
    1. 41604
    2. 41610
    3. 6525019
    4. 41604
    5. 41610
    6. 6525019













    usegroup
    Nennspannung UN


    250 V

    Nennstrom IN


    22 A

    mm²/AWG/kcmil
    0.2-2.5
    1. 41604
    2. 41610
    3. 6525019

















    usegroup B D
    Nennspannung UN


    300 V



    300 V

    Nennstrom IN


    10 A



    5 A

    mm²/AWG/kcmil
    24-14

    24-14
    1. 41604
    2. 41610
    3. 6525019
    4. 41604
    5. 41610
    6. 6525019













    usegroup
    Nennspannung UN


    250 V

    Nennstrom IN


    22 A

    mm²/AWG/kcmil
    0.2-2.5
    1. 41604
    2. 41610
    3. 6525019













    usegroup
    Nennspannung UN


    250 V

    Nennstrom IN


    22 A

    mm²/AWG/kcmil
    0.2-2.5
    1. 41604
    2. 41610
    3. 6525019

    usegroup
    Gruß
     
    Zuletzt von einem Moderator bearbeitet: 19. September 2016
    princ84 gefällt das.
  11. princ84

    princ84 Grünschnabel

    Hi deepthroat,
    vielen vielen Dank für deinen Lösungsvorschlag! Hat auf anhieb funtkioniert!
    Könntest du mir vlt. noch erläutern was da genau pasiert, steig da nicht ganz durch!
    Danke dir nochnals, hasst mir sehr weiter geholfen!

    Gruß und schönes Wochende wünsch ich dir
     
  12. deepthroat

    deepthroat Erfahrenes Mitglied

    Erstmal, über die refColIDs zu gruppieren macht bei deinem Fall nicht viel Sinn, da du nur global gruppieren kannst und dann in einer Gruppe alle attribute aus allen approvals hast. (welche du dann wieder trennen müßtest)

    Im Grund macht das Template nur das was du gesagt hast: es erstellt eine Tabelle von einem approval.

    Dazu wird nur erstmal der Kopf der Tabelle aus dem LayoutAttribute der usegroup Kind-Elemente generiert.

    Dann werden alle Attribute des ersten usegroup Kind-Elements verarbeitet um den Tabellenkörper zu erstellen.

    Dazu werden einfach alle attribute in einer Schleife verarbeitet, die - ausgehend vom aktuellen approval Element - dieselbe colID haben wie das aktuelle attribute.
    Danke, ebenfalls!
     
Die Seite wird geladen...