Я знаю, что 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-документов, которые уже похожи на документы по своей структуре. Мне просто любопытно.






Действительно, можно использовать CSS для форматирования XML-документа.
(W3C действительно рекомендует использовать xslt для подобных вещей вместо CSS)
К сожалению, вы не сможете делать такие вещи, как преобразование этой revision = "1" в "ячейку", содержащую "1", только с помощью CSS - здесь на помощь приходят преобразования XSL - хотя это гораздо более крутая кривая обучения: D
Он лучше, чем XSLT для отображения XML для печати, он имеет лучшую функциональность для конкретного принтера (например, нумерацию страниц, поля в зависимости от размера бумаги принтера и т. д.) И более простой синтаксис, хотя есть несколько визуальных генераторов XSL, которые делают создание XSL почти так просто.
Да, это возможно. вы просто пишете правило для каждого элемента:
author{
display:block;
color:#888888;
}
и т.п.
Согласно Спецификация, 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"?>
Спасибо! Это именно тот пример, который я искал, чтобы начать работу. (А почему я не обнаружил, что последние N раз я сам пытался загуглить и ответить?)