Feed XML an Google Kalender
Ich habe eine XML-Datei mit Seminaren, die ich an Google-Kalender weitergeben möchte. Die XML-Datei wird von einer anderen Person gepflegt und regelmäßig aktualisiert. Ich möchte dies so tun, dass Google diese Änderungen automatisch erkennt. Ich habe nicht viel Erfahrung mit so etwas, also hoffe ich, dass mich jemand in die richtige Richtung weisen kann.
Dies ist ein Beispiel für das XML, das ich verarbeiten möchte.
(XML-Datei: "seminars.xml")
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="ical.xsl"?> <seminars> <lastupdate>20150707</lastupdate> <seminar> <speaker>A. Einstein</speaker> <location>Zurich</location> <date>20150607</date> <time>15:45:00</time> <university>Princeton</university> <abstract> <title>On the structure of generalized patent office spaces</title> <content>To be announced.</content> </abstract> </seminar> </seminars>
Der naheliegendste Weg, dies zu erreichen, würde ich sagen, ist die Verwendung eines XSLT-Stylesheets, das die XML-Daten verarbeitet und einige Dateien erstellt, die Google-Kalender lesen kann. Ich habe eine Website / einen Server, auf dem ich diese XSL-Datei ablegen kann. Idealerweise würde ich hoffen, mit nur einem Upload die richtige Datei erstellen zu können.
Das XSL-Blatt, das ich habe, sieht so aus.
(XSL-Datei: "ical.xsl")
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" encoding="iso-8859-1" media-type="text/calendar"/> <xsl:variable name="crlf"> </xsl:variable> <xsl:template match="/">BEGIN:VCALENDAR<xsl:value-of select="$crlf"/> CALSCALE:GREGORIAN<xsl:value-of select="$crlf"/> VERSION:2.0<xsl:value-of select="$crlf"/> SEQUENCE:1<xsl:value-of select="$crlf"/> X-WR-TIMEZONE:Europe/Paris<xsl:for-each select="seminars/seminar"><xsl:value-of select="$crlf"/> BEGIN:VEVENT<xsl:value-of select="$crlf"/> LOCATION:<xsl:value-of select="location"/><xsl:value-of select="$crlf"/> DTSTART:<xsl:value-of select="date"/>T154500<xsl:value-of select="$crlf"/> DTEND:<xsl:value-of select="date"/>T164500<xsl:value-of select="$crlf"/> DESCRIPTION:seminar by <xsl:value-of select="speaker"/><xsl:value-of select="$crlf"/> SUMMARY:<xsl:value-of select="abstract/title"/><xsl:value-of select="$crlf"/> END:VEVENT<xsl:value-of select="$crlf"/></xsl:for-each> END:VCALENDAR<xsl:value-of select="$crlf"/> </xsl:template> </xsl:stylesheet>
Dies funktioniert, wenn ich die XML-Datei verarbeite, an eine iCal-Datei weiterleite ( xsltproc seminars.xml > mycal.ics
) und sie in einen Kalender in Google-Kalender importiere. Das Ergebnis mycal.ics
sieht so aus
BEGIN:VCALENDAR CALSCALE:GREGORIAN VERSION:2.0 SEQUENCE:1 X-WR-TIMEZONE:Europe/Paris BEGIN:VEVENT LOCATION:Zurich DTSTART:20150607T154500 DTEND:20150607T164500 DESCRIPTION:seminar by A. Einstein SUMMARY:On the structure of generalized patent office spaces END:VEVENT
Nun besteht das Problem darin, dass (1) Google die XML-Datei nicht verarbeitet, und daher beim Importieren ein Fehler generiert wird. (2) Ich bin nicht sicher, ob diese Methode automatisch "greifen" würde, da die XML-Datei gelegentlich neu geladen werden muss.
Gibt es eine Möglichkeit, Google (oder den Webserver) zu veranlassen, diese Datei so zu verarbeiten, dass sie als iCal-Datei erkannt und auf dem neuesten Stand gehalten wird?
Ein kleines Problem ist schließlich auch, dass die ursprüngliche XML-Datei eine andere XSL-Datei enthält. Gibt es eine einfache Möglichkeit, auf dieser Website so etwas wie einen symbolischen Link zu dieser Datei zu erstellen, oder die XML-Datei ohne Header einfügen, damit ich einfach die ursprüngliche XSL durch meine ersetzen kann?
Sorry für die lange Frage. Danke im Voraus.
0 Antworten auf die Frage
Verwandte Probleme
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
8
Wie synchronisieren Sie Google Kalender und iCal?
-
8
Anzeigen von XML im Chrome-Browser
-
2
Synchronisieren Sie Google, Outlook-Kalender und Kontakte
-
16
Abfragen einer CSV-Datei
-
1
Wie können Ereignisanfragen von bestimmten E-Mail-Adressen an einen bestimmten Google Kalender gesen...
-
5
Excel 2007 konvertiert CSV-Felder in Formeln
-
4
Wie kann ich unformatierte RSS-XML in einem Browser anzeigen?
-
5
Grep-Tool für XML
-
1
Mozilla Sunbird: Mehrtägige Veranstaltungen sehen im Kalender seltsam aus