XSLT Problem bei HTML-Tabellen Darstellung

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 :

usegroupBD
Nennspannung300300
Nennstrom10 5
AWGl24-1424-14
Tabelle1

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

Nennspannung300
Nennstrom10
AWGl24-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


usegroupBD
Nennspannung300
Nennstrom10
AWGl24-14
300
5
24-14
Tabelle3

Mein Ansatz in XSLT sieht bisher folgendermaßen aus:

HTML:
<xsl:for-each select="FE[@tagName='usegroup']">
			<xsl:variable name="useValue" select="LayoutAttribute/@value"/>
			
			
			<xsl:for-each select="FE[@tagName='attribute']">
	<tr>
	
		<xsl:if test="$useValue = 'B' ">
		<td align="left" style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
						
						
							
							<xsl:for-each select="FE[@tagName='label'] /TXB  " >
								<xsl:value-of select="p"/><br/>
							</xsl:for-each> 
						</td>
					
					
					
						 <!--füllen der rechte Spalte in der Tabelle (Value Wert -->
						
						<td style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
							<xsl:for-each select="FE[@tagName='value'] ">
								<xsl:value-of select="TXB/p"/>
								<xsl:value-of select="TXT"/>
								<xsl:value-of select="STR"/>
								<xsl:value-of select="NUM/p"/>
								<xsl:value-of select="GRP/p"/>
								<br/>
							</xsl:for-each> 
						</td>
					 </xsl:if>
					 
					 	
						<xsl:if test="$useValue = 'D' ">
						<td style="padding:10px; height:32px; width:450px; border:solid 1px #d8d8d8;">
							<xsl:for-each select="FE[@tagName='value'] ">
								<xsl:value-of select="TXB/p"/>
								<xsl:value-of select="TXT"/>
								<xsl:value-of select="STR"/>
								<xsl:value-of select="NUM/p"/>
								<xsl:value-of select="GRP/p"/>
								<br/>
							</xsl:for-each> 
						</td>
						
						 </xsl:if>
						
						
		</tr>	
				 </xsl:for-each>	
                          </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:
   <FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
			<STR/>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				<STR/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="B"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>10 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="D"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>5 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				<STR/>
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value=""/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>250 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>22 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>0.2-2.5</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
		</FE>

Gruß
Peter
 
Zuletzt bearbeitet:
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?

XML:
<xsl:for-each-group select="FE[@tagName='attribute']" group-by="FE[@tagName='value']/@refColIDs">
  ...
</xsl:for-each-group>
Gruß
 
Zuletzt bearbeitet von einem Moderator:
Hi,
danke erstmal für deinen tipp! Ich habe jetzt die Tabelle soweite aufgebaut, siehe Tabelle (die zweite Spalte sind die REFColIDs) :
Nennspannung UN41604300300250300300250250
Nennstrom41610105221052222
mm²/AWG/kcmil652501924-1424-140.2-2.524-1424-140.2-2.50.2-2.5

Die XSL Datei:
HTML:
<table border="1">
					<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">
						<group>
							<tr>
								<td>
									<xsl:for-each select="FE[@tagName='label'] /TXB  ">
										<xsl:value-of select="p"/>
										<br/>
									</xsl:for-each>
								</td>
								<th>
									<key>
										<xsl:value-of select="current-grouping-key()"/>
									</key>
								</th>
								<xsl:for-each select="current-group()">
									<td>
										<xsl:value-of select="FE[@tagName='value']/GRP/p"/>
										<xsl:value-of select="FE[@tagName='value']/TXB/p"/>
										<xsl:value-of select="FE[@tagName='value']/TXT"/>
										<xsl:value-of select="FE[@tagName='value']/STR"/>
										<xsl:value-of select="FE[@tagName='value']/NUM/p"/>
									</td>
								</xsl:for-each>
							</tr>
						</group>
					</xsl:for-each-group>
				</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:

usegroupBD
Nennspannung300300
Nennstrom10 5
AWGl24-1424-14

usegroupBD
Nennspannung300300
Nennstrom20 10
AWGl24-1024-13

Nennspannung300
Nennstrom10
AWGl24-14
Ich hoffe ihr versteht mein Problem!

@deepthroat: Welche Informationen benötigst du den zum XML Quelldokument?
 
Zuletzt bearbeitet:
Hi.
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 Lösung ist eigentlich so offensichtlich und simpel, da kommst du bestimmt selbst drauf.
@deepthroat: Welche Informationen benötigst du den zum XML Quelldokument?
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ß
 
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 :)
 
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:
usegroupBD
Nennspannung300300
Nennstrom10 5
AWGl24-1424-14

usegroupBD
Nennspannung300300
Nennstrom20 10
AWGl24-1024-13

Nennspannung300
Nennstrom10
AWGl24-14


Meine momentane XSLT:

