On Github gmb2012 / sae-api-geotagging-xml-rss
Bjoern Zapadlo Konstanz36 Jahre
Development Manager / Consultant @ HolidayCheck AG
Informatik Studium 1999 - 2002 3 Agenturen in Stuttgart
HolidayCheck International Websites / new Framework Neckermann / Thomas Cook
Dozent an der SAE, Dualen Hochschule Stuttgart, Hochschule Furtwangen
PHP, Java, Scala, Javascript, CSS, Html,MySQL, MongoDB, Elasticsearch, ...
Seit über 15 Jahren im Web unterwegs
bjoern.zapadlo@gmail.com http://www.zapadlo.de
@BjoeZap
https://www.xing.com/profile/Bjoern_Zapadlo http://de.linkedin.com/pub/bjoern-zapadlo/36/889/1a5
Facebook Google+
Größtes deutsches Meinungsportal für Reise und Urlaub Vermittlung von Reisen Sitz in der Schweiz, direkt am Bodensee Börsennotiert über Tomorrow Focus AG Existiert seit 1999 Ausgründungen in mehreren europäischen Ländern Über 330 Mitarbeiter
Das Wort fett soll fett sein
Hier möchte ich gerne
einen Absatz haben
Das Wort FETTSTARTfettFETTSTOP soll fett sein Hier möchte ich gerneABSATZeinen Absatz haben
Eine spezielle Maskierung zur Abgrenzung von Nutz und Strukturierungsdaten muss her
Eine Auszeichnungssprache (englisch: Markup Language, ML) dient zur Beschreibung des Inhalts eines Dokumentenformates und teilweise zur Beschreibung des Verfahrens, welches zur Bearbeitung dieser Daten benötigt wird. Ursprünglich dienten die Auszeichnungen im Text als Anweisungen für die Setzer im Drucksatz, mit der Weiterentwicklung in der Typografie für digitale Texte wurden daraus jedoch komplexe Sprachen.
Sind keine Programmiersprachen (PHP, ...) meistens ;)
Können trotzdem sehr komplex sein
Sind Dank des Internets sehr populär
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <verzeichnis> <titel>Wikipedia Städteverzeichnis</titel> <eintrag> <stichwort>Genf</stichwort> <eintragstext>Genf ist der Sitz von ...</eintragstext> </eintrag> <eintrag> <stichwort>Köln</stichwort> <eintragstext>Köln ist eine Stadt, die ...</eintragstext> </eintrag> </verzeichnis>
Durch die Auszeichnung wird z.B. eine Überschrift zur Überschrift
Durch die Auszeichnung kann eine (Such)Maschine Texte und deren Bedeutung interpretieren
Okay, es gibt Sachen, die machen mehr Spass
Datenaustausch (in heterogenen Systemen)
Datenbankersatz
Einfach & Flexibel
Menschen und Maschinenlesbar
Es ist Text
Es ist Text: Encoding, Escaping von Steuerzeichen
Kann Komplex werden
Performance
Overhead
Vorgänger SGML (ISO 8879:1986): Standard Generalized Markup Language IBM Forschungsprojekt sehr flexibel aber komplex und performancehungrig
1989 für das CERN HTML Tim Berners-Lee Einfach, aber unsauber, extreme Verbreitung Versionschaos, dann Standartisierung durch das W3C
Parallel XML Vereinfachtes SGML
XML + HTML = XHTML
Standardisiert vom W3C
1.0 (5th Edition)
1.1 (2nd Edition)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <verzeichnis> <titel>Wikipedia Städteverzeichnis</titel> <eintrag> <stichwort>Genf</stichwort> <eintragstext>Genf ist der Sitz von ...</eintragstext> </eintrag> <eintrag> <stichwort>Köln</stichwort> <eintragstext>Köln ist eine Stadt, die ...</eintragstext> </eintrag> </verzeichnis>
Eine XML-Deklaration ist eine Erkennungszeichenfolge im Prolog einer XML-Datei
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Die XML-Datei selbst
Verknüpfungen auf wiederkehrende Zeichenketten und ganze Dateien
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!ENTITY c "Chris"> <!ENTITY chap1 SYSTEM "chapter-1.xml"> <verzeichnis> <titel>Hallo &c;</titel> <!-- Pull in the chapter content: --> &chap1; </verzeichnis>
Eine Dokumenttypdefinition (englisch Document Type Definition, DTD, auch Schema-Definition oder DOCTYPE) ist ein Satz an Regeln, der benutzt wird, um Dokumente eines bestimmten Typs zu deklarieren.
<?xml version="1.0" standalone="no"?> <!DOCTYPE hallo SYSTEM "hallo.dtd"> <hallo>Hallo Welt!</hallo>
Der logische Aufbau entspricht einer Baumstruktur und ist damit hierarchisch organisiert.
Verarbeitungsanweisung (engl. processing instruction) oder auch Steueranweisung ist ein Konstrukt von SGML und XML, um Daten abzulegen, die an eine bestimmte (XML-)Anwendung gerichtet ist.
Eine XML-Deklaration ist keine Verarbeitungsanweisung, auch wenn sie genauso aussieht.
<?xml-stylesheet type="text/xsl" href="show_book.xsl"?>
Auszeichnung via Start- und End-Tag oder einem sog. Empty-Element-Tag
<Tag-Name></Tag-Name> <Empty-Element />
Attribute als bei einem Start-Tag oder Empty-Element-Tag geschriebene Schlüsselwort-Werte-Paare (Attribut-Name="Attribut-Wert") für Zusatz-Informationen über Elemente
<Tag-Name attribute-key="attribute-value"></Tag-Name> <Empty-Element attribute-key="attribute-value" />
Normaler Text ;) bzw. die Nutzinformation
<Tag-Name>ganz normaler Text</Tag-Name>
Mit einem CDATA(Akronym für engl. character data „Zeichendaten“)-Abschnitt wird einem Parser mitgeteilt, dass kein Markup folgt, sondern normaler Text. Dieser wird nicht interpretiert und kann daher auch "illegales" XML (Tags, Sonderzeichen, ...) enthalten.
<Tag-Name> <![CDATA[ Inhalt ]]> </Tag-Name> <Tag-Name> <![CDATA[ Inhalt]] ]]><![CDATA[ >Inhalt ]]> </Tag-Name>
<!-- Kommentar-Text -->
XML-Deklaration muss vorhanden sein
Baumstruktur muss eingehalten werden: Wurzelelement darf genau einmal vorhanden sein Tags müssen geschlossen und die korrekte Verschachtelung muss eingehalten werden XML ist „Case Sensitive“ und nicht auf ASCII beschränkt
Kommentare müsssen korrekt sein
Der Zeichensatz sollte angegeben werden
Wenn keine Regel Verletzt wird. Prüfung erfolgt durch den XML-Parser
Das Dokument ist an ein Textdokument angelehnt, das für den menschlichen Leser größtenteils auch ohne die zusätzliche Metainformation verständlich ist. XML-Elemente werden hauptsächlich zur semantischen Markierung von Passagen des Dokuments genutzt, das Dokument ist nur schwach strukturiert. Aufgrund der schwachen Strukturierung ist eine maschinelle Verarbeitung schwierig.
Das Dokument ist hauptsächlich für die maschinelle Verarbeitung bestimmt. Es folgt einem Schema, das Entitäten eines Datenmodells beschreibt und definiert, in welcher Beziehung die Entitäten zueinander stehen, sowie, welche Attribute die Entitäten haben. Das Dokument ist somit stark strukturiert und für den unmittelbaren menschlichen Gebrauch weniger geeignet.
Semistrukturierte Dokumente stellen eine Art Mischform dar, die stärker strukturiert ist als dokumentzentrierte Dokumente, aber schwächer als datenzentrierte Dokumente.
Soll XML für den Datenaustausch verwendet werden, ist es von Vorteil, wenn das Format mittels einer Grammatik (z. B. einer Dokumenttypdefinition oder eines XML-Schemas) definiert ist. Der Standard definiert ein XML-Dokument als gültig (oder englisch valid), wenn es wohlgeformt ist, den Verweis auf eine Grammatik enthält und das durch die Grammatik beschriebene Format einhält.
Eine Dokumenttypdefinition (englisch Document Type Definition, DTD, auch Schema-Definition oder DOCTYPE) ist ein Satz an Regeln, der benutzt wird, um Dokumente eines bestimmten Typs zu deklarieren. Ein Dokumenttyp ist dabei eine Klasse ähnlicher Dokumente, wie beispielsweise Telefonbücher oder Inventurdatensätze. Die Dokumenttypdefinition besteht dabei aus Elementtypen, Attributen von Elementen, Entitäten und Notationen.
Konkret heißt das, dass in einer DTD die Reihenfolge, die Verschachtelung der Elemente und die Art des Inhalts von Attributen festgelegt wird – kurz gesagt: die Struktur des Dokuments.
Diese können direkt im XML-Dokument definiert werden oder von dort verlinkt werden.
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE Person SYSTEM "toll.dtd"> <Person> <Name>Manfred Müller</Name> <Kind> <Name>Olivia Müller</Name> </Kind> <Kind> <Name>Marc Müller</Name> </Kind> </Person
<!ELEMENT Person (Name, Kind*)> <!ELEMENT Kind (Name)> <!ELEMENT Name (#PCDATA)>
Diese DTD sagt aus, dass es ein Element Person gibt, mit den Unterelementen Name und Kind, wobei Kind öfter als einmal vorkommen darf. Desweiteren bestimmt diese DTD, dass Name mit Text oder weiteren Unterknoten gefüllt sein darf während CDATA für reinen Text steht.
XML Schema, abgekürzt XSD (XML Schema Definition), ist eine Empfehlung des W3C zum Definieren von Strukturen für XML-Dokumente. Anders als bei den klassischen XML-DTDs wird die Struktur in Form eines XML-Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.
XML Schema beschreibt in einer komplexen Schemasprache Datentypen, einzelne XML-Schema-Instanzen (Dokumente) und Gruppen solcher Instanzen. Ein konkretes XML Schema wird auch als eine XSD (XML Schema Definition) bezeichnet und hat als Datei üblicherweise die Endung „.xsd“.
... <pc-Typ> <name>Ein Name, aber Element ist optional</name> <hersteller>Ein Hersteller, aber Element ist optional</hersteller> <id>123</id> </pc-Typ> ...
<xsd:complexType name="pc-Typ"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="hersteller" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:integer"/> </xsd:complexType>
Analog zu Html lassen sich auch XML Dokument mit CSS stylen. Die Interpretation erfolgt dann z.B. per Browser, welcher XML darstellen kann. Allerdings ist das ein eher ungebräuchlicher Ansatz.
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> . . . </CATALOG>
CATALOG { background-color: #ffffff; width: 100%; } CD { display: block; margin-bottom: 30pt; margin-left: 0; } TITLE { color: #FF0000; font-size: 20pt; }
Die XML Path Language (XPath) ist eine vom W3-Konsortium entwickelte Abfragesprache, um Teile eines XML-Dokumentes zu adressieren. XPath dient als Grundlage einer Reihe weiterer Standards wie XSLT, XPointer und XQuery.
Ein XPath-Ausdruck adressiert Teile eines XML-Dokuments, das dabei als Baum betrachtet wird.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <dok> <kap title="Nettes Kapitel"> <pa>Ein Absatz</pa> <pa>Noch ein Absatz</pa> <pa>Und noch ein Absatz</pa> <pa>Nett, oder?</pa> </kap> <kap title="Zweites Kapitel"> <pa>Ein Absatz</pa> <pa format="bold">Erste Zeile</pa> <pa format="bold">Zweite Zeile</pa> <pa format="italic">Dritte Zeile</pa> </kap> </dok>
XSL Transformation, kurz XSLT, ist eine vollständige Programmiersprache zur Transformation von XML-Dokumenten. Sie ist Teil der Extensible Stylesheet Language (kurz XSL, eine in XML notierte Familie von Transformationssprachen zur Definition von Layouts für XML-Dokumente).
XSLT baut auf der logischen Baumstruktur eines XML-Dokumentes auf und dient zur Definition von Umwandlungsregeln. XSLT-Programme, sogenannte XSLT-Stylesheets, sind dabei selbst nach den Regeln des XML-Standards aufgebaut.
Die Stylesheets werden von spezieller Software, den XSLT-Prozessoren, eingelesen, die mit diesen Anweisungen ein oder mehrere XML-Dokumente in das gewünschte Ausgabeformat umwandeln. XSLT-Prozessoren sind auch in vielen modernen Webbrowsern (Benutzung per Javascript) integriert.
Das Ergebnis der Transformation kann XML oder ein beliebiges anderes Format sein, z.B. HTML, PDF, Text, ...
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> ... </catalog>
<?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><body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"><th>Title</th><th>Artist</th></tr> <xsl:for-each select="catalog/cd"> <tr><td><xsl:value-of select="title" /></td><td><xsl:value-of select="artist" /></td></tr> </xsl:for-each> </table> </body></html> </xsl:template> </xsl:stylesheet>
Mischung mehrere XML-Sprachen in einem Dokument.
Überschneidung bei den Tag-Names
Wer soll welches Tag bearbeiten
Siehe Telefon-Vorwahl ;)
Vorsicht: DTDs unterstützen dies nicht
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> ... <p>Und noch ein kleines Bild dazu:</p> <svg:svg> <svg:rect x="0" y="0" width="1" height="1" /> </svg:svg>
Im Zusammenhang mit XML wurden vom W3-Konsortium auf Basis von XML viele Sprachen definiert, welche XML-Ausdrücke für häufig benötigte allgemeine Funktionen anbieten wie etwa die Verknüpfung von XML-Dokumenten. Zahlreiche XML-Sprachen nutzen diese Grundbausteine.
Verknüpfung von XML-Ressourcen: XPointer, XLink und XInclude
Selektion von Daten aus einem XML-Datensatz: XQuery
Datenmanipulation in einem XML-Datensatz: XUpdate
Abfassen von elektronischen Formularen: XForms
Definition von XML-Datenstrukturen: XML Schema (= XSD, XML Schema Definition Language), DTD und RELAX NG
Signatur und Verschlüsselung von XML-Knoten: XML Signature und XML-Encryption
Aussagen zum formellen Informationsgehalt: XML Infoset
Formatierte Darstellung von XML-Daten: XSL-FO
Definition zum Methoden- bzw. Funktionsaufruf durch verteilte Systeme: XML-RPC
Standardisierte Attribute: XML Base und ID (DTD)
XML-basierte deklarative Programmiersprache: MXML
DocBook DITA XHTML (XML-konformes HTML) TEI (Text Encoding Initiative) NITF (News Industry Text Format) OPML (Outline Processor Markup Language) OSIS (Open Scripture Information Standard) OpenDocument-Austauschformat (OASIS Open Document Format for Office Applications)
SVG (Vektorgrafiken) X3D (3D-Modellierungssprache) Collada (Austauschformat für Daten zwischen verschiedenen 3D-Programmen)
Geography Markup Language (GML) GPS Exchange Format (GPX): XML für GPS-Daten Keyhole Markup Language (KML): Koordinaten-Spezifikation für Google Earth City Geography Markup Language (CityGML) OpenStreetMap (OSM)
MusicXML (Notendaten, aufgeschriebene Musik) SMIL (zeitsynchronisierte, multimediale Inhalte) MPEG-7 (MPEG-7 Metadaten) Laszlo (LZX)
Security Assertion Markup Language (sicherheitsbezogene Informationen beschreiben und übertragen) XML Signature (XML-Schreibweise für digitale Signaturen) XML Encryption
AutomationML, ein Format zur Speicherung von Anlagenplanungsdaten CAEX, ein Format zur Speicherung hierarchischer Objektinformationen GSDML, ein Format zur Beschreibung von Automatisierungsgeräten, die mit Profinet kommunizieren können IODD, ein Format zur Beschreibung von Sensoren und Aktoren
Webservices (z. B. SOAP, WSDL und WS-*) Einbindung von Java-Code in XML-Dokumente (XSP) Synchronisation von Kalenderdaten SyncML mathematische Formeln (MathML) Repräsentation von Graphen (GraphML) Verfahren im Bereich des Semantischen Webs (RDF, OWL, Topic Maps, UOML) Service Provisioning (SPML) Austausch von Nachrichten (XMPP) Finanzberichten wie bspw. Jahresabschlüssen (XBRL) Automobilindustrie (ODX, MSRSW, AUTOSAR-Templates, QDX, JADM) automatisierter Test z. B. von Schaltkreisen (ATML) Landwirtschaft (AgroXML) Verlagswesen (ONIX) Chemie (CIDX) ...
Der W3C-Standard Extensible HyperText Markup Language (erweiterbare HTML; Abkürzung: XHTML) ist eine textbasierte Auszeichnungssprache zur Strukturierung und semantischen Auszeichnung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten. Es ist eine Neuformulierung von HTML 4.01 in XML: Im Gegensatz zu HTML, welche mittels SGML definiert wurde, verwendet XHTML die strengere und einfacher zu parsende SGML-Teilmenge XML als Sprachgrundlage. XHTML-Dokumente genügen also den Syntaxregeln von XML.
Tags immer klein geschrieben: <br />
Start- und Ende-Tag oder Empty-Element-Tag: <div></div>, <br />
Attributwert in Anführungszeichen angeben: <div class="bla">
Attributname als -wert angeben: <input type="radio" checked="checked" />
name Attribut wird durch id ersetzt
Vollständige Kopfdaten:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
RSS ist eine seit dem Anfang des Jahres 2000 kontinuierlich weiterentwickelte Familie von Formaten für die einfache und strukturierte Veröffentlichung von Änderungen auf Websites in einem standardisierten Format.
XML-basiert
Quasi-Standard (zusammen mit Atom)
Feeds sind meist in Channels organisiert
Rich Site Summary vs. RDF Site Summary vs. Really Simple Syndication
Erfinder: Netscape, basiert auf RDF (Resource Description Framework)
basiert auf einfachem XML
wieder RDF-basiert
Basis ist 0.91, nicht RDF-basiert, Quasi-Standard, nicht vollständig abwärtskompatibel
Blog-Software, z.B. Wordpress, um einen Feed anzubieten
Firefox für Live-Bookmarks
RSSReader (NewsRob, ...), zum on- und offline lesen
Aggregation mehrere Newsfeeds z.B. per Feedly oder früher (GoogleReader)
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Titel des Feeds</title> <link>URL der Webpräsenz</link> <description>Kurze Beschreibung des Feeds</description> <language>Sprache des Feeds (z. B. "de-de")</language> <copyright>Autor des Feeds</copyright> <pubDate>Erstellungsdatum("Tue, 8 Jul 2008 2:43:19")</pubDate> <image> <url>URL einer einzubindenden Grafik</url> <title>Bildtitel</title> <link>URL, mit der das Bild verknüpft ist</link> </image> <item> <title>Titel des Eintrags</title> <description>Kurze Zusammenfassung des Eintrags</description> <link>Link zum vollständigen Eintrag</link> <author>Autor des Artikels, E-Mail-Adresse</author> <guid>Eindeutige Identifikation des Eintrages</guid> <pubDate>Datum des Items</pubDate> </item> <item>...</item> </channel> </rss>
Man kann eine RSS-Datei in der HTML-Seite, deren Inhalte sie maschinenlesbar enthält, verknüpfen. Dieses Verfahren wurde für RSS nie spezifiziert, allerdings können fast alle Aggregatorprogramme dadurch selbständig die Adresse des RSS-Feeds eines Webangebots herausfinden (genannt auto-discovery). Moderne Browser ermöglichen es dem Seitenbesucher, den so verknüpften RSS-Feed zu abonnieren. Beispielsweise wird in der Adress- oder Statusleiste des Browser-Fensters eine RSS-Schaltfläche angezeigt.
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.net/feed.rss" />
Atom Syndication Format (ASF) wird entwickelt, um die Nachfolge von RSS antreten
Atom entstand aus dem Bedürfnis heraus, die Vorteile der unterschiedlichen RSS-Formate in einem neuen Format zusammenzufassen und um neue Elemente zu ergänzen. Dabei haben die Entwickler – in überwiegender Mehrzahl Blogger – ASF auch so gestaltet, um den speziellen Bedürfnissen von Weblogs und Nachrichtenseiten gerecht zu werden. Die maßgeblichen Unterstützer von Atom sind in der Industrievereinigung AtomEnabled Alliance organisiert.
Die aktuelle Version des Atom Syndication Formats ist der IETF-Entwurf vom 11. August 2005, welcher von der IESG im August 2005 als Proposed Standard verabschiedet und im Dezember 2005 als RFC 4287 veröffentlicht wurde. Die meisten größeren Feed-Anbieter arbeiten bereits daran, das Format zu unterstützen. Der MIME-Typ von Atom ist application/atom+xml.
Podcasting bezeichnet das Anbieten abonnierbarer Mediendateien (Audio oder Video) über das Internet. Das Kofferwort setzt sich zusammen aus der englischen Rundfunkbezeichnung Broadcasting und der Bezeichnung für bestimmte tragbare MP3-Spieler, iPod, mit deren Erfolg Podcasts direkt verbunden sind und die heute stellvertretend für jegliche tragbare MP3-Spieler stehen. Ein einzelner Podcast besteht aus einer Serie von Medienbeiträgen (Episoden), die über einen News Feed (meistens RSS) automatisch bezogen werden können. Alternativ sind Podcasts auch unter dem markenneutralen Begriff Netcast bekannt.
Ein Podcast besteht aus einer Reihe von Medien-Dateien (Audio / Video / Text) und einer XML-Meta-Datei, die diese referenziert.
<?xml version="1.0" encoding="utf-8"?> <rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:itunesu="http://www.itunesu.com/feed" version="2.0"> <channel> <link>http://www.YourSite.com</link> <language>en-us</language> <copyright>©2013</copyright> <webMaster>your@email.com (Your Name)</webMaster> <managingEditor>your@email.com (Your Name)</managingEditor> <image> <url>http://www.YourSite.com/ImageSize300X300.jpg</url> <title>Title or description of your logo</title> <link>http://www.YourSite.com</link> </image> <itunes:owner> <itunes:name>Your Name</itunes:name> <itunes:email>your@email.com</itunes:email> </itunes:owner> <itunes:category text="Education"> <itunes:category text="Higher Education" /> </itunes:category> <itunes:keywords>separate, by, comma, and, space</itunes:keywords> <itunes:explicit>no</itunes:explicit> <itunes:image href="http://www.YourSite.com/ImageSize300X300.jpg" /> <atom:link href="http://www.YourSite.com/feed.xml" rel="self" type="application/rss+xml" /> <pubDate>Sun, 01 Jan 2012 00:00:00 EST</pubDate> <title>Verbose title of the podcast</title> <itunes:author>College, school, or department owning the podcast</itunes:author> <description>Verbose description of the podcast.</description> <itunes:summary>Duplicate of above verbose description.</itunes:summary> <itunes:subtitle>Short description of the podcast - 255 character max.</itunes:subtitle> <lastBuildDate>Thu, 02 Feb 2012 00:00:00 EST</lastBuildDate> <item> <title>Verbose title of the newer episode</title> <description>Verbose description of the episode.</description> <itunes:summary>Duplicate of above verbose description.</itunes:summary> <itunes:subtitle>Short description of the episode - 255 character max.</itunes:subtitle> <itunesu:category itunesu:code="112" /> <enclosure url="http://www.YourSite.com/FILE.EXT" type="audio/mpeg" length="1" /> <guid>http://www.YourSite.com/FILE.EXT</guid> <itunes:duration>H:MM:SS</itunes:duration> <pubDate>Thu, 04 Feb 2012 00:00:00 EST</pubDate> </item> <item> <title>Verbose title of the episode</title> <description>Verbose description of the episode.</description> <itunes:summary>Duplicate of above verbose description.</itunes:summary> <itunes:subtitle>Short description of the episode - 255 character max.</itunes:subtitle> <itunesu:category itunesu:code="112" /> <enclosure url="http://www.YourSite.com/FILE.EXT" type="audio/mpeg" length="1" /> <guid>http://www.YourSite.com/FILE.EXT</guid> <itunes:duration>H:MM:SS</itunes:duration> <pubDate>Thu, 02 Feb 2012 00:00:00 EST</pubDate> </item> </channel> </rss>
Natürlich muss man nicht zwingend das XML selber schreiben, sondern kann das erledigen lassen. Z.B. durch Podcast Generator
https://www.apple.com/itunes/podcasts/specs.htmlhttps://odee.osu.edu/resourcecenter/digital-media-production/how-write-podcast-rss-xml
Unter dem Vorgang der Georeferenzierung, Geokodierung, Geotagging oder Verortung versteht man die Zuweisung raumbezogener Informationen, der Georeferenz, zu einem Datensatz. Der Vorgang spielt eine wichtige Rolle in der Computerkartografie, Fernerkundung und bei Geoinformationssystemen, kommt aber auch Heimanwendungen vor, z. B. der Archivierung von Fotos und Videos.
Es gibt im Wesentlichen drei mögliche Gründe, warum man eine Georeferenzierung durchführen möchte:
Folgende Arten der Georeferenzierung sind zu unterscheiden:
Bei der Adresskodierung wird dem raumbezogenen Datensatz eine Postanschrift zugewiesen und damit ein indirekter Raumbezug geschaffen. Mithilfe geokodierter Adressen (das sind Punkte, die sowohl Postanschrift als auch Realweltkoordinaten tragen) lässt sich der direkte Raumbezug der Daten herstellen (Daten ↔ Adresse ↔ Koordinate). Adresspunktdatensätze werden unter anderem von der Katasterverwaltung oder von Navigationsdatensatzherstellern erstellt.
Beim Geotagging wird ein raumbezogener Datensatz (z. B. ein Bild, eine Webseite, ein Artikel) mit einer Koordinate versehen. Die Koordinate wird als Tag, Attribut bzw. Metainformation beigefügt. Sie ermöglicht die räumliche Einordnung der Information. Die Daten lassen sich so zum Beispiel in einer digitalen Karte (wie z. B. Google Earth) an der richtigen Stelle platzieren. Im Internet haben sich hierfür die Begriffe Geotagging und Geocoding verbreitet. Das beigefügte Attribut wird entsprechend Geotag oder Geocode genannt. Für die Geokodierung von Webseiten gibt es in HTML z. B. das Meta-Element geo.
Mit den geographischen Koordinaten (geographische Breite und geographische Länge) lässt sich die Lage eines Punktes auf der Erde beschreiben. Die Erde wird dabei in 360 Längengrade und 180 Breitengrade aufgeteilt. Längengrade verlaufen durch Nord- und Südpol, Breitengrade parallel zum Äquator.
Geographische Koordinaten werden häufig im Sexagesimalsystem angegeben, d. h. 1 Grad ist unterteilt in sechzig Minuten, 1 Minute wiederum in 60 Sekunden.
\begin{matrix} (x_1 - x_0)^2 + (y_1 - y_0)^2 + (z_1 - z_0)^2 = [c (t_1 - t_0)]^2 \quad (1)\\ (x_2 - x_0)^2 + (y_2 - y_0)^2 + (z_2 - z_0)^2 = [c (t_2 - t_0)]^2 \quad (2)\\ (x_3 - x_0)^2 + (y_3 - y_0)^2 + (z_3 - z_0)^2 = [c (t_3 - t_0)]^2 \quad (3)\\ (x_4 - x_0)^2 + (y_4 - y_0)^2 + (z_4 - z_0)^2 = [c (t_4 - t_0)]^2 \quad (4)\\ \end{matrix}
Alle existierenden zu verortenden Elemente lassen sich mit folgenden Grundformen abbilden:
Zwischen den Grundformen existieren folgende Beziehungen:
GeoJSON ist ein offener Standard, um geometrische Formen als JSON darzustellen und wird in vielen Anwendungen und dem Internet benutzt.
{ "type": "Point", "coordinates": [30, 10] } { "type": "LineString", "coordinates": [[30, 10], [10, 30], [40, 40]] } { "type": "Polygon", "coordinates": [[[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], [[20, 30], [35, 35], [30, 20], [20, 30]]] } { "type": "MultiPoint", "coordinates": [[10, 40], [40, 30], [20, 20], [30, 10]] }
Ein Navigationssystem ist ein technisches System, das mit Hilfe von Positionsbestimmung (Satellit, Funk, GSM bzw. inertes oder autonomes System) und Geoinformationen (Topologie-, Straßen-, Luft- oder Seekarten) eine Zielführung zu einem gewählten Ort oder eine Route unter Beachtung gewünschter Kriterien ermöglicht.
Neben der Bestimmung der Position wird hier ein Computersystem benötigt, welches in der Lage ist, den kürzesten Pfad zu berechnen.
Zusatzanwendungen für Navigationssysteme:
Unter Geotagging, auch Geocoding oder Geo-Imaging, versteht man bei fotografischen Aufnahmen die Zuordnung von geographischen Koordinaten. Als Punkte in einer elektronischen Karte lassen sich die so georeferenzierten Bilder anschließend leichter suchen und auswählen.
Eingesetzt wird die Foto-Verortung in der Raumplanung und dem Tourismus, der Umweltplanung, dem Verkehr und dem Katastrophenschutz. Ein häufiges und gängiges Anwendungsbeispiel ist das zeitsparende Illustrieren eines in einem Stadtplan festgelegten Stadtrundganges mit Bildern von sehenswerten Baudenkmälern
Die Geodaten lassen sich mit einer GPS-fähigen Kamera direkt bei der Aufnahme oder nachträglich in den Metadaten der Bilder (EXIF, XMP, IPTC) speichern
http://www.binarus.de/articles/reverse-geotagging/reverse-geotagging.shtml
Als Metatag zur Verortung von Angeboten, z.B. einer Firmenwebseite
<meta name="geo.region" content="DE-BW" /> <meta name="geo.placename" content="Stuttgart" /> <meta name="geo.position" content="51.165691;10.451526" /> <meta name="ICBM" content="51.165691, 10.451526" />
Als Geo Mikroformat zum Auslesen aus Webseiten
<span class="geo"> <span class="latitude">50.167958</span>; <span class="longitude">-97.133185</span> </span>
Als RDF Metadaten für das semantische Web
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <geo:Point> <geo:lat>55.701</geo:lat> <geo:long>12.552</geo:long> </geo:Point> </rdf:RDF>
Zugriff über die Browser-API auf den Standort des Benutzers
Standortbezogene Dienste (engl. Location-based Services (LBS), auch: Location Dependent Services (LDS)) sind mobile Dienste, die unter Zuhilfenahme von positionsabhängigen Daten dem Endbenutzer selektive Informationen bereitstellen oder Dienste anderer Art erbringen.
Meist wird ein solches in mehrere geteilt
Erstellt einen schönen Kartenausschnitt für die SAE
Active Pharmaceutical Ingredient: englische Bezeichnung für einen Wirkstoff in einem Medikament
Adaptive Planungsintelligenz: mathematische Methoden für industrielle Planungsaufgaben
African Plants Initiative: ein Projekt zur Förderung botanisch-taxonomischer Arbeit in Afrika
anonima petroli italiana SpA: eine italienische Ölgesellschaft
Arbeiterkommunistische Partei Irans: eine iranische Exilpartei
Api: ein Berg im Westen Nepals
...
Eine Programmierschnittstelle ist ein Programmteil, der von einem Softwaresystem andere