如何使用CSS设置XML样式,以便在浏览器中查看,而无需先转换为(X)HTML?

如何使用CSS设置XML样式,以便在浏览器中查看,而无需先转换为(X)HTML?,css,xml,Css,Xml,我知道CSS可以用来控制现代浏览器中(X)HTML的表示。我的印象是,这对于任意XML也是可能的。(我错了吗?) 一个具体示例:给定以下XML <log> <entry revision="1"> <author>J Random Hacker</author> <message>Some pithy explanation</message> </entry> </log>

我知道CSS可以用来控制现代浏览器中(X)HTML的表示。我的印象是,这对于任意XML也是可能的。(我错了吗?)

一个具体示例:给定以下XML

<log>
  <entry revision="1">
    <author>J Random Hacker</author>
    <message>Some pithy explanation</message>
  </entry>
</log>
在这里,我的哦,如此美丽的ascii艺术是指一些类似表格的布局

即:XML+CSS-->“用户像素”,而不是XML+XSLT-->XHTML+CSS-->“用户像素”


我希望这种方法(对我来说)能够更简单地表示结构上已经类似文档的XML文档。我也很好奇。

确实可以使用CSS格式化XML文档


(W3C确实建议使用xslt而不是CSS来做这类事情)

是的,这是可能的。您只需为每个元素编写一条规则:

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

根据,CSS应该与XML文档以及HTML文档一起使用。您可以在CSS文件中选择自己的元素,而不是在CSS代码中选择常见的HTML元素,例如:

entry {
    display: block;
}
author {
    display: inline;
    font-weight: bold;
}
...
通过在XML文件中插入类似的代码行,可以将CSS文件与XML文件关联:

<?xml-stylesheet href="common.css" type="text/css"?>


谢谢!这正是我开始寻找的例子。(现在为什么我没有发现,在过去的N次我尝试用谷歌搜索自己并回答问题?)不幸的是,你将无法使用CSS将revision=“1”转换为包含“1”的“单元格”——这就是XSL转换的原因——尽管这是一个更陡峭的学习曲线:在显示打印用XML方面,DIts比XSLT更好,它具有更好的特定于打印机的功能(例如,页面编号、页边距取决于打印机纸张大小等)和更简单的语法,尽管有一些可视化XSL生成器使创建XSL变得几乎一样简单。
<?xml-stylesheet href="common.css" type="text/css"?>