Как назначить семантику HTML моим элементам XML, чтобы они отображались в моем веб-браузере? - PullRequest
4 голосов
/ 01 июля 2011

У меня есть такой 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?

Ответы [ 3 ]

3 голосов
/ 01 июля 2011

Да, это возможно.

См. Таблицы стилей W3C-сайта с XML .

Вы можете использовать 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) для удаления значка с изображением маркера
  • list-style-image со значениями inside или outside
  • list-style-type со значениями circle, disc, square, none
1 голос
/ 01 июля 2011

Нет, XML не является HTML. Если вы хотите отобразить свой XML как HTML, вам нужно будет преобразовать его с помощью XSLT.

0 голосов
/ 01 июля 2011

Вы не можете отобразить XML как HTML. Используйте какой-нибудь инструмент преобразования (XSLT).

...