Может ли XSLT делать все, что может делать CSS? - PullRequest
6 голосов
/ 30 ноября 2011

Я не знаю XSLT.Мне просто интересно, и у меня очень простой вопрос.

Как CSS относится к HTML, так и XSLT относится к XML.

Означает ли это, что XSLT позволяет разработчикам выполнять сложные вещи CSS, такие как position, float, обтекание, обрушение границы, непрозрачность и т. д.

Ответы [ 6 ]

7 голосов
/ 30 ноября 2011

XSLT совсем не похож на CSS.

CSS детализирует способ визуализации данной разметки на данном носителе (на экране, на бумаге, в динамиках и т. Д.).

XSLT превращает один документ XML в другой документ (XML, HTML или обычный текст, чаще всего XML или HTML).

XSL в более общем смысле начинался с более CSS-подобных целей, с детализации того, как должен быть представлен XML-документ. Этот проект превратился в несколько различных проектов, в которых XSL-FO выполняет эту роль, а XSLT выполняет преобразования, о которых я упоминал выше. Первоначально он был разработан, чтобы помочь с XSL-FO (XSLT превратил бы некоторый XML в XSL-FO, который детализировал бы рендеринг), но теперь имеет множество применений вне этого, поэтому имеет смысл отделить его.

CSS можно использовать непосредственно в XML, поэтому наиболее близким к CSS в мире XML является CSS.

3 голосов
/ 30 ноября 2011

Вы путаете XSLT с XSL-FO. Последнее, да, когда-то было разработано для придания стиля произвольным XML-документам. Идея была такая:

any XML -> XSL-FO document -> print / PDF / whatever
        ^
        |
    XSLT stylesheet

Название «таблица стилей» в XSLT не имеет ничего общего с термином «таблица стилей» в CSS.

XSL-FO и CSS некоторое время разрабатывались бок о бок, когда в 2006 году рабочая группа CSS решила порвать с людьми из XSL-FO.

Сам по себе XSLT лучше всего рассматривать как язык программирования для преобразования одного формата XML в другой или любой другой текстовый формат. Само по себе ничего визуального стиля не дает.

2 голосов
/ 30 ноября 2011

«Так как CSS относится к HTML, а XSLT - к XML.»

Не совсем: XSLT преобразует XML в совершенно разные документы или даже форматы, где CSS просто описывает браузеру, как стилизовать HTML-документ.

Вы даже можете использовать XSLT для генерации HTML в CSS, если вы действительно этого хотите!

2 голосов
/ 30 ноября 2011

XSL-FO (а не XSLT) для XML - это то же самое, что CSS для HTML. И да, если у вас хороший процессор XSL-FO, вы можете производить сложное форматирование.

http://en.wikipedia.org/wiki/XSL_Formatting_Objects

1 голос
/ 30 ноября 2011

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

1 голос
/ 30 ноября 2011

Нет, XSLT преобразует ваш XML в HTML, а затем CSS будет по-прежнему выполнять "такие вещи, как положение, плавание, перенос, сужение границ, непрозрачность и т. Д.". Браузер не понимает XSLT.

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