Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

XSL Problem

Empfohlene Antworten

Veröffentlicht

Hallo alles zusammen,

ich habe hier eine xsl Datei, welche eine Ausgabe machen soll. Dies geht auch, nur wird immer nur ein Eintrag genommen und nicht alle. Hier der Code...


<xsl:for-each select="ProfSkills/GroupSkills">
<xsl:variable name="groupName" select="GroupSkillsName"/>
<xsl:for-each select="Skill">
<xsl:choose>
<xsl:when test="position() =1">
<xsl:choose>
<xsl:when test="$groupName ='Hardware'">
<tr>
<td width="160" valign="top" style="width:160">
<b><p class="MsoNormal"><span style='font-size:10.0pt; font-family:Verdana'>Hardware:</span></p></b>
</td>
<td>




<xsl:choose>
<xsl:when test="$groupName ='Hardware'">
<xsl:value-of select="."/> <xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
</xsl:when>
</xsl:choose>





</td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
[/PHP]

In Der Gruppe Hardware sind mehrer Einträge da. Was mus sgeändert werden, damit der alle nimmt?

Klaus

Servus,

meine XSLT-Zeit ist zwar schon ein bisschen her, aber kann es an Deinem <xsl:when test="position() =1"> liegen? Das sollte doch nur beim ersten Eintrag zutreffen.

Schmeiß das mal raus und probiers.

Peter

Ach so, dann gehts nicht.

Im Ernst: Was soll mir das sagen:

da bekomm eich einen fehler au sder software, die das ganze verarbeitet. also wird es da zu einer fehlermeldung kommen,

Ich vermute jetzt einfach mal wieder wild in der Gegend rum: Du bekommst einen Fehler aus der weiterverarbeitenden Software, wenn Du eine Einschränkung aus Deinem XSL rausnimmst, aber Du willst diese Einschränkung nicht haben? Dann ist die weiterverarbeitende Software Dein Problem, nicht die Transformation mit XSL.

Peter

  • Autor

Hallo, ich habe das ganz enochmals überarbeitet. Die Anzeige ist nun so wie es sein soll, nur ein kleiner Schönheitsfehler ist noch da. Da ich nun seit einigen Stunden daran sitze, wende ich mich noch mal hier her.

Folgender Code:


<!-- Datenbanken -->
<xsl:for-each select="ProfSkills/GroupSkills">
<xsl:variable name="groupName" select="GroupSkillsName"/>
<xsl:for-each select="Skill">
<xsl:choose>
<xsl:when test="position() =1">
<xsl:choose>
<xsl:when test="$groupName ='Datenbanken'">

<tr>
<td width="160" valign="top" style="width:160">
<b><p class="MsoNormal"><span style='font-size:10.0pt; font-family:Verdana'>Datenbanken:</span></p></b>
</td>
<td width="500" valign="top" style="width:500;border:none;border-left:solid blue 1.0pt">

</td>
</tr>

</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>

<xsl:for-each select="ProfSkills/GroupSkills">
<xsl:variable name="groupName" select="GroupSkillsName"/>
<xsl:for-each select="Skill">
<xsl:choose>
<xsl:when test="$groupName ='Datenbanken'">
<span style='font-size:10.0pt; font-family:Verdana;'>
<xsl:value-of select="."/> <xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
</span>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>


<!-- DC/Netzwerke -->
<xsl:for-each select="ProfSkills/GroupSkills">
<xsl:variable name="groupName" select="GroupSkillsName"/>
<xsl:for-each select="Skill">
<xsl:choose>
<xsl:when test="position() =1">
<xsl:choose>
<xsl:when test="$groupName ='DC/Netzwerke'">

<tr>
<td width="160" valign="top" style="width:160">
<b><p class="MsoNormal"><span style='font-size:10.0pt; font-family:Verdana'>DC/Netzwerke:</span></p></b>
</td>
<td width="500" valign="top" style="width:500;border:none;border-left:solid blue 1.0pt">

</td>
</tr>

</xsl:when>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>

<xsl:for-each select="ProfSkills/GroupSkills">
<xsl:variable name="groupName" select="GroupSkillsName"/>
<xsl:for-each select="Skill">
<xsl:choose>
<xsl:when test="$groupName ='DC/Netzwerke'">
<span style='font-size:10.0pt; font-family:Verdana;'>
<xsl:value-of select="."/> <xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
</span>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>


[/PHP]

Dieser erzeugt eine Ausgabe in einer Tabelle.

Datenbanken Wert1, Wert2 usw.

DC/Netzwerke Wert1, Wert2 usw.

Das Problem ist, dass der Bezeichner "Datenbanken bzw. DC/ Netzwerke) immer eine Zeile nach unten gesetzt ist bzw. über dem bezeichner eine Leerzeile ist.

Hat jemand eine Idee, wie ich dies weg bekomme?

Klaus

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.