2014-07-13 2 views
5

Ich freue mich auf die list of bus stops Data Portal Chicago Open, und ich sehe, dass sie einige doppelt entgangen haben, aber nicht alle, ihre Et-Zeichen. Mit anderen Worten kodieren sie manchmal ihre Ampersands als & # 38; Ampere und manchmal auch als & # 38;Verwendung von & und amp; das kaufmännische Und in KML darstellen?

Das Muster, das ich bemerke, ist, dass sie in den Beschreibungsfeldern, die vollwertige HTML-Dokumente innerhalb des KML-Dokuments selbst sind, doppelt-Espermaps entkommen.

Hat jemand einen Einblick auf das? Ist es ein Fehler in den Stadtdaten? Auch in Google Earth wird es nicht richtig dargestellt.

Antwort

2

Die XML-Entity-Codierung in dem Chicago Open Data Portal-Liste des Busses in KML stoppt, ist falsch.

Die folgenden KML-Schnipsel zeigt sich als Indiana & 14th Street in der Beschreibung Ballon von Google Earth nicht als „Indiana & 14th Street“, die gedacht war.

Beispiel:

<Placemark> 
    <name>Indiana &#38; 14th Street</name> 
    <description> 
     <![CDATA[<html xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
     ... 
     <td>PUBLIC_NAME</td> 
     <td>Indiana &#38;amp; 14th Street</td> 
     .... 
     </html> 
     ]]> 
    </description> 

Der Text als &#38;amp;&amp; decodiert wird, die durch den Block unter Verwendung von CDATA gezeigt, wie sie ist. Um in der Beschreibung die „&“ anzuzeigen, dann ein &#38; oder &amp; (nicht beide) innerhalb des CDATA-Block-Gehalt benötigt wird. Die Codierung im Namensfeld ist korrekt, da sie kein CDATA-Tag hat.

In der Tat sollte die KML ein einziges BalloonStyle verwenden, um den langen HTML-Text in jeder Ortsmarke mit ExtendedData für bestimmte Werte (zB Stadt, Status, öffentlichen Namen, etc.) zu erfassen in den Ortsmarken zusätzlich zu der Datei komprimiert als eine KMZ - das würde die 15MB-Datei auf eine viel kleinere Größe reduzieren.

Hier ist ein Tutorial BalloonStyles und Extended verwenden.
https://developers.google.com/kml/documentation/extendeddata

Hier ist eine Beschreibung der speziellen Entität Codierung in KML.
http://kml4earth.appspot.com/kmlErrata.html#encoding

Verwandte Themen