Можете ли вы полностью создать веб-сайт с помощью XML и XSLT? - PullRequest
2 голосов
/ 01 августа 2020

Мне было интересно, потому что всякий раз, когда я смотрю на исходный код веб-страницы, это в основном HTML. Хорошо, могу ли я полностью создать веб-сайт с XML и XSLT в качестве внешнего интерфейса? И есть ли какие-нибудь популярные сайты, которые используют XML и XSLT в качестве Frontend, потому что я не видел ничего вероятного. Мне очень любопытно, потому что мне нравится XML, чем HTML!

Ответы [ 2 ]

1 голос
/ 02 августа 2020

Да. Но это история грустная .

Вы можете связать файл XML с файлом XSLT-1.0, чтобы создать желаемый результат на стороне браузера со следующими Инструкция:

<?xml-stylesheet type="text/xsl" href="transform.xslt"?>

Это передало бы нагрузку по компиляции HTML клиенту, который должен был собрать HTML самостоятельно, на стороне клиента. Сегодня это все еще работает в браузере.

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

Теоретически, XML может динамически обновляться через AJAX / JavaScript, чтобы изменить HTML. И это возможно, но не лучшим образом, потому что вам нужно вручную вызвать XSLT-процессор браузера, чтобы обновить веб-сайт с JavaScript. Не существует собственного способа сделать это без использования JS.

Другая «проблема» этого подхода - создание HTML5 <!DOCTYPE html> в начале файла HTML5. В текущих браузерах для этого требуется взлом. Вы должны (ab) использовать функциональность xsl:output очень специфическим c способом:

<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" doctype-system="" doctype-public="" media-type="text/html"/>

Только тогда вывод преобразования XML + XSLT будет распознан как разметка HTML5.

Причина, по которой я представил этот пост как печальные новости , заключается в том, что весь сценарий мог бы быть решен гораздо лучше, если бы

  • в нем была бы поддержка XSLT-3.0. браузеры вместо поддержки только устаревшего XSLT-1.0
  • могли бы лучше обрабатывать HTML5 DOCTYPE
  • HTML5 вместо этого будет X HTML5
  • URL-адрес будет передан как параметр XSLT изначально. В лучшем случае, когда все параметры с разделителями & разделены

Вместо того, чтобы упростить этот подход для разработчиков, произошло обратное, и комбинация XML + XSLT была дополнительно ограничена по «соображениям безопасности» в основных браузерах - что вызывает у многих проблемы.

0 голосов
/ 01 августа 2020

Да, XSLT может использоваться (и использовался) как на сервере, так и в браузере для преобразования XML в HTML.

Плюсы

  • XML в (X) HTML преобразования естественны и элегантны.

Минусы

  • Немногие разработчики обладают достаточными навыками в XSLT, чтобы оценить этот подход или владеть им.
  • Поддержка браузеров ослабевает и никогда не выходит за рамки XSLT 1.0.
  • Появились фреймворки и библиотеки для создания HTML более традиционным способом с использованием более привычных процедурных и функциональных языковых методов.

См. Также

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