2008-11-10 36 views
3

我知道CSS可以用來控制現代瀏覽器中(X)HTML的表示。我的印象是這對於任意的XML也是可能的。 (是我錯了?)如何在不首先轉換爲(X)HTML的情況下將CSS樣式化爲在瀏覽器中查看?

一個具體的例子:給出下面的XML

<log> 
    <entry revision="1"> 
    <author>J Random Hacker</author> 
    <message>Some pithy explanation</message> 
    </entry> 
</log> 

我想一個CSS與該XML相關聯,使得在現代看(WebKit的,火狐)瀏覽器,我看到這樣的東西:

+----------------------------------+ 
| revision | 1      | 
+----------------------------------+ 
| author | J Random Hacker  | 
+----------------------------------+ 
| message | Some pithy explanation| 
+----------------------------------+ 

我的哦,那麼美麗的ascii藝術是爲了表明一些表狀的佈局。

即:XML + CSS - >「用戶像素」而不是XML + XSLT - > XHTML + CSS - >「用戶像素」。

我的希望是,這種方法可以更簡單地(對我來說)呈現在其結構中已經像文檔一樣的XML文檔。我也只是很好奇。

回答

6

確實可以使用CSS來格式化XML文檔。

W3 schools example

(W3C的建議不要使用XSLT做這樣的事情,而不是CSS雖然)

+0

謝謝!這正是我想要讓我開始的那種例子。 (現在爲什麼我沒有發現最近N次我試圖谷歌自己和回答?) – bendin 2008-11-10 21:37:05

1

是有可能。您只需編寫的每個元素的規則:

author{ 
    display:block; 
    color:#888888; 
} 

2

按照specification,CSS應與XML文檔以及HTML文檔。相反,在你的CSS代碼選擇普通的HTML元素,可以選擇在CSS文件中自己的元素,如:

entry { 
    display: block; 
} 
author { 
    display: inline; 
    font-weight: bold; 
} 
... 

可以通過插入的代碼類似的一行到CSS文件到你的XML文件相關聯的XML文件:

<?xml-stylesheet href="common.css" type="text/css"?> 
相關問題