如何将 HTML 语义分配给我的 XML 元素以使它们在我的 Web 浏览器中呈现?

发布于 2024-11-18 13:26:56 字数 582 浏览 3 评论 0原文

我有一个如下所示的 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>

现在我想在浏览器中查看该文件。我希望将 元素呈现为

    html 元素,将 元素呈现为 <代码>
  • html 元素。我知道我可以使用 xslt 将 xml 转换为 html 文档。但是:有没有办法直接将 html 语义分配给列表的元素,例如使用 css(类似于 list{display:ul})或 dtd?

I have an xml file like this:

<?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>

Now I want to view the file in a browser. I want to have the <list> element rendered like a <ul> html-element, the <item> elements like <li> html-elements. i know that I can use xslt to transform the xml into an html document. but: is there a way to directly assign the html semantics to the elements of my list, e.g. with css (something like list{display:ul}) or a dtd?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吃→可爱长大的 2024-11-25 13:26:56

是的,这是可能的。

请参阅带有 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, 内联列表项)。

对于 display: list-item 您还可以使用样式

  • list-style-image: url(bullet.gif) 来装饰项目符号图标图形
  • list-style -image ,值为 insideoutside
  • list-style-type ,值为 circle, 圆盘方形

Yes, this is possible.

See W3C-Website Style Sheets with XML.

You can use CSS to declare for each XML element how the browser should display it. But you have to be more verbose than in HTML, because for plain XML there are no predefined styles.

In the XML header add a reference to your CSS file:

<?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>

Here is an example CSS file (todo.css):

todo {
  display: block;
}

list {
  display: block;
  padding-left: 5mm;
  margin-top: 1cm;
}

item {
  display: list-item;
  list-style-type: circle;
}

For each element you can define the display style (block, inline, none, list-item).

For display: list-item you can additionally use the styles

  • list-style-image: url(bullet.gif) to decalare a bullet icon graphic
  • list-style-image with values inside or outside
  • list-style-type with values circle, disc, square, none
划一舟意中人 2024-11-25 13:26:56

不,XML 不是 HTML。如果要将 XML 显示为 HTML,则需要使用 XSLT 对其进行转换。

No, XML is not HTML. If you want to display your XML as HTML, you will need to transform it using XSLT.

左耳近心 2024-11-25 13:26:56

您无法将 XML 显示为 HTML。使用一些转换实用程序 (XSLT)。

You cannot display XML as HTML. Use some transformation utilite (XSLT).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文