這是另一種解決這個問題的方法,受到HTML微格式的啓發(將信息嵌入額外的HTML元素,通常是'div'和'span')。主要使用'g'元素可以在SVG中實現類似的功能。
相對於RDFa它會有一些缺點。例如,在地圖製作社區之外,人們不會說特定的信息會成爲開幕日期。這意味着需要一些額外的SVG標記來嵌入這些信息。另一方面,這是一個更直接和可讀的方法。但是,它將如何應對挑戰並實現目標?
今天的地圖標記(after being cleaned up)可能是這個樣子的站(北京站在這種情況下):
<circle id="circle452" cx="1512.523" cy="1300.289" r="5.625" class="station"/>
<text dx="1522.5999" dy="1321.2517" xml:lang="en" class="station-name">Beijing Railway Station</text>
<text dx="1522.9651" dy="1306.156" xml:lang="zh" class="station-name">北京站</text>
這三個站的部件上面實際上並沒有在任何方面,除了通過視覺接近。一個微格式化的地鐵站表示的首次嘗試可能是這樣的:
<g class="station">
<metadata>
<desc class="opening-date">1971-11-7</desc>
<desc class="coordinates">116.41735553741455,39.90104520501837,0.0</desc>
</metadata>
<circle id="circle452" cx="1512.523" cy="1300.289" r="5.625" class="icon"/>
<text dx="1522.5999" dy="1321.2517" xml:lang="en" class="name">Beijing Railway Station</text>
<text dx="1522.9651" dy="1306.156" xml:lang="zh" class="name">北京站</text>
</g>
這有一些相對於第一種方法爲相關元素(站符號,中英文和簡體中國名字)的優點是現在結構上與元數據相關。
對於第一次嘗試,我使用'元數據'元素和'desc'元素。這可能是也可能不是一個好的選擇。 '元數據'應該沒問題,但'desc'元素是針對人類觀衆的,而不是Javascript。無論使用SVG渲染器還是其他SVG處理器(例如SVG屏幕閱讀器),都無需找到無副作用的元素。我還不知道'desc'是否填滿了賬單。
此外,這會處理挑戰並實現目標嗎?換句話說,提取和應用這些動畫數據很容易嗎?
(結構我會承擔RDFa的解決方案看起來類似的東西,只用RDF在「說明」元素現在。)
關於HTML5微數據,請參閱https://bugzilla.mozilla.org/show_bug.cgi?id=909633。 –
謝謝,我忘了一個隱含的要求,動態地圖將不得不與合理的現代瀏覽器,那些明顯支持SVG的瀏覽器一起工作。 HTML微數據不會出於這個原因,並且出於HTML和SVG。微數據是對微格式的WHATWG響應,微格式可能是解決這個問題的一種可能的解決方案。以下是關於地理數據的頁面:http://microformats.org/wiki/location-formats通常,HTML微格式使用'div','span'和'class'來對語義數據進行編碼,SVG具有類似的元素,如'g'濫用。 –