HTML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
	<xsl:output method="html"/>
	<xsl:key name="usegroup_key" match="FE[@tagName='usegroup']/FE[@tagName='attribute']" use="FE[@tagName='label']/@refColIDs"/>
	<xsl:template match="/">
		<html>
			<head>
				<title>Test Gruppierung approvals</title>
			</head>
			<body>
				<xsl:for-each select="SEPreview/SE[@tagName='Product']/FE[@tagName='approvals']/FE[@tagName='approval']">
					<table border="1">
						<xsl:for-each select="FE[@tagName='usegroup']/FE[@tagName='attribute'][generate-id(.)=generate-id(key('usegroup_key',FE[@tagName='label']/@refColIDs)[1])]">
							<!--<xsl:sort select="FE[@tagName='label']/@refColIDs" data-type="number" order="ascending"/>-->
							<tr>
								<td>
									<xsl:variable name="position" select="position()"/>
									<strong>durchlauf der <xsl:value-of select="$position"/> Schleife</strong>
									<xsl:for-each select="FE[@tagName='label'] /TXB  ">
										<xsl:value-of select="p"/>
									</xsl:for-each>
								</td>
								<xsl:for-each select="key('usegroup_key', FE[@tagName='label']/@refColIDs)">
									<!--<xsl:attribute name="rowspan"><xsl:value-of select="count(key('usegroup_key',FE[@tagName='label']/@refColIDs))"/></xsl:attribute>-->
									<xsl:if test="(position() = 1)  ">
										<td>
											<xsl:variable name="key" select="key('usegroup_key', FE[@tagName='label']/@refColIDs)"/>
											<strong>			Schlüssel:<xsl:value-of select="$key"/>
											</strong>
											<br/>
											<xsl:variable name="position2" select="position()"/>
																				durchlauf der <xsl:value-of select="$position2"/> Gruppe
																					<!--<xsl:value-of select="FE[@tagName='label']/@refColIDs"/>-->
											<xsl:value-of select="FE[@tagName='value']/GRP/p"/>
											<xsl:value-of select="FE[@tagName='value']/TXB/p"/>
											<xsl:value-of select="FE[@tagName='value']/TXT"/>
											<xsl:value-of select="FE[@tagName='value']/STR"/>
											<xsl:value-of select="FE[@tagName='value']/NUM/p"/>
										</td>
									</xsl:if>
								</xsl:for-each>
							</tr>
						</xsl:for-each>
					</table>
				</xsl:for-each>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>


Meine tabelle sieht nach der oberen xsl folgendermaßen aus:
Nennspannung300
Nennstrom10
AWGl24-14


Der HTML Code sieht folgendermaßen aus:
HTML:
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Test Gruppierung approvals</title>
	</head>
	<body>
		<table border="1">
			<tr>
				<td><strong>durchlauf der 1 Schleife</strong>Nennspannung UN</td>
				<td><strong>			Schlüssel:Nennspannung UN300 V</strong><br>
																				durchlauf der 1 Gruppe
																					300 V</td>
			</tr>
			<tr>
				<td><strong>durchlauf der 2 Schleife</strong>Nennstrom IN</td>
				<td><strong>			Schlüssel:Nennstrom IN10 A</strong><br>
																				durchlauf der 1 Gruppe
																					10 A</td>
			</tr>
			<tr>
				<td><strong>durchlauf der 3 Schleife</strong>mm²/AWG/kcmil</td>
				<td><strong>			Schlüssel:mm²/AWG/kcmil24-14</strong><br>
																				durchlauf der 1 Gruppe
																					24-14</td>
			</tr>
		</table>
		<table border="1"></table>
		<table border="1"></table>
		<table border="1"></table>
		<table border="1"></table>
		<table border="1"></table>
		<table border="1"></table>
	</body>
</html>

Wie man sieht müssen 7 unterschiedliche Tabellen erstellt werden, es wird aber nichts hinzugefügt!

Hier nochmal mein XML:
HTML:
<FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
			<STR/>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				<STR/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="B"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>10 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="D"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>5 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
                         <FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value=""/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>250 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>22 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>0.2-2.5</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</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:
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ß
 
Hi,

das waren nur beispiel auszüge aus der xml!

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

XML:
HTML:
<?xml version="1.0" encoding="UTF-8"?>

<SEPreview pvID="12304">
	<SE seID="852860152" tagName="Product" tagTypeIcon="tt4174.gif" tagTypeName="[ID:5639851]">
		
			
		<FE tagName="approvals" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
			<STR/>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="B"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>10 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="D"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>5 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value=""/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>250 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>22 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>0.2-2.5</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="B"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>10 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value="D"/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>300 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>5 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="421923" refColIDs="421923" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>24-14</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value=""/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>250 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>22 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>0.2-2.5</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				
				<FE tagName="usegroup" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<LayoutAttribute name="type" value=""/>
					<STR/>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41604" refColIDs="41604" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennspannung U<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="170" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>250 V</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="TXB-41610" refColIDs="41610" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>Nennstrom I<sub>N</sub>
								</p>
							</TXB>
						</FE>
						<FE refColIDs="310" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<GRP>
								<p>22 A</p>
							</GRP>
						</FE>
					</FE>
					<FE tagName="attribute" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
						<STR/>
						<FE externalID="6525019" refColIDs="6525019" tagName="label" tagTypeIcon="tt4276.gif" tagTypeName="[ID:5663528]">
							<TXB>
								<p>mm²/AWG/kcmil</p>
							</TXB>
						</FE>
						<FE externalID="6385684" refColIDs="6385684" tagName="value" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
							<TXT>0.2-2.5</TXT>
						</FE>
					</FE>
					<FE tagName="note" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
						<TXB/>
					</FE>
				</FE>
			</FE>
			
			<FE tagName="approval" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
				<LayoutAttribute name="type" value="non_ex"/>
				<STR/>
				<FE externalID="5903021" refColIDs="5903021" tagName="approval_name" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
					<TXB>
						<p>cULus Recognized</p>
					</TXB>
				</FE>
				<FE tagName="image" tagTypeIcon="tt4273.gif" tagTypeName="[ID:5663525]">
					<STR/>
					<FE externalID="10610" refColIDs="929189" tagName="small" tagTypeIcon="tt4272.gif" tagTypeName="[ID:5663524]">
						<PIC thumbFileName="culus_kom_00.jpg">culus_kom_00</PIC>
					</FE>
					<FE externalID="10610" refColIDs="929189" tagName="large" tagTypeIcon="tt4272.gif" tagTypeName="[ID:5663524]">
						<PIC thumbFileName="culus_kom_04.jpg">culus_kom_04</PIC>
					</FE>
				</FE>
				<FE externalID="5902932" refColIDs="5902932" tagName="certification_center" tagTypeIcon="tt4275.gif" tagTypeName="[ID:5663527]">
					<TXB>
						<p>http://www.ul.com</p>
					</TXB>
				</FE>
			</FE>
		</FE>
		
	</SE>
</SEPreview>


XSL:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
	<xsl:output method="html"/>
	<xsl:key name="usegroup_key" match="FE[@tagName='usegroup']/FE[@tagName='attribute']" use="FE[@tagName='label']/@refColIDs"/>
	<xsl:template match="/">
		<html>
			<head>
				<title>Test Gruppierung approvals</title>
			</head>
			<body>
				<xsl:for-each select="SEPreview/SE[@tagName='Product']/FE[@tagName='approvals']/FE[@tagName='approval']">
					<xsl:variable name="approval" select="position()"/>
					approval durchlauf  <xsl:value-of select="$approval"/>
					<table border="1">
						<xsl:for-each select="FE[@tagName='usegroup']/FE[@tagName='attribute'][generate-id()=generate-id(key('usegroup_key',FE[@tagName='label']/@refColIDs)[1])]">
							<!--<xsl:sort select="FE[@tagName='label']/@refColIDs" data-type="number" order="ascending"/>-->
							<tr>
								<td>
									<strong>
										<xsl:value-of select="FE[@tagName='label']/@refColIDs"/>
									</strong>
									<xsl:for-each select="FE[@tagName='label'] /TXB  ">
										<xsl:value-of select="p"/>
									</xsl:for-each>
								</td>
								<xsl:for-each select="key('usegroup_key', FE[@tagName='label']/@refColIDs)">
									<!--<xsl:attribute name="rowspan"><xsl:value-of select="count(key('usegroup_key',FE[@tagName='label']/@refColIDs))"/></xsl:attribute>-->
									<xsl:if test="(position() = 1)  ">
									<td>
								
										<xsl:variable name="position2" select="position()"/>
												<xsl:value-of select="$position2"/> durchlauf 
																					
										<xsl:value-of select="FE[@tagName='value']/GRP/p"/>
										<xsl:value-of select="FE[@tagName='value']/TXB/p"/>
										<xsl:value-of select="FE[@tagName='value']/TXT"/>
									</td>
									</xsl:if>
								</xsl:for-each>
							</tr>
						</xsl:for-each>
					</table>
				</xsl:for-each>
			</body>
		</html>
	</xsl:template>
</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:
Hi.
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.

- 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!
Ja, ich denke schon.

Mit diesem Template:
XML:
	<xsl:template match="FE[@tagName='approval']">
	  <xsl:variable name="approval" select="." />

	  <table>
		<thead>
		  <tr>
			<th>usegroup</th>
			<xsl:for-each select="FE[@tagName='usegroup']/LayoutAttribute">
			  <th><xsl:value-of select="@value" /></th>
			</xsl:for-each>
		  </tr>
		</thead>
		<tbody>
		  <xsl:for-each select="FE[@tagName='usegroup'][1]/FE[@tagName='attribute']">
			<tr>
			  <xsl:variable name="colID" select="FE[@tagName='label']/@refColIDs" />

			  <td><xsl:copy-of select="FE[@tagName='label']/TXB/p" /></td>
			  <xsl:for-each select="$approval/FE[@tagName='usegroup']/FE[@tagName='attribute' and FE[@tagName='label']/@refColIDs = $colID]">
				<td><xsl:value-of select="FE[@tagName='value']" /></td>
			  </xsl:for-each>
			</tr>
		  </xsl:for-each>
		</tbody>
	  </table>
	</xsl:template>
und dem XML Dokument aus Beitrag #9 erhalte ich folgende Tabellen:
...

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Zurück