CLK Observatory 這個 blog 裡最近的文章,可以看得出來作者碴裡王飽受白目同事的「事蹟」摧殘。這不,這回乾脆貼出大概是內部 bug tracking system 的畫面,白目同事質疑,為什麼網站的 RSS 連結,點下去會直接出現 XML 碼。對技術人來說,呵呵,這真的是天大的笑話。「RSS 連結本來就是要出現 XML code!!!」畫面裡某人士憤怒地連用三個驚嘆號,回絕了這個 bug report。

是啊,天大的笑話。但,真的是這樣嗎?

我以前就有在想,為什麼 blog 上的 RSS「連結」,點下去會跑出 XML 碼來?看來,我也是適合當白目同事的那一種人。但拼著鬧笑話這樣想,當然是有理由的。身為技術人,懂 RSS 是什麼的我,「當然」知道「RSS 連結本來就是要出現 XML code!!!」我還知道網頁上的這個「RSS 連結」,不是要給我「點」的喔,而是要把網址複製下來,加到另外安裝的 RSS reader 裡,以便享用這個 RSS 資源。如果我更聰明的話,我還懂得裝個 SageLiveLines 之類的東西,只要按一個「網頁外」的按鈕,用起 RSS 來會更方便喔。但如果我不懂 RSS 是什麼呢?如果我只是一般普羅老百姓,從未接觸過 blog/RSS 這些新玩意呢?

所以,blog 上的 RSS「連結」,點下去應該跑出 XML 碼來嗎?當然不應該。XML 碼是給機器看的,是給怪喀程式設計師看的,但絕對不是給「人」看的。不是給人看的東西,被人看到了,人當然會覺得,一定有什麼東西「壞掉」了。東西「壞掉」了,該不該發 bug report?該。

理所當然其實並不理所當然

身為技術人的我們,時常會把自認為理所當然之事,看做是理所當然之事。但其實,理所當然,其實並不理所當然,只是我們技術人的自以為是罷了。若是更進一步地,用上了苛刻的言語,那就是顧人怨了。

講了老半天,技術人還是回歸技術好了。Blog 上的 RSS「連結」,點下去應該跑出 XML 碼來嗎?其實還是應該的,跑出 XML 碼本來就是這個連結的功能。只是,機器 (程式) 看和人看,應該要有所不同,機器 (程式) 需要看的,是原始的 XML 碼,而人需要看的,是經過裝飾後的美美畫面與內容。而這個,其實就是 XML/XSLT/CSS 當初被設計出來的目的。看吧!設計 XML/XSLT/CSS 的大師不愧是大師,而努力鑽研技術細節的我們,倒是把 XML/XSLT/CSS 的「本質」給忘了。

所以,只要在 RSS「連結」所跑出來的 XML 碼裡,加上 XSL 宣告 或是 CSS 宣告,就可以了。機器 (程式) 看的時候,只撿 XML 的部分看,而人看的時候,browser 會依據 XSL 宣告 或 CSS 宣告,將 XML 內容裝飾包裝成美美的網頁形式,變成人可以看得懂得樣子。而這也是像 Sage 這類 browser-based RSS reader 的核心技術原理。

2007-05-24 補:後來 firefox 2 的 rss 按鈕,就改成了按一下,會跑出內建的一個 RSS viewer,並提供選項,讓使用者選擇要怎麼訂閱。