當 XML 遇到 XSL 及各類瀏覽器所產生的火花 !!

學習 XML 與 XSL 整合應用,已經有一段很長的日子。
之前,一直是以看看的心態在學它,所以,原理、語法及資料的呈現顯示,這只"看看"而已。沒有做太多的琢磨。

近來,工作上有所需要,且需實作以體現相關的結果來,才再次拿書作戰。這一戰才知問題多多 !!

  1. 事隔多年,各家瀏覽器的版本及功能,功能都已有大躍進。
  2. 要在瀏覽器上呈現資料,即然也不同;有的可以用拖拉帶入,有的則不可以,反需要用網頁伺服器的方式才行。
    也就是說,要用網頁方式來運行;如在 IIS 中,設定一個可瀏覽的虛擬目錄,再去瀏覽該目錄下的檔案。
  3. XSL 的 版本及指令語句的配合,也要相一致。

 

綜合上述摘要,結論如下:(2012/07/20 提記)

Google Chrome 20.0.1132.57 網頁伺服器呈現資料,XSL V1.0 不可用
Internet Explore 6.0.2900.5512 可拖拉,XSL V1.0, V2.0 均可用
Mozilla FireFox 12.0 可拖拉,XSL V2.0 均可用
   
XSL V1.0               XML <?xml-stylesheet type="text/xsl" href="配搭的XSL檔案.xsl"?>
                             XSL <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
   
XSL V2.0               XML

<?xml-stylesheet type="text/xsl" href="配搭的XSL檔案.xsl"?>
<RootElementName
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

                             XSL

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi ="http://www.w3.org/2000/10/XMLSchema-instance">

XSL V2.0               XML
(自訂 Namespace)

<?xml-stylesheet type="text/xsl" href="配搭的XSL檔案.xsl"?>
<RootElementName
xmlns=http://My-Company.com/namespace
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://My-Company.com/namespace">

                             XSL
(自訂 Namespace)

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi ="http://www.w3.org/2000/10/XMLSchema-instance"
xmlns:my=http://My-Company.com/namespace>

My-Company.com 依實務需要加以變更。

沒有留言: