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 & 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>