Как можно стилизовать XML с помощью CSS для просмотра в браузере без предварительного преобразования в (X) HTML? - PullRequest
3 голосов
/ 11 ноября 2008

Я знаю, что CSS можно использовать для управления представлением (X) HTML в современных браузерах. У меня сложилось впечатление, что это возможно и для произвольного XML. (Я ошибаюсь?)

Конкретный пример : с учетом следующего XML

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

Я бы хотел связать CSS с этим XML, чтобы при просмотре в современном браузере (WebKit, FireFox) я видел что-то вроде:

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

Где мой очень красивый ascii-art предназначен для обозначения некоторого табличного макета.

То есть: XML + CSS -> «пиксели для пользователя» вместо XML + XSLT -> XHTML + CSS -> «пиксели для пользователя».

Я надеюсь, что этот подход может быть более простым (для меня) способом представления документов XML, которые уже имеют подобную документам структуру. Мне также просто любопытно.

Ответы [ 3 ]

6 голосов
/ 11 ноября 2008

Действительно возможно использовать CSS для форматирования документа XML.

Пример школы W3

(W3C рекомендует использовать xslt вместо CSS)

2 голосов
/ 11 ноября 2008

Согласно спецификации CSS должен работать как с документами XML, так и с документами HTML. Вместо выбора общих элементов HTML в вашем коде CSS, вы выбираете свои собственные элементы в файле CSS, такие как:

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

Вы можете связать файл CSS с вашим файлом XML, вставив аналогичную строку кода в ваш файл XML:

<?xml-stylesheet href="common.css" type="text/css"?>
1 голос
/ 11 ноября 2008

да, это возможно. вы просто пишете правило для каждого элемента:

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

и т.д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...