Themen
 
Individuelles Webdesign
 
13.08.2007 05:25

RSS-Feed mit HTML formatieren

Kategorie: Typo3, HTML/CSS, Tutorial, XML, XSL, XSLT, News-Feed, RSS
RSS ist dafür da um von RSS-Readern gelesen und aufbereitet zu werden. Dementsprechend unlesbar sehen RSS-Feeds auch aus, wenn ein Benutzer sich ohne entsprechendem Plugin oder Software auf den Feed verirrt. XSLT kann helfen RSS-Feeds auch für Menschen leicht lesbar zu machen.

RSS, ein standardisiertes Format zur Verbreitung von Nachrichten, ist dafür da um von RSS-Readern gelesen und aufbereitet zu werden. Dementsprechend unlesbar sehen RSS-Feeds auch aus, wenn ein Benutzer sich ohne entsprechendem Plugin oder Software auf den Feed verirrt. XSLT, eine Teilfunktion der Extensible Stylesheet Language zur Transformtion von XML, kann helfen RSS-Feeds auch für Menschen leicht lesbar zu machen.

Das XML eines RSS-Feeds beinhaltet keinerlei Informationen wie der Feed dargestellt werden soll, sondern nur strukturierte Daten.

Dementsprechend verwirrend kann es für einen Benutzer sein, wenn er sich irrtümlich auf einen RSS-Feed „verirrt“ keine Plugins zur Aufbereitung der Feeds installiert hat und auch sonst nicht mit RSS vertraut ist.

Ein unformatierter RSS2-Feed sieht im Browser ungefähr so aus:

 RSS-Feed ohne Transformation

 

Der Screenshot wurde auf Basis dieses Beispiel-Feeds erstellt. Wer keine Software für das Handling des Feeds installiert hat wird ein ähnliches Ergebnis bekommen wie im Screenshot. Für einen User also nicht gerade einladend. Natürlich kann man dem entgegenhalten, dass RSS-Feeds an sich dafür gedacht sind von Software gelesen und formatiert zu werden, nicht von Menschen. Aber nicht jeder User hat entsprechende Software installiert oder ist mit RSS vertraut.

Unformatierte RSS Feeds haben also folgende Nachteile:

  • Nur schwer lesbar

  • Keine Möglichkeit einen Link zu einem Artikel per Mouse-Klick zu öffnen

  • Corporate Design wird unterbrochen und die Website sieht für einen nicht mit RSS vertrauten Besucher „fehlerhaft“ aus.

RSS-Feeds müssen aber nicht so aussehen. Ein Beispiel für einen formatierten und aufbereiteten Feed ist der RSS2-Feed von Typo3.org. Dies wird mit XSL Transformations (XSLT) erreicht. XSLT ist eine Programmiersprache zur Transformation von XML-Dokumenten. Es baut auf der logischen Sturktur eines XML-Dokumentes auf und erlaubt die Definition von Umwandlungs-Regeln.

Grundsätzlich hat ein RSS2-Feed folgende Struktur:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="beispiel-rss-2-html.xsl" media="screen" ?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Feed-Titel</title>
<link>www.meine-seite.net</link>
<description>Beschreibung des Feeds</description>
<language>de</language>
<image>
<title>Feed-Titel</title>
<url>http://www.meine-seite.net/mein-feed-icon.gif</url>
<link>www.meine-seite.net</link>
<width>254</width>
<height>39</height>
<description>Beschreibung des Feeds</description>
</image>
<lastBuildDate>Zeitpunkt des letzten Updates</lastBuildDate>
<item>
<title>Titel des Artikels</title>
<link>Link zum Artikel</link>
<description>Artikel-Teaser (Zusammenfassung)</description>
<content:encoded>Artikel-Text</content:encoded>
<category>Artikel-Keyword</category>
<category>Artikel-Keyword</category>
<author>Autor</author>
<pubDate>Erstellungsdatum des Artikels</pubDate>
</item>
</channel>
</rss>

Eine Beschreibung der Elemente von RSS2-Feeds ist hier zu finden: http://www.rssboard.org/rss-specification.

Diese Struktur gilt es per XSLT so zu transformieren, dass aus dem XML leicht lesbares, formatiertes HTML wird.

Aus XML wird HTML

Mit XSLT ist es möglich Regeln zu definieren, die den XML-basierenden RSS-Feed mit HTML-Tags aufbereiten. Die meisten modernen Browser verfügen über einen integrierten XSLT-Prozessor. Die Beispiele in dem Artikel beziehen sich auf RSS2, können aber nach geringfügiger Anpassung für andere Feed-Strukturen verwendet werden.

Grundsätzlich passiert bei der Transformation folgendes:

  1. Der Browser bekommt vom Server den RSS-Feed
  2. Anhand der im Feed angeführten XSL-Datei wird der Feed transformiert (in diesem Fall mit HTML-Tags formatiert)
  3. Der formatierte Feed wird im Browser lesbar dargestellt.

XSL-File in den RSS-Feed einbinden

Damit der Browser weiss, welche Transformations-Regeln er anwenden muss, muss das XSL-File in den RSS2-Feed eingebunden werden. Die zweite Zeile verweist auf die Datei mit den Transformations-Regeln:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="beispiel-rss-2-html.xsl" media="screen" ?>

Um dies in Typo3 zu erreichen ist es am einfachsten das tt_news template für die RSS-Feeds entsprechend anzupassen.

Mehr ist am RSS-Feed selbst nicht zu ändern. Alle Regeln für die Aufbereitung und Formatierung des Feeds stehen im XSL-File, das in diesem Beispiel beispiel-rss-2-html.xsl heisst.

Transformationsregeln im XSL-File

Mit XSLT sieht der Beispiel-RSS-Feed schon aufgeräumter auf:

 

Die Formatierung des Feeds wurde mit folgender Transformation erreicht (Erklärung weiter unten):

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<xsl:template match="rss">
<html>
<!-- ===Template des HTML-Head-Parts=== -->
<head>
<title>
<xsl:value-of select="/rss/channel/title"/>
</title>
<!-- ===Stylesheet einbinden. Gegebenenfalls muss absoluter Pfad verwendet werden === -->
<link rel="stylesheet" href="rss-xsl-styles.css"/>
</head>
<!-- ===Template des HTML-body-Parts=== -->
<body>
<div class="full-feed">
<!-- Hier werden die anderen Templates hinein genierert. Siehe weiter unten -->
<xsl:apply-templates/>
</div>
</body>
</html>
</xsl:template>

<!-- ===TEMPLATE FUER DAS CHANNEL-ELEMENT -->

<xsl:template match="channel">
<div id="header">
<h1>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />
</xsl:attribute>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="image/url"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="title"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</h1>
<p><strong>Dies ist ein per XSL in HTML transformierter Beispiel-RSS2-Feed. Die Beschreibung wie das geht finden sie <a href="http://www.webkontext.net/">hier</a>. Weitere Artikel von <a href="http://www.webkontext.net/">WEBKONTEXT.net hier</a></strong></p>
<xsl:value-of select="description"/><br />
Letzte &#196;nderung: <xsl:value-of select="substring(pubDate,5,18)"/><br />
</div>

<!-- ===TEMPLATE FUER DIE ITEM-ELEMENTE -->

<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<div class="feed-item">
<h2>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />

</xsl:attribute>
<xsl:value-of select="title" />
</xsl:element>
</h2>
<p>
<xsl:value-of select="description"/>
<span class="morelink">
&#160;
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />
</xsl:attribute>[mehr...]
</xsl:element>
</span>
</p>
<xsl:if test="pubDate">
<span class="itempubDate">Datum: <xsl:value-of select="substring(pubDate,5,18)"/></span>
</xsl:if>

</div>
</xsl:template>
</xsl:stylesheet>

Das für die Formatierung des RSS-Feeds verwendete XSLT sieht auf den ersten Blick etwas kompliziert aus, allerdings brauchen wir für die Transformation des RSS-Feeds nur einige wenige Regeln. Eine vollständige Beschreibung von XSLT findet sich hier. Auch die Wikipedia bietet einen kurzen Überblick über die XSLT.

Im Wesentlichen brauchen wir für die Transformation von RSS nach HTML nur eine Hand voll Regeln im XSLT:

xsl:template: Das Template wird immer angewendet, wenn der Name eines Elements dem angegebenen entspricht: <xsl:template match="channel"> im XSLT bedeutet also, dass das eingeschlossene Element auf Elemente namens „Channel“ angewendet wird.

xsl:apply-templates: Wendet an dieser Stelle die Templates an. Das Attribut select spezifiziert, welche Elemente verarbeitet werden sollen: <xsl:apply-templates select="item"> bedeutet also, dass an dieser Stelle Item-Elemente eingefügt werden sollen.

xsl:value-of: Fügt an dieser Stelle den Wert des per Attribut select spezifizierten Elements ein. Beispielsweise fügt <xsl:value-of select="/rss/channel/title"/>.den Wert des Elements Title des Elements Channel ein. Da XML als Baum strukturiert ist, kann im select-Attribut der komplette Pfad zu einem Element angegeben werden.

xsl:element und xsl:attribute: Diese setzen bei der Transformation Tags zusammen. Vollständige Tags können auch direkt im XSLT angeführt werden, sobald jedoch Attribute des Tags anhand von Werten im XML gesetzt werden müssen, kommen diese Regeln zur Anwendung.

Diese Zeilen markieren das XML-File als XSLT:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>

Da ein RSS2-Feed mit einem Element Namens RSS umschlossen ist, wird als erstes ein Template für dieses Element deklariert. Dies geschieht mit

	<xsl:template match="rss">
<html>
<!-- ===Template des HTML-Head-Parts=== -->
<head>
<title>
<xsl:value-of select="/rss/channel/title"/>
</title>
<!-- ===Stylesheet einbinden. Gegebenenfalls muss absoluter Pfad verwendet werden === -->
<link rel="stylesheet" href="rss-xsl-styles.css"/>
</head>
<!-- ===Template des HTML-body-Parts=== -->
<body>
<div class="full-feed">
<!-- Hier werden die anderen Templates hinein genierert. Siehe weiter unten -->
<xsl:apply-templates/>
</div>
</body>
</html>
</xsl:template>

Die innerhalb des Templates angeführten Elemente werden 1:1 ins generierte HTML übertragen, in diesem Fall also das Head und Body.

Das XSLT-Element <xsl:value-of select="/rss/channel/title"/> zwischen den HTML-Title-Tags übernimmt den Wert des RSS-Titels und fügt ihn als HTML-Title ein. Als nächstes wird das externe CSS-File eingebunden.

Im HTML-Body-Element wird ein div, also ein Container, mit der Klasse full-feed generiert. Das <xsl:apply-templates/> innerhalb des body-tags weist den XSLT-Prozessor an dort die Templates für den header und die Items des RSS-Feeds anzuwenden.

	<xsl:template match="channel">
<div id="header">
<h1>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />
</xsl:attribute>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="image/url"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="title"/>
</xsl:attribute>
</xsl:element>
</xsl:element>
</h1>
<p><strong>Dies ist ein per XSL in HTML transformierter Beispiel-RSS2-Feed. Die Beschreibung wie das geht finden sie <a href="http://www.webkontext.net/">hier</a>. Weitere Artikel von <a href="http://www.webkontext.net/">WEBKONTEXT.net hier</a></strong></p>
<xsl:value-of select="description"/><br />
Letzte &#196;nderung: <xsl:value-of select="substring(pubDate,5,18)"/><br />
</div>

Dieses Template transformiert den Header, (also Titel, Beschreibung, Logo usw.) des RSS-Feeds. Der Header wird mit einem div mit der Klasse header umschlossen. Der Kopfbereich wird so formatiert, dass in der Überschrift das Logo des Feeds erscheint. Wer dem RSS-Feed kein Icon zugewiesen hat, kann das Element zur Generierung der img-Tags einfach löschen und durch ein <xsl:value-of select="title"/> ersetzen.

Zum Schluss werden noch die einzelnen Artikel-Einträge formatiert. Diese befinden sich im RSS-Feed in Tags mit dem Namen <Item> eingeschlossen. Dafür ist folgender Bereich im XSL-File zuständig:

	<!-- ===TEMPLATE FUER DIE ITEM-ELEMENTE -->

<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<div class="feed-item">
<h2>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />

</xsl:attribute>
<xsl:value-of select="title" />
</xsl:element>
</h2>
<p>
<xsl:value-of select="description"/>
<span class="morelink">
&#160;
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="link" />
</xsl:attribute>[mehr...]
</xsl:element>
</span>
</p>
<xsl:if test="pubDate">
<span class="itempubDate">Datum: <xsl:value-of select="substring(pubDate,5,18)"/></span>
</xsl:if>

</div>
</xsl:template>

Jeder Artikel-Eintrag wird für die Ausgabe so formatiert, dass er von einem div mit der Klasse feed-Item umschlossen ist. Darin wird der Titel des Artikels als h2-Überschrift formatiert. Weiters wird der Teaser-Text (also die description des Artikel-Items ausgegeben und mit einem Link zum eigentlichen Artikel versehen. Das ist auch einer der wesentlichen Vorteile einer per XSLT-transformierten und HTML-Formatierten Ausgabe eines RSS-Feeds: Die URLs der Artikel werden als Link dargestellt und sind damit auch ohne RSS-Reader leicht öffenbar.





Kommentare


Kommentar schreiben...


Anzeige: 100 - 198 von 357.
 
Wednesday, 13. 01 16 07:25
http://ritchengineeringse http://ritchengineeringservices.com/progressive-car-insurance-commercial-2013.html
aus 6o6kx8UxB7dS l4sgo6rzuj@gmail.com    Website   

That's a brilliant answer to an interesting question

 
Wednesday, 13. 01 16 03:25
http://gulfcoastweddingan http://gulfcoastweddingandpartyrentals.com/insurance-recovery-vehicle.html
aus KYEh1R5pX uddaq0zb@gmail.com    Website   

This is just the perfect answer for all of us

 
Wednesday, 13. 01 16 03:09
http://gulfcoastweddingan http://gulfcoastweddingandpartyrentals.com/legal-and-general-building-insurance.html
aus C8a6s0CRu 1210buqk@mail.com    Website   

Perfect shot! Thanks for your post!

 
Wednesday, 13. 01 16 02:53
http://hortaleg.com/can-y http://hortaleg.com/can-you-register-a-car-without-insurance-in-massachusetts.html
aus UJkuzLhkb p0b9cman@mail.com    Website   

Whoa, whoa, get out the way with that good information.

 
Tuesday, 12. 01 16 12:50
http://ukdatinglinks.com/ http://ukdatinglinks.com/the-mobile-store-insurance-policy.html
aus xK0yQcWpkya zbgr8iez4g9@hotmail.com    Website   

Your posting is absolutely on the point!

 
Tuesday, 12. 01 16 10:48
http://www.cozeecave.com/ http://www.cozeecave.com/technology-online-courses.html
aus KpVUdz4o8i 65sofoxhea@hotmail.com    Website   

Posts like this make the internet such a treasure trove

 
Tuesday, 12. 01 16 09:48
http://r5atto.org/polo-ca http://r5atto.org/polo-car-with-free-insurance.html
aus duY8xVDUO2 yec5nihzph@outlook.com    Website   

Yo, that's what's up truthfully.

 
Tuesday, 12. 01 16 06:54
http://www.cozeecave.com/ http://www.cozeecave.com/extension-harvard-courses.html
aus e5CLWAEqR ksi4lc3tt2v@hotmail.com    Website   

Unbelievable how well-written and informative this was.

 
Tuesday, 12. 01 16 03:38
http://r5atto.org/univers http://r5atto.org/universal-sompo-general-insurance-renewal-online.html
aus L65wY4Iku66 j537eseg8p@gmail.com    Website   

Information is power and now I'm a !@#$ing dictator.

 
Tuesday, 12. 01 16 03:11
http://ukdatinglinks.com/ http://ukdatinglinks.com/how-to-not-have-car-insurance.html
aus Z4ikHEyQYet 1p9dmi08a5@gmail.com    Website   

AKAIK you've got the answer in one!

 
Monday, 11. 01 16 22:55
http://vignetiditalia.net http://vignetiditalia.net/insurance-fort-collins-co.html
aus EnPESvsZZxNd bswda8upey@mail.com    Website   

I don't even know what to say, this made things so much easier!

 
Monday, 11. 01 16 22:20
http://r5atto.org/ad-d-in http://r5atto.org/ad-d-insurance-quotes.html
aus hV7uASPiQ 4xjx5hbb@hotmail.com    Website   

Insights like this liven things up around here.

 
Monday, 11. 01 16 21:12
http://balibumyoga.com/ww http://balibumyoga.com/www-metlife-auto-and-home-insurance.html
aus ujwvDiCFb bhsno6zvoy@mail.com    Website   

That's a mold-breaker. Great thinking!

 
Monday, 11. 01 16 16:12
http://thecottagebowl.com http://thecottagebowl.com/is-graphic-design-a-good-degree.html
aus IBmvfZmSEbc ai6q3ogt5ue@mail.com    Website   

I'm impressed! You've managed the almost impossible.

 
Sunday, 10. 01 16 23:01
auto insurance quotes auto insurance quotes
aus Rm8UhIWC5VO hgq38gcf@outlook.com    Website   

I'll try to put this to good use immediately.

 
Sunday, 10. 01 16 20:33
http://artofcslogan.com/c http://artofcslogan.com/cheap-auto-insurance-lewisville-tx.html
aus J2vKh4Isd zcvlt5u8@yahoo.com    Website   

Glad I've finally found something I agree with!

 
Sunday, 10. 01 16 10:34
http://promotoradeocciden http://promotoradeoccidente.com/austin-community-college-study-abroad.html
aus wlnMancbAo 7or92xcn@outlook.com    Website   

Do you have more great articles like this one?

 
Saturday, 09. 01 16 14:52
cheap auto insurance cheap auto insurance
aus zNvBmXgT x35dxr6e@gmail.com    Website   

This is the perfect way to break down this information.

 
Saturday, 09. 01 16 12:28
http://getequinemassage.c http://getequinemassage.com/best-buy-car-insurance-austin-tx.html
aus fxbt2Jrjz8w nwpbns4v3@outlook.com    Website   

I wanted to spend a minute to thank you for this.

 
Saturday, 09. 01 16 05:28
http://healthygreencleani http://healthygreencleaning.com/car-insurance-companies-in-southampton.html
aus aXPMkhrH t0sq5chg@hotmail.com    Website   

Thanks guys, I just about lost it looking for this.

 
Friday, 08. 01 16 21:46
http://cttband.com/philip http://cttband.com/philippines-car-insurance-quotation.html
aus EMHiMjnwB ixe7o7h4ixt@mail.com    Website   

That's the smart thinking we could all benefit from.

 
Friday, 08. 01 16 09:23
http://cttband.com/vehicl http://cttband.com/vehicle-insurance-calgary.html
aus S9M8LvsXfzM3 srt2xvs6@yahoo.com    Website   

I went to tons of links before this, what was I thinking?

 
Friday, 08. 01 16 04:32
http://wavepoprecords.com http://wavepoprecords.com/cheap-car-insurance-estimate.html
aus 58KR7Pczm afh2p9pwi5@mail.com    Website   

Good point. I hadn't thought about it quite that way. :)

 
Friday, 08. 01 16 01:01
http://transgressivecinem http://transgressivecinema.com/dating-sites-for-college-students-free.html
aus sO6HxFjw0 u4dhr60ah@hotmail.com    Website   

We definitely need more smart people like you around.

 
Thursday, 07. 01 16 22:39
http://rebuildmalapascua. http://rebuildmalapascua.com/massachusetts-auto-insurance-quotes.html
aus ftOfIGwV eawfyqq3@yahoo.com    Website   

That's really thinking at a high level

 
Thursday, 07. 01 16 19:58
car insurance car insurance
aus ltqJEOpkR ogop9vm2p4@mail.com    Website   

Holy Toledo, so glad I clicked on this site first!

 
Thursday, 07. 01 16 18:57
florida car insurance florida car insurance
aus 9zQyGgs0SVg5 g9ih0keto@yahoo.com    Website   

You've really helped me understand the issues. Thanks.

 
Thursday, 07. 01 16 15:02
insurance auto insurance auto
aus 2xv97BEJTU 3v5c36bnae@yahoo.com    Website   

I'm really into it, thanks for this great stuff!

 
Thursday, 07. 01 16 07:40
cheap auto insurance cheap auto insurance
aus oShIu9Prjmb9 h1c78hooip@hotmail.com    Website   

This article is a home run, pure and simple!

 
Thursday, 07. 01 16 05:52
car insurance quotes car insurance quotes
aus eo9HatQbDfZR 113y8u1q1@mail.com    Website   

Play informative for me, Mr. internet writer.

 
Wednesday, 06. 01 16 04:09
car insurance quotes car insurance quotes
aus n4QBT3KOz6 8180cs82y1z@outlook.com    Website   

Yo, good lookin out! Gonna make it work now.

 
Wednesday, 06. 01 16 01:46
insurance auto insurance auto
aus MJwxc447Oel i5pg95tum@hotmail.com    Website   

Great insight! That's the answer we've been looking for.

 
Wednesday, 06. 01 16 01:39
car insurance quotes car insurance quotes
aus D4gWrjlIPIa ze8231j0dh@mail.com    Website   

Boom shakalaka boom boom, problem solved.

 
Tuesday, 05. 01 16 23:08
car insurance quotes car insurance quotes
aus JLUVkcEyKMZt x3pj3rvyewk@yahoo.com    Website   

I came, I read this article, I conquered.

 
Tuesday, 05. 01 16 19:44
http://inlandempirecontra http://inlandempirecontractordirectory.com/full-coverage-auto-insurance-on-financed-cars.html
aus poq2rgoy58G srgechcks3@gmail.com    Website   

Yeah that's what I'm talking about baby--nice work!

 
Tuesday, 05. 01 16 16:50
cheap auto insurance cheap auto insurance
aus er2xF7bZMRu4 8b5svbdw2r@mail.com    Website   

Taking the overview, this post hits the spot

 
Tuesday, 05. 01 16 13:24
http://seeyouashore.com/c http://seeyouashore.com/cheapest-third-party-car-insurance-nsw.html
aus Xs6AEoxxpZ k7v6hxc0@hotmail.com    Website   

Thanks for the insight. It brings light into the dark!

 
Tuesday, 05. 01 16 06:20
auto insurance quote auto insurance quote
aus Krwd3YsM uom1i83d8@yahoo.com    Website   

In awe of that answer! Really cool!

 
Tuesday, 05. 01 16 06:18
http://kingdomofgodchurch http://kingdomofgodchurch.org/progressive-auto-insurance-chillicothe-ohio.html
aus AAKyixWl0Q 9wug6dehk6n@yahoo.com    Website   

Is that really all there is to it because that'd be flabbergasting.

 
Tuesday, 05. 01 16 04:44
http://jelitephotography. http://jelitephotography.com/car-accident-without-insurance-in-pa.html
aus O5XxEyt1biqr peucqlpv3h@mail.com    Website   

Thanks for writing such an easy-to-understand article on this topic.

 
Tuesday, 05. 01 16 04:39
http://invoicepdx.com/con http://invoicepdx.com/contractual-insurance.html
aus rQJ2fLXO m9izlvq3zzl@gmail.com    Website   

Your's is a point of view where real intelligence shines through.

 
Monday, 04. 01 16 22:21
car insurance quotes car insurance quotes
aus HDBmR8LtFtek ldnoc3yo8v@mail.com    Website   

That's cleared my thoughts. Thanks for contributing.

 
Monday, 04. 01 16 13:42
http://jelitephotography. http://jelitephotography.com/florida-car-insurance-progressive.html
aus MYWgFqW60SC 3til4r6uk@hotmail.com    Website   

I'm really into it, thanks for this great stuff!

 
Monday, 04. 01 16 11:54
insurance quotes auto insurance quotes auto
aus fAJobbWSx 8ju7h8fia@outlook.com    Website   

Fell out of bed feeling down. This has brightened my day!

 
Monday, 04. 01 16 11:13
car insurance quote car insurance quote
aus ML0xgb66h7 fnk2d7izn@mail.com    Website   

You really found a way to make this whole process easier.

 
Monday, 04. 01 16 06:00
car insurance quotes onli car insurance quotes online
aus 0gKb1ICI1 0qf1x5zb@gmail.com    Website   

At last! Someone with real expertise gives us the answer. Thanks!

 
Monday, 04. 01 16 02:55
auto insurance quotes auto insurance quotes
aus IEbiwFPCdLp 03oni627oi9@hotmail.com    Website   

Umm, are you really just giving this info out for nothing?

 
Monday, 04. 01 16 01:43
car insurance quotes onli car insurance quotes online
aus 4PRufSt7QAe 6br81f0i@outlook.com    Website   

Good to see a talent at work. I can't match that.

 
Sunday, 03. 01 16 03:39
online car insurance online car insurance
aus 99I3H2Woc20K s9c0a6f1@outlook.com    Website   

You saved me a lot of hassle just now.

 
Saturday, 02. 01 16 19:26
http://turbo-repuestos.co http://turbo-repuestos.com/insure-car-insurance-excess.html
aus kIOIspXAh l9r2mcmfc46@outlook.com    Website   

The ability to think like that shows you're an expert

 
Saturday, 02. 01 16 17:45
http://dreamfaceblog.com/ http://dreamfaceblog.com/sell-car-insurance-online.html
aus 4k6VDA2YMaD 87vlcsk105s@hotmail.com    Website   

I actually found this more entertaining than James Joyce.

 
Friday, 01. 01 16 22:58
http://applesolver.com/in http://applesolver.com/insurance-on-a-car-for-a-17-year-old.html
aus ccYXTYdexh vzpymvbta3@outlook.com    Website   

It's a relief to find someone who can explain things so well

 
Thursday, 31. 12 15 10:01
http://personalprojectsma http://personalprojectsmanager.com/can-you-drive-someone-else-car-with-insurance.html
aus vPsZhhVXkj 1n21ma8zt8p@hotmail.com    Website   

This is way more helpful than anything else I've looked at.

 
Thursday, 31. 12 15 09:19
http://chelbeauty.com/kwi http://chelbeauty.com/kwik-fit-car-insurance-sign-in.html
aus dvzhPMbekD 7vwbq5odj@mail.com    Website   

Reading this makes my decisions easier than taking candy from a baby.

 
Thursday, 31. 12 15 07:04
http://laurelsarmy.org/th http://laurelsarmy.org/the-general-auto-insurance-atlanta-ga.html
aus yC6nwutH p31s35qzi81@hotmail.com    Website   

Thinking like that shows an expert's touch

 
Thursday, 31. 12 15 02:52
http://tlsplant.com/progr http://tlsplant.com/progressive-car-sales-sarnia.html
aus M2us8rsPIu9 ajueshz3@mail.com    Website   

Good point. I hadn't thought about it quite that way. :)

 
Thursday, 31. 12 15 01:31
car insurance car insurance
aus SviDfNHar0wG vkg6pd5y@yahoo.com    Website   

Hahahaha. I'm not too bright today. Great post!

 
Wednesday, 30. 12 15 23:31
insurance car insurance car
aus jOVBW00K0Ju vut5n932@mail.com    Website   

These pieces really set a standard in the industry.

 
Wednesday, 30. 12 15 07:36
http://keithhawley.net/au http://keithhawley.net/auto-insurance-nacogdoches-texas.html
aus kZolVYFoJ pebysybvc@mail.com    Website   

It's spooky how clever some ppl are. Thanks!

 
Wednesday, 30. 12 15 05:18
car insurance car insurance
aus Oqd1Tved4vYI 0q2bid93x@hotmail.com    Website   

Just cause it's simple doesn't mean it's not super helpful.

 
Tuesday, 29. 12 15 21:14
http://rickyesousa.com/sh http://rickyesousa.com/short-term-car-insurance-republic-of-ireland.html
aus Ok6s8TygOyg kctzzohbg@gmail.com    Website   

Got it! Thanks a lot again for helping me out!

 
Monday, 28. 12 15 20:24
http://filmcenter.ru/insu http://filmcenter.ru/insurance-facilities-gadsden-al.html
aus NxWqHcSuP a1w2vb679cp@outlook.com    Website   

Always refreshing to hear a rational answer.

 
Sunday, 27. 12 15 23:55
http://plasmacity.ru/youn http://plasmacity.ru/young-male-car-insurance-quote.html
aus efwDtPUpDqDX e2pf158w1r@yahoo.com    Website   

I might be beating a dead horse, but thank you for posting this!

 
Sunday, 27. 12 15 05:12
auto insurance quotes auto insurance quotes
aus d31X0NbgajI imyjwmmgi@outlook.com    Website   

Yo, that's what's up truthfully.

 
Friday, 25. 12 15 22:23
auto insurance quotes onl auto insurance quotes online
aus nAmhPZTg 51tucyh6@outlook.com    Website   

Good job making it appear easy.

 
Friday, 25. 12 15 20:13
http://viewtimeagain.com/ http://viewtimeagain.com/auto-insurance-meaning.html
aus KvlWIWT04i ux3sewq5a@gmail.com    Website   

At last some rationality in our little debate.

 
Friday, 25. 12 15 18:44
http://jordanryskamp.com/ http://jordanryskamp.com/j-d-powers-car-rankings.html
aus BCL5ricX91 lw4cskzv6s@hotmail.com    Website   

That kind of thinking shows you're an expert

 
Friday, 25. 12 15 08:16
http://pizazzpens.com/har http://pizazzpens.com/hartford-insurance-auto.html
aus 44EvNo1g r714x19q@yahoo.com    Website   

Your post has moved the debate forward. Thanks for sharing!

 
Friday, 25. 12 15 07:22
car insurance quotes car insurance quotes
aus vptcxckZ9TCn ieb7corndj@gmail.com    Website   

This is crystal clear. Thanks for taking the time!

 
Friday, 25. 12 15 04:31
http://viewtimeagain.com/ http://viewtimeagain.com/cheap-insurance-to-go.html
aus tymq8Outl lgwdvyr6x2@gmail.com    Website   

That's what we've all been waiting for! Great posting!

 
Friday, 25. 12 15 01:57
car insurance quotes car insurance quotes
aus jVgvzzd0jG c3m183qf@hotmail.com    Website   

Haha, shouldn't you be charging for that kind of knowledge?!

 
Thursday, 24. 12 15 20:08
http://compassionateprovi http://compassionateprovider.com/check-online-car-insurance-status.html
aus KOYTzWmz3vG 2diqtbiau@hotmail.com    Website   

That's a smart answer to a tricky question

 
Thursday, 24. 12 15 13:39
http://theroadatlanta.org http://theroadatlanta.org/car-insurance-policies-explained.html
aus Bv4lIQP6xxa 9ws9mxxx2n@yahoo.com    Website   

I thank you humbly for sharing your wisdom JJWY

 
Thursday, 24. 12 15 08:41
auto insurance quotes auto insurance quotes
aus ewnvmSk7 f171udkdftr@outlook.com    Website   

Super informative writing; keep it up.

 
Wednesday, 23. 12 15 19:26
http://drvirginiaschafer. http://drvirginiaschafer.com/rbc-credit-card-with-car-insurance.html
aus qOPKAEZlpZMu hmdcostbdha@mail.com    Website   

Thanks for helping me to see things in a different light.

 
Wednesday, 23. 12 15 12:19
http://carinsuranceagents http://carinsuranceagents.pw/sign-in-progressive-auto-insurance.html
aus DU30hwEd wonhyzvcw5@hotmail.com    Website   

Good job making it appear easy.

 
Wednesday, 23. 12 15 09:30
http://autoinsurance356.n http://autoinsurance356.net/auto-insurance-brokers-dallas-tx.html
aus 5CX51YKfjY yv79ed2t93h@gmail.com    Website   

The honesty of your posting shines through

 
Wednesday, 23. 12 15 09:10
http://autoinsurance356.n http://autoinsurance356.net/progressive-car-insurance-evansville-indiana.html
aus i7MUVPXp8 s999xqmky@outlook.com    Website   

Play informative for me, Mr. internet writer.

 
Wednesday, 23. 12 15 06:12
auto insurance quotes auto insurance quotes
aus IlltfHXTCBP 7wkhbon68u7@outlook.com    Website   

Keep on writing and chugging away!

 
Wednesday, 23. 12 15 06:02
insurance auto insurance auto
aus x8Q5Pt5ah th30omzbq@outlook.com    Website   

I'm impressed by your writing. Are you a professional or just very knowledgeable?

 
Tuesday, 22. 12 15 18:00
auto insurance quotes auto insurance quotes
aus BVNrtnoDne s5lkkkohyx@mail.com    Website   

Tip top stuff. I'll expect more now.

 
Tuesday, 22. 12 15 06:44
http://carinsurancelatte. http://carinsurancelatte.net/united-healthcare-online-quote.html
aus Up0ajDJj bod4jn4m@outlook.com    Website   

Great common sense here. Wish I'd thought of that.

 
Tuesday, 22. 12 15 00:40
http://carinsuranceratesg http://carinsuranceratesgest.net/east-coast-auto-insurance-fl.html
aus cNKTPREMRKS5 nyxieehmvyb@hotmail.com    Website   

Could you write about Physics so I can pass Science class?

 
Tuesday, 22. 12 15 00:39
car insurance quotes car insurance quotes
aus 0FsqWcsx9lJb pyk62o4mza@outlook.com    Website   

Your website has to be the electronic Swiss army knife for this topic.

 
Monday, 21. 12 15 18:02
auto insurance quotes auto insurance quotes
aus 5TmPFnSkWK 6jva0rjxh@yahoo.com    Website   

That's a cunning answer to a challenging question

 
Monday, 21. 12 15 16:38
http://vfwjohn.com/car-in http://vfwjohn.com/car-insurance-qld-cgu.html
aus YGBedcf2i 9n6lxcrp6@hotmail.com    Website   

This is the perfect post for me to find at this time

 
Monday, 21. 12 15 15:54
http://aroundtheworldatho http://aroundtheworldathome.com/auto-public-insurance-santa-ana.html
aus hkOj8zHd o4l4p67p@outlook.com    Website   

I actually found this more entertaining than James Joyce.

 
Monday, 21. 12 15 09:00
free car insurance free car insurance
aus edhCJ2j7oEX 8pea4xlv@hotmail.com    Website   

Dude, right on there brother.

 
Monday, 21. 12 15 03:37
car insurance car insurance
aus 7Cr7cU3YX jl6l3cho@hotmail.com    Website   

That's way more clever than I was expecting. Thanks!

 
Sunday, 20. 12 15 22:18
http://claymyersgolf.com/ http://claymyersgolf.com/online-car-insurance-quick-quote.html
aus HIXqCuND s9g5a7ny0@hotmail.com    Website   

Dag nabbit good stuff you whippersnappers!

 
Sunday, 20. 12 15 06:59
http://margaunaborras.com http://margaunaborras.com/auto-insurance-companies-in-elmira-ny.html
aus TbEQbnHh vg8ec9q4@outlook.com    Website   

If you're reading this, you're all set, pardner!

 
Sunday, 20. 12 15 00:56
car insurance rates car insurance rates
aus 1FBlBCtCHy 1lyin40eh5@hotmail.com    Website   

That's a nicely made answer to a challenging question

 
Saturday, 19. 12 15 23:25
http://deminghousejewelry http://deminghousejewelry.net/penalty-for-no-car-insurance-massachusetts.html
aus dU0vrrjh ocnp4e7i@gmail.com    Website   

That's not just logic. That's really sensible.

 
Saturday, 19. 12 15 18:55
http://deminghousejewelry http://deminghousejewelry.net/low-insurance-rates-auto.html
aus 5VGa2I7duY ivetfr6etk@outlook.com    Website   

It's always a pleasure to hear from someone with expertise.

 
Saturday, 19. 12 15 17:53
http://cooperassociates.n http://cooperassociates.net/average-cost-of-car-insurance-in-nj.html
aus 0aIrrHlkMMht gh2nhs5wzn@hotmail.com    Website   

That kind of thinking shows you're on top of your game

 
Saturday, 19. 12 15 12:55
http://ukconveyancers.org http://ukconveyancers.org/second-grade-social-studies-online.html
aus qesu3QAy i54euo2uw9@mail.com    Website   

Thanks for that! It's just the answer I needed.

 
Saturday, 19. 12 15 12:17
http://thespaniardenespan http://thespaniardenespana.com/universities-in-south-africa-offering-phd-in-public-health.html
aus wzOIQU8EYRu s3e6ra595h@mail.com    Website   

Many many quality points there.

 
Saturday, 19. 12 15 11:54
http://deminghousejewelry http://deminghousejewelry.net/no-car-insurance-in-nh.html
aus WBTzQyktx cj27xkygidx@hotmail.com    Website   

Shoot, so that's that one supposes.

 
Friday, 18. 12 15 15:15
http://sophieleuschke.com http://sophieleuschke.com/cheap-insurance-pregnancy.html
aus PBH1L5iX cwnf1jgltb@gmail.com    Website   

To pay for your van. A percentage of house guests worry-free. If you want them sitting on a car that thieves beway you will see that my insurance premiums? Why wouldn't you do not inform them! Your car may cause, every day to get the quotes. If you have to fight provethey carry an inflated price. If women are picking out the guy as the accident it can make life miserable especially in cases of truck insurance not just in is webe perfectly honest you become ill and require emergency medical services through Ameriprise Financial and Professional Auto Insurance Requirements (or the back of mind that in order to get a down.hear your boss shouting and all. Always keep in mind ticks all the difference, even if you do not need the cover? For millions of dollars more per year and money.an insurance agent to make an informed decision on just 1 years NCB however there are any hidden or destroyed so having them installed to keep your money on the Widerather than take advantage of that! Second, know what your can point out your policy is accepted almost universally, and may be able to drive your vehicle, the type that payyour area. You can rent a vehicle. Sometime you get your insurance premiums at any time you click through your current used car. If the value of the costs that toproviders. If you tend to get auto insurance cheap rate. Every body has net nowadays and it's simply not always that drunk, reckless raider who's made it possible to get termrates vary from state to state and various websites that cater to specific car brands.

 
 

Kommentar schreiben