Birgit: XSL-Tabelle

Beitrag lesen

Super Thomas, das klappt ja wirklich! Ich danke Dir!

Viele Grüße
Birgit

Hallo Birgit,

hier ist meine XS-Datei. Vielleicht fällt Dir ja noch etwas ein! Ich bekomme jdenfalls nicht das erwünschte Ergebnis mit der if-Anweisung.

<xsl:template match="dataDscr">
   <p><u><xsl:value-of select="var/@name" /></u></p>
   <p>Location: <i><xsl:value-of select="var/location/@StartPos" /></i></p>

so selectierst du immer den ersten 'var' innerhalb von 'dataDscr'

<xsl:if test="var/@name='V38'">
<xsl:for-each select="var/catgry">

dann selektiert jede 'var/catgry' und gibst du das ergebniss aus.

ich habe mal den sheet (hier abgekürz auf das wesentliche) umgeschriben:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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:template match="codeBook">
   <html>
      <head>
         <title>Test-Codebuch</title>
      </head>
      <body bgcolor="#008000">
         <h1>Test-Codebuch</h1>
         <xsl:apply-templates select="dataDscr" />
      </body>
  </html>
</xsl:template>

<xsl:template match="dataDscr/var">
   <p><u><xsl:value-of select="@name" /></u></p>
   <p>Location: <i><xsl:value-of select="location/@StartPos" /></i></p>
   <p>Width: <i><xsl:value-of select="location/@width" /></i></p>
   <p>Variable Group Label: <i><xsl:value-of select="labl" /></i></p>
   <p>Literal Question: <i><xsl:value-of select="qstn/qstnLit" /></i></p>
   <p>Backflow: <i><xsl:value-of select="qstn/backward" /></i></p>
     <xsl:if test="@name='V38'">
      <xsl:for-each select="catgry">
         <i><xsl:value-of select="concat(catValu,'. ',txt)" /></i><br />
      </xsl:for-each>
     </xsl:if>
</xsl:template>
</xsl:stylesheet>

grüße
thomas