
XML-Dateio (RSS-Feed) in HTML einbinden
Guten Abend!
Ich habe hier einen RSS-Feed (v 2.0), der als XML-Datei vorliegt. Zur
Zeit erstelle ich daraus in einem separaten Arbeitsgang eine HTML-Datei,
die ich per "Seite einschließen" in mein Web einbaue.
FP2000 läßt nur das Einbinden von HTML-Dateien zu. Welche anderen
Optionen gibt es, die XML-Datei einzubinden, damit ich mir den separaten
Arbeitsgang zur HTML-Erstellung ersparen kann?
Die Funktionalität von "Seite einschließen" sollte dabei gewährleistet
bleiben.
Vermutlich ist eine Option diese:
Die XML-Datei liegt vor. Darin wird auf eine DTD-Datei verwiesen, die
die Struktur der XML abbildet. Nun wird eine XSL-Datei erstellt, die auf
Basis der DTD die XML ausliest und eine HTML erstellt.
Fragen dazu:
Wird die HTM on the fly auf dem Server erstellt oder liegt die
physikalisch wo vor?
Ist eine solche XSL eine XSLT?
Wie kann ich eine solche Konstruktion per "Seite einschließen" in mein
Web einbauen?
Vielen Dank vorab für Hinweise.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
Juergen Terlinden schrieb:
> Wie kann ich eine solche Konstruktion per "Seite einschließen" in mein
> Web einbauen?
Ein XSLT-Stylesheet kann die Transformation von RSS in (X)HTML vornehmen.
Solche Stylesheets gibt es vermutlich wie Sand am Meer, du kannst mit
einigen XSLT-Kenntnissen aber auch selber eines schreiben. FrontPage 2003
enthält sogar ein IntelliSense-Schema für XSLT, damit schreiben sich
solche Stylesheets fast von allein.
Das Stylesheet kannst du auf dem Server anwenden, wenn du bspw. ASP
verwenden kannst, oder in FrontPage mit VBA oder an der Konsole etwa mit
msxsl.exe. Wenn dein Server die FrontPage-Servererweiterungen unterstützt,
ist der VBA-Ansatz sehr elegant, muß natürlich manuell angestoßen werden.
--
<http://schneegans.de/sv/> - XML Schema Validator |
<http://schneegans.de/xp/> - XHTML Proxy |
<http://www.politicallyincorrect.de/> - Mein Lieblings-Blog |
Re: XML-Dateio (RSS-Feed) in HTML einbinden
Hallo,
ich bin nicht sicher, ob ich das Problem richtig verstanden habe. Unter
http://www.Adler-Langlauf.de
werden Feeds -abonniert- und mit einer einfachen PHP5-Skript aus-
gelesen (dafür ist PHP5 einfach wie geschaffen) und schon läuft alles
bestens. Natürlich muß so ein Script über ein Formular aufgerufen
werden.
Man kann natürlich aus mehreren Newsfeeds auswählen, aber wie gesagt.
PHP5 und XML bilden ein ideales Gespann, was XML anbetrifft !
Vielleicht ist dieses die richtige Richtung und hilft weiter.
Mit den besteb Grüssen
Fritz
"Juergen Terlinden" <j_to_messi [at] yahoo.de> schrieb im Newsbeitrag
news:el78h0$trs$01$1 [at] news.t-online.com...
> Guten Abend!
>
> Ich habe hier einen RSS-Feed (v 2.0), der als XML-Datei vorliegt. Zur
> Zeit erstelle ich daraus in einem separaten Arbeitsgang eine HTML-Datei,
> die ich per "Seite einschließen" in mein Web einbaue.
>
> FP2000 läßt nur das Einbinden von HTML-Dateien zu. Welche anderen
> Optionen gibt es, die XML-Datei einzubinden, damit ich mir den separaten
> Arbeitsgang zur HTML-Erstellung ersparen kann?
> Die Funktionalität von "Seite einschließen" sollte dabei gewährleistet
> bleiben.
>
> Vermutlich ist eine Option diese:
> Die XML-Datei liegt vor. Darin wird auf eine DTD-Datei verwiesen, die
> die Struktur der XML abbildet. Nun wird eine XSL-Datei erstellt, die auf
> Basis der DTD die XML ausliest und eine HTML erstellt.
>
> Fragen dazu:
> Wird die HTM on the fly auf dem Server erstellt oder liegt die
> physikalisch wo vor?
>
> Ist eine solche XSL eine XSLT?
>
> Wie kann ich eine solche Konstruktion per "Seite einschließen" in mein
> Web einbauen?
>
> Vielen Dank vorab für Hinweise.
>
> --
> Gruß Jürgen
> ***
> Windows 2000 SP4 - Alle Updates - 01.12.06
> http://home.arcor.de/jterlinden/index.htm
>
Re: XML-Dateio (RSS-Feed) in HTML einbinden
'Christoph Schneegans' wrote:
>> Wie kann ich eine solche Konstruktion per "Seite einschließen" in
>> mein Web einbauen?
>
> Ein XSLT-Stylesheet kann die Transformation von RSS in (X)HTML
> vornehmen. Solche Stylesheets gibt es vermutlich wie Sand am Meer, du
> kannst mit einigen XSLT-Kenntnissen aber auch selber eines schreiben.
> FrontPage 2003 enthält sogar ein IntelliSense-Schema für XSLT, damit
> schreiben sich solche Stylesheets fast von allein.
Habe nur FP2000 und nur sehr geringe XSL-Kenntnisse. Aber auf der Basis
eines vorhandenen sheets habe ich dieses gebastelt.
http://www.tcbislich.de/rss/rss_deutsch.xsl
Ist das nun ein xsl_T_? Mir ist der Unterschied zum 'reinen' xsl nicht
ganz klar.
> Das Stylesheet kannst du auf dem Server anwenden, wenn du bspw. ASP
> verwenden kannst, oder in FrontPage mit VBA oder an der Konsole etwa
> mit msxsl.exe. Wenn dein Server die FrontPage-Servererweiterungen
> unterstützt, ist der VBA-Ansatz sehr elegant, muß natürlich manuell
> angestoßen werden.
msxml.exe schau ich mir nachher an. Ob die FPSE vorhanden sind ist
fraglich.
Laut Webvertrag nicht. Ich habe mal das Access 2000 Beispiel "Nordwind"
mitsamt der in Access erstellten HTML-Abfrageformulare hochgeladen.
http://www.tcbislich.de/data/
Wenn ich da z.B.
http://www.tcbislich.de/data/Umsatzanalyse.htm aufrufe ... sieht das
nach Nutzung/Vorhandensein von FPSE aus?
Zurück zum Ausgangsthema:
Ich habe mich von dem Gedanken, den Output des RSS-Feeds per "Seite
einschließen" einzubinden, mehr oder weniger verabschiedet.
Die XML-Datei http://www.tcbislich.de/rss/index.xml wird unter Nutzung
o.g. XSL nun formatiert ausgegeben. Und zum Handling an der ein oder
anderen Web-Stelle gibts noch ein Frameset
http://www.tcbislich.de/rss/index.html.
Die formatierte Anzeige klappt mit IE6SP1, IE7, Opera 9.02, FF 2.0. Mit
IE5.00.3700 (auf nacktem W2k-SP4) klappt sie nicht.
IE5.5 habe ich leider nicht zur Verfügung.(werde mal bei den Win95ern
nachfragen)
Frage:
Kann ich zuversichtlich davon ausgehen, daß die formatierte Ausgabe der
RSS-Inhalte mit _jedem_ halbwegs aktuellen Brwoser funktioniert?
Def. "halbwegs aktuelle Browser":
- IE ab Vers. 6 SP1
- FF ab Vers. 1.0
- Opera ab Vers. 8
In den Webprotokollen der letzten 10 Monaten habe ich keinen einzigen
Agent gefunden, der eine niedrigere Version aufwies.
Kleine Einschränkung:
Ich sehe hier nur die TOP 15, wobei den Anteil von Pos. 15 max 1,8%
aufwies. Ganz ausschließen kann ich den Web-Zugriff mit älteren Browsern
daher nicht. Aber ihr Anteil wäre sehr gering.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
Hallo Friedrich,
> ich bin nicht sicher, ob ich das Problem richtig verstanden habe.
> Unter http://www.Adler-Langlauf.de
> werden Feeds -abonniert- und mit einer einfachen PHP5-Skript aus-
> gelesen (dafür ist PHP5 einfach wie geschaffen) und schon läuft alles
> bestens. Natürlich muß so ein Script über ein Formular aufgerufen
> werden.
>
> Man kann natürlich aus mehreren Newsfeeds auswählen, aber wie gesagt.
> PHP5 und XML bilden ein ideales Gespann, was XML anbetrifft !
>
> Vielleicht ist dieses die richtige Richtung und hilft weiter.
PHP und Formulare sind leider nicht 'mein Ding'. Ich besitze nur ein
paar grundlegende HTML-Kenntnisse.
Deine Seite nutzt ja Frames. Daran hatte ich auch gedacht, denn die
Einbindung einer XML-Datei ist damit ja möglich. Doch Frames kann ich
auf der Ziel-Seite wegen zwangsläufiger Handling-Probleme quasi nicht
nutzen.
Auch den Umweg hatte ich probiert - sprich: Eine Frameseite definieren
und diese per "Seite einschließen" einbinden. Frontpage läßt das auch
zu. Aber in IE, FF und Opera wird dann nichts angezeigt.
Ich habe mich nun von dem Gedanken, das per "Seite einschließen" zu
realisieren, mehr oder weniger verabschiedet. Statt dessen habe ich eine
XSL erstellt, um eine formatierte Ausgabe zu erreichen. Zusätzlich
existiert eine Frameseite, die an der ein oder andere Web-Stelle genutzt
werden soll.
http://www.tcbislich.de/rss/index.xml
http://www.tcbislich.de/rss/rss_deutsch.xsl
http://www.tcbislich.de/rss/index.html
Die formatierte Anzeige klappt mit den aktuellen Browsern von IE, FF und
Opera. Leider habe ich zum Test keinen IE5.5 zur Verfügung.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
Juergen Terlinden schrieb:
> http://www.tcbislich.de/rss/rss_deutsch.xsl
>
> Ist das nun ein xsl_T_?
Ja.
> Mir ist der Unterschied zum 'reinen' xsl nicht ganz klar.
XSL umfaßt XSLT und XSL-FO.
> Ob die FPSE vorhanden sind ist fraglich.
<http://www.tcbislich.de/> hat offenbar keine Servererweiterungen, weil
bereits <http://www.tcbislich.de/_vti_inf.html> nicht existiert. ASP gibt
es offenbar auch, denn man sieht ja den Quellcode von
<http://www.tcbislich.de/data/_test.asp>.
> Die XML-Datei http://www.tcbislich.de/rss/index.xml wird unter Nutzung
> o.g. XSL nun formatiert ausgegeben.
Hm. Neuere Browser unterstützen XSLT und RSS, ältere Browser unterstützen
beides nicht. Ich sehe also nicht, was das bringen soll.
--
<http://schneegans.de/sv/> - XML Schema Validator |
<http://schneegans.de/xp/> - XHTML Proxy |
<http://www.politicallyincorrect.de/> - Mein Lieblings-Blog |
Re: XML-Dateio (RSS-Feed) in HTML einbinden
'Christoph Schneegans' wrote:
>> Die XML-Datei http://www.tcbislich.de/rss/index.xml wird unter
>> Nutzung o.g. XSL nun formatiert ausgegeben.
>
> Hm. Neuere Browser unterstützen XSLT und RSS, ältere Browser
> unterstützen beides nicht. Ich sehe also nicht, was das bringen soll.
Ich hätte dabei in Kauf genommen, daß ältere Browser außen vor blieben -
wobei mir klar ist, daß das generell nicht sehr freundlich ist.
Aber PHP geht doch auch mit älteren Browsern, oder?
http://www.tcbislich.de/rss/feed.php
bzw. eingebettet in ein Frameset
http://www.tcbislich.de/rss/index.html
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
Juergen Terlinden schrieb:
> http://www.tcbislich.de/rss/feed.php
Das ist doch fast perfekt. Allerdings fehlt da mindestens eine
Dokumenttyp-Deklaration. Da du offenbar HTML ausgeben willst, einfach
<xsl:output
doctype-public='-//W3C//DTD HTML 4.01//EN'
doctype-system='http://www.w3.org/TR/html4/strict.dtd'
/>
ins Stylesheet schreiben.
--
<http://schneegans.de/sv/> - XML Schema Validator |
<http://schneegans.de/xp/> - XHTML Proxy |
<http://www.politicallyincorrect.de/> - Mein Lieblings-Blog |
Re: XML-Dateio (RSS-Feed) in HTML einbinden
'Christoph Schneegans' wrote:
>> http://www.tcbislich.de/rss/feed.php
>
> Das ist doch fast perfekt. Allerdings fehlt da mindestens eine
> Dokumenttyp-Deklaration. Da du offenbar HTML ausgeben willst, einfach
>
> <xsl:output
> doctype-public='-//W3C//DTD HTML 4.01//EN'
> doctype-system='http://www.w3.org/TR/html4/strict.dtd'
> />
>
> ins Stylesheet schreiben.
Ok, habe ich gemacht - allerdings mit 'Transitional'. Nun sollte alles
passen.
Insgesamt ist das Resultat sehr zufriedenstellend.
Vielen Dank für die Begleitung :-)
Wen meine Lösung interessiert:
Ich habe auf dem Server PHP zur Verfügung. Da ist standardmäßig wohl ein
XSLT-Prozessor namens Sablotron eingebaut. Meine Quelle diesbezüglich:
http://www.infos24.de/phpe/handbuch/18_php_xml_xsl.htm
Mein PHP-Code (o.g. ../rss/feed.php) zur Anzeige des RSS-Feeds:
---
<?php
$zeiger = xslt_create();
$html_seite= xslt_process($zeiger, 'feed.xml', 'feed.xsl');
xslt_free($zeiger);
echo $html_seite;
?>
---
Das war schon alles.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
'Juergen Terlinden' wrote:
> Mein PHP-Code (o.g. ../rss/feed.php) zur Anzeige des RSS-Feeds:
> ---
> <?php
> $zeiger = xslt_create();
> $html_seite= xslt_process($zeiger, 'feed.xml', 'feed.xsl');
> xslt_free($zeiger);
> echo $html_seite;
> ?>
> ---
Bitte die Korrektur in der letzten Zeile beachten.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm
Re: XML-Dateio (RSS-Feed) in HTML einbinden
'Juergen Terlinden' wrote:
2. Korrekturversuch :-(
> Mein PHP-Code (o.g. ../rss/feed.php) zur Anzeige des RSS-Feeds:
> ---
> <?php
> $zeiger = xslt_create();
> $html_seite= xslt_process($zeiger, 'feed.xml', 'feed.xsl');
> xslt_free($zeiger);
> echo $html_seite;
>>
> ---
In die letzte Zeile muß noch ein "?" vor dem ">" eingebaut werden.
--
Gruß Jürgen
***
Windows 2000 SP4 - Alle Updates - 01.12.06
http://home.arcor.de/jterlinden/index.htm