Christoph: foreach-Schleife liest nichts aus

Beitrag lesen

Hallo,

ich will mittels einer XSL-Datei mein XML-Dokument auslesen. Aber das funktioniert nicht so richtig. In der XML-Datei stehen ja eine Menge von Attributen drin, die ich aber alle gar nicht benötige, ich brauch eigentlich nur 3 (title,summery,channel). Auslesen tut er mir davon aber keins. Die XML-Struktur darf ich auch nicht verändern, da die von SOLR so vorgegeben wurde...

Meine DTD sieht so aus:

<!ELEMENT response (doc)*>
<!ELEMENT doc  (title,summery,channel)>
<!ELEMENT title  (#PCDATA)>
<!ELEMENT summery (#PCDATA)>
<!ELEMENT channel (#PCDATA)>

Meine XSL-Datei so:

  
<?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="/">  
  <html>  
  <head>  
  </head>  
  <body>  
   <table border="1">  
   <tr>  
    <td><b>Titel</b></td>  
    <td><b>Text</b></td>  
   </tr>  
   <xsl:for-each select="response/doc">  
   <tr>  
    <td valign="top"><xsl:value-of select="title" /></td>  
    <td valign="top"><xsl:value-of select="summery" /></td>  
   </tr>  
   </xsl:for-each>  
   </table>  
  </body>  
  </html>  
 </xsl:template>  
</xsl:stylesheet>  

Und meine XML-Datei gekürzt so:

  
<?xml version="1.0" encoding="utf-8"?>  
<!DOCTYPE response SYSTEM "response.dtd">  
<?xml-stylesheet type="text/xsl" href="response.xsl" ?>  
<response>  
 <lst name="responseHeader">  
  <int name="status">0</int>  
  <int name="QTime">2</int>  
 </lst>  
 <result name="response" numfound="18" start="0" maxscore="0.4055336">  
  <doc>  
   <float name="score">0.4055336</float>  
   <str name="body">Text, ganz viel Text über seidene Haare...</str>  
   <arr name="channel"><str>beauty-wellness/schoene-haare_tipps-tricks</str></arr>  
   <arr name="domain"><int>1</int><int>2</int><int>3</int></arr>  
   <str name="name">glaenzende_Haare</str>  
   <int name="nid">13</int>  
   <str name="summery">"Pailletten, Seide, Lurex: Nicht nur auf den Laufstegen funkelt und glitzert es. Auch das Haar erstrahlt in neuem Glanz. Pflege- und Stylingtipps vom wellaflex-Styling-Experten wellaflex-Styling-Experte Sascha Breuer verrät die Tricks, wie Sie mehr Glanz in Ihre Haare zaubern."</str>  
   <str name="title">"Glänzende  Aussichten"</str>  
  </doc>  
  <doc>  
   <float name="score">0.35223204</float>  
   <str name="body">Ganz viel Text über schöne Haare</str>  
   <arr name="channel"><str>beauty-wellness/schoene-haare_tipps-tricks</str></arr>  
   <arr name="domain"><int>1</int><int>2</int><int>3</int></arr>  
   <str name="name">Zeitlos_schoenes_Haar</str>  
   <int name="nid">5</int>  
   <str name="summery">"Können Sie sich noch an Ereignisse erinnern, die uns in den vergangenen zwei Jahren beschäftigten? Wir wurden Papst, ganz Deutschland war im Fußballfieber und Desperate Housewives löste Sex &amp; the City ab. Und was ist noch passiert? Gar nicht so leicht, sich zu erinnern, oder?"</str>  
   <str name="title">"Zeitlos schönes Haar"</str>  
  </doc>  
 </result>  
</response>