Thomas J.S.: Mehrere XML Dokumente einlesen

Beitrag lesen

Hallo,

Hat sich nichts getan, hab die Änderungen so durchgeführt.

Bei dem Kode kann ich den Parser verstehen, wenn er auf Urlaub geht ;-)

Hoffentlich bist du in einem: <xsl:template match="Datei">

Also ich verweise damit auf folgende Regel:

<!-- Template Rules -->

<xsl:template match="Article" mode="side" >
      xsl:choose
        <xsl:when test="testelement='HT'">

Der Vergleich geht, aber es ist kein guter Stil das so abzufragen, aber das hatten wir schon, oder?

<xsl:call-template name="ht"/>
        </xsl:when>
        xsl:otherwiseKein Artikel in HT vorhanden!</xsl:otherwise>
      </xsl:choose>
    </xsl:template>

und folgendes Template:

<!-- HT -->
  <xsl:template name="ht">
    <fieldset style= "border: 1px solid #999999; width: 100%">
      <h2><legend style= "-10px">Hot Topics</legend></h2>

Korrigiere bitte deinen Kode, bitte mache keine Lerrzeichen nach = (z.B. beim style=)
Apropos style: -10px von? Link, rechts, oben, unten, vom Teekuchen aus gesehen?

<ul style="">
          <li class="topic"><a href="LINK" target="_blank">

Dein Elemente im XML heisst a) nicht "LINK" sondern "link" und b) du muss da entweder href="{link}" nehmen, oder <a target="_blank"><xsl:attribut name="href"><xsl:value-of select="link" /></xsl:attribute></a>

<xsl:value-of select="Article/titel"/></a><br/>
          <xsl:value-of select="Article/abstract"/></li>

Du bist bereits im Article, darin befindet sich kein weiteres Article-Element also wird auch nicht gefunden.

Grüße
Thomas

-----------------------------------
<?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="/Documents">
  <html>
   <head>
    <title>Untitled</title>
   </head>
   <body>
    <xsl:apply-templates select="Datei" />
   </body>
  </html>
 </xsl:template>
 <xsl:template match="Datei">
  <div class="float">
   <xsl:apply-templates select="document(@Name)/Article" mode="side"/>
  </div>
 </xsl:template>
 <xsl:template match="Article" mode="side" >
  xsl:choose
   <xsl:when test="testelement[. = 'HT']">
    <xsl:call-template name="ht"/>
   </xsl:when>
   xsl:otherwiseKein Artikel in HT vorhanden!</xsl:otherwise>
  </xsl:choose>
 </xsl:template>
 <xsl:template name="ht">
  <fieldset style="border: 1px solid #999999; width: 100%">
   <h2><legend style="">Hot Topics</legend></h2>
   <ul style="">
    <li class="topic">
     <a href="{link}" target="_blank">
      <xsl:value-of select="titel"/>
     </a><br/>
     <xsl:value-of select="abstract"/>
    </li>
   </ul>
  </fieldset>
  <br/>
 </xsl:template>
</xsl:stylesheet>