我有一个这样的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<todo>
<list><item>first</item><item>second</item></list>
<list><item>first</item><item>second</item></list>
</todo>
现在我想在浏览器中查看该文件。我希望<list>
元素像<ul>
html元素一样呈现,<item>
元素像<li>
html元素一样。我知道我可以使用xslt将xml转换为html文档。但是:有没有一种方法可以直接将html语义分配给我列表中的元素,例如使用css(类似于list{display:ul}
(或dtd?
是的,这是可能的。
请参阅带XML的W3C网站样式表。
您可以使用CSS为每个XML元素声明浏览器应该如何显示它。但您必须比HTML更详细,因为对于纯XML,没有预定义的样式。
在XML头中添加对CSS文件的引用:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="todo.css"?>
<todo>
<list><item>first</item><item>second</item></list>
<list><item>first</item><item>second</item></list>
</todo>
下面是一个示例CSS文件(todo.CSS(:
todo {
display: block;
}
list {
display: block;
padding-left: 5mm;
margin-top: 1cm;
}
item {
display: list-item;
list-style-type: circle;
}
对于每个元素,可以定义display
样式(block
、inline
、none
、list-item
(。
对于display: list-item
,您可以额外使用样式
list-style-image: url(bullet.gif)
可贴花项目符号图标图形- 值为
inside
或outside
的list-style-image
- 值为
circle
、disc
、square
、none
的list-style-type
您不能将XML显示为HTML。使用一些转换实用程序(XSLT(。