All posts by gslin

好用的 XSLT

XSLT 其實蠻簡單的,而且 IE6 與 Firefox 支援的都蠻完整的,只是不太清楚為什麼一直沒有起來?

W3SchoolsXSLT Tutorial,直接以大量的範例講解,看完以後再回去看 W3C 的文件就不需要把時間花在理解句子與單字了。(也就是把 W3C 的文件當工具書來查而已)

XSLT 是 XSL Transformations 的縮寫,1.0 版最後定案是 1999/11/16,是一項非常久的技術了。在 W3SchoolsXSLT Browsers 提到 IE6、Netscape 7 都有很不錯的支援:

Internet Explorer 6 fully supports the official W3C XSLT Recommendation.

Netscape 7 supports the official W3C XSLT Recommendation.

你可以把 XSLT 當作 client side 的 template engine,也就是 browser 幫你 template。

但請不要認為他「只是」一個 client side template engine,事實上他可以有很多奇奇怪怪的應用,只要 browser 有支援都可以玩…

Anyway,既然是 template engine,那麼就會把 template 與 data 分開放。下面就是一個例子,我以 ‘[‘ 及 ‘]’ 取代 ‘<‘ 及 ‘>’,因為要打 &lt; 及 &gt; 很麻煩。

這是 acg.xml,放 data 的:(至於例子,就不要太講究了)

[?xml version="1.0" encoding="UTF-8"?]
[?xml-stylesheet type="text/xsl" href="acg.xsl"?]

[acg]
        [item]
                [title]男女蹺蹺板[/title]
                [author]津田雅美[/author]
        [/item]

        [item]
                [title]騙錢蹺蹺板[/title]
                [author]庵野秀明[/author]
                [author]津田雅美[/author]
        [/item]
[/acg]

其中的 [?xml-stylesheet type=”text/xsl” href=”acg.xsl”?] 就是跟 browser 講要用哪個 stylesheet 去表現這些資料,這邊選的是 acg.xsl:

[?xml version="1.0" encoding="UTF-8"?]
[xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"]

[xsl:template match="/acg"]

[html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW" lang="zh-TW"]

[body]
        [table border="1"]
                [tr]
                        [th]Title[/th][th]Author[/th]
                [/tr]
                [xsl:for-each select="item"]
                [tr]
                        [td][xsl:value-of select="title" /][/td]
                        [td][xsl:for-each select="author"][div][xsl:value-of select="." /][/div][/xsl:for-each][/td]
                [/tr]
                [/xsl:for-each]
        [/table]
[/body]

[/html]

[/xsl:template]

[/xsl:stylesheet]

產生出來的樣式可以看 http://netnews.nctu.edu.tw/~gslin/acg.xml,可以用 IE 與 Firefox 測看看 :P

Mesh Networking

SlashdotEngadget 看到 Mesh:Introducing 802.11s – Wireless Mesh NetworkingGet ready for 802.11s — Intel proposes mesh networking standard,在 Slashdot 提到:

This standard utilizes a mesh topology, allowing for fully self-configuring networks where each node can relay messages on behalf of others, thus increasing the range and available bandwidth with the number of nodes active within the system, versus the point-to-point structure of existing WiFi networks.

想到在 TANet 2004 的時候有聽到某公司的顧問有提到 Mesh Networking,他們是以 802.11a 在各 AP 之間溝通,以 802.11b 提供使用者使用。

slow bloglines

最近的 bloglines 實在有夠慢,剛剛看到公告了:

System Upgrades This Evening

As Bloglines continues to grow, we are constantly adding capacity to the system. The Bloglines site will be unavailable for half an hour starting at 8pm Pacific Time this evening, Monday March 07, 2005, while we upgrade the system. We thank you for your understanding.

hmmm…