Autor: Dr. Frank Hoffmann, 30.04.2003
Aus den ZMS-Objekten eines bestimmten Content-Knotens soll eine RSS-konforme XML-Datei erstellt werden. Dazu wird auf der Ebene der Darstellungstemplates eine neue DTML-Methode angelegt, die eine TOC-Liste generiert gemäss RSS-DTD (s. Links unten). Der Mechanismus wird anhand einer einfachen Grundstruktur gezeigt.
Lösungsansatz: Die folgenden DTML-Methode erzeugt einen XML-Strom, der vom RSS-typischen channel-Element eingeleitet wird. Dann erfolgt die Defintion des Einstiegsknotens und eine iteratitive Listung mit der filteredChildNodes-Funktion.
<dtml-call expr="RESPONSE.setHeader('content-type', 'text/xml')">
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>medvalue.news</title>
<description>Aktuelle Themen aus dem medvalue-Netzwerk</description>
<language>de</language>
<link>http://medvalue.net</link>
<copyright>(c)2003 HOFFMANN+LIEBENBERG</copyright>
<!-- beispielhafter Einstiegsknopten content.e83 //-->
<dtml-with "content.e83">
<dtml-in "filteredChildNodes(REQUEST,PAGES,)">
<item>
<title><dtml-var "getTitle(REQUEST)"></title>
<description><dtml-var "getObjProperty('attr_dc_description',REQUEST)"></description>
<link><dtml-var "getHref2IndexHtml(REQUEST)"></link>
<dc:creator><dtml-var "getObjProperty('attr_dc_creator',REQUEST)"></dc:creator>
<dc:date><dtml-var "getLangFmtDate(getObjProperty('change_dt',REQUEST),
'eng','ISO-8601')"></dc:date>
</item>
</dtml-in>
</dtml-with>
</channel>
</rss>Kommentar: Der Einstiegsknoten wird hier explizit gewählt; eine attribut-bedingte Selektion ist ebenso möglich (s. dazu HowTo 'Knotenspez. TOC').
medvalue.news
<dtml-with rss_medvalue>
<p><dtml-var "channel()['title']"></p>
<ol><dtml-in items mapping end="3">
<li><a href="<dtml-var link>"><b><dtml-var title></b></a><br>
<dtml-if "_.has_key('date')">[<i><dtml-var date></i>]
<dtml-if "_.has_key('description')"><dtml-var description></dtml-if>
</li>
</dtml-in>
</ol>
</dtml-with>![]() |
Making An RSS Feed |
| How does RSS syndication work? Say you publish a new web page about a particular topic. You want others interested in that topic to know about it. By listing the page as an "item" in your RSS file, you can have the page appear in front of those who read information using RSS readers or "news aggregators" |
![]() |
Nichthierarchische Inhaltsübersicht über einen entfernten Knoten |
Wird das Meta-Attribut DC.Identifier.DOI verwendet, so kann das Objekt auch über findFilteredTreeNodes(REQUEST=REQUEST,meta_types=PAGES,values=['getDoiPath','DOI']) lokalisiert werden. |
![]() |
RSS 2.0-Specification, Userland |
| Übersicht sämtlicher RSS-Elemente für das "Really Simple Syndication". |
![]() |
RDFSummary - display RSS files |
| Download Zope-Produkt RDFSummary |
![]() |
RDF Site Summary 1.0 Modules: Dublin Core |
| Status: Release. The Dublin Core Metadata Element Set provides some standard metadata elements. These are listed below for your quick reference; be sure to visit the Dublin Core site for more specifics. |
![]() |
RDF Site Summary 1.0 Modules: Qualified Dublin Core |
| Status: Draft. This module is designed to allow Qualified Dublin Core metadata to be used in addition to the Dublin Core metadata that the RSS 1.0 Dublin Core module permits. |