Toni: Tabelle bleibt leer

Hallo zusammen,

bin Neuling auf dem Gebiet xml und habe Probleme mit xsl. Ich habe eine html-Datei in der ich meine Daten erfasst habe. Nun möchte ich einen Teil davon in einer Tabelle ausgeben. Der Tabellenkopf wird ausgegeben, aber die dazugehörigen Daten nicht. Was mache ich falsch?

XSL-Datei

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<p><font color="red"><h2>Pneumologe</h2></font></p>
<table border="1" width="400">
<tr>
<td>Name</td>
<td>Vorname</td>
</tr>
<tr><p><xsl:for-each select="Evaluation/Pneumologe/Person">
<td><p><xsl:value-of select="@Name"/></p></td>
<td><p><xsl:value-of select="@Vorname"/></p></td>
</xsl:for-each></p>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

  1. Hallo Toni,

    bin Neuling auf dem Gebiet xml und habe Probleme mit xsl. Ich habe eine html-Datei in der ich meine Daten erfasst habe.

    Im HTML-Code steht u. a. ein Evaluation-Element? Gibt es dort spezielle Namensraumangaben?

    Nun möchte ich einen Teil davon in einer Tabelle ausgeben. Der Tabellenkopf wird ausgegeben, aber die dazugehörigen Daten nicht. Was mache ich falsch?

    Zeige mal ein Stück vom XML-Code, der zum XSLT-Code passen soll.

    Grüße,
    Thomas

    1. <?xml version="1.0" encoding="UTF-8"?>
      <!-- edited with XMLSpy v2009 (http://www.altova.com) by toni (EMBRACE) -->
      <?xml-stylesheet type="text/xsl" href="file:///C:/Program%20Files/Altova/XMLSpy2009/Stylesheets/xmlspec/xmlspec.xsl"?>
      <Evaluation xmlns="http://tx-evaluation.com/Namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tx-evaluation.com/Namespace C:\Users\toni\Desktop\Toni\Schema\Evaluation.xsd">
      <Pneumologe Chefarzt="true" Oberarzt="false" Assistenzarzt="false">
      <Person>
      <Titel>Prof. Dr.</Titel>
      <Vorname>Tobias</Vorname>
      <Nachname>Welte</Nachname>
      <Geburtsdatum>1956-09-07</Geburtsdatum>
      <Personalnummer>32</Personalnummer>
      </Person>
                     ...
                     ...
              </Pneumologe>
      </Evaluation>

      1. Hallo Toni,

        unter Berücksichtigung des Default-Namensraumes (xmlns="...") im Stylesheet als Extension:* ergibt sich:

        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
          xmlns:Evaluation="http://tx-evaluation.com/Namespace"  
          exclude-result-prefixes="Evaluation">  
          
          <!-- ... -->  
          
        </xsl:stylesheet>
        

        Anwendung im Template:

        <xsl:for-each select="Evaluation:Evaluation/Evaluation:Pneumologe/Evaluation:Person">  
          <tr>  
            <td><xsl:value-of select="Evaluation:Nachname"/></td>  
            <td><xsl:value-of select="Evaluation:Vorname"/></td>  
          </tr>  
        </xsl:for-each>
        

        Grüße,
        Thomas

        1. [Nachtrag:]

          unter Berücksichtigung des Default-Namensraumes (xmlns="...") im Stylesheet als Extension:* ergibt sich: ...

          Evaluation:* war gemeint.

          Grüße,
          Thomas

          1. Vielen Dank.

            Hat super geklappt!