Подтвердить что ты не робот

Есть ли точка создания сайта с использованием XSLT

Насколько популярна эта технология?

Я хочу создать сайт, который автоматически преобразует XSLT файлы. Он должен работать следующим образом: Когда пользователь обращается к сайту, один обработчик примет его запрос, а затем найдет для него подходящий XML (в соответствии с запрошенным URL-адресом) и преобразует его с помощью прилагаемого XSL файла.

Я хочу сделать это, чтобы упростить обновление сайта с использованием простых файлов XML (вместо использования полноценной и дорогостоящей системы CMS).

Что ты скажешь? хорошая идея? плохая идея? у кого есть рекомендация?

Спасибо!

4b9b3361

Ответ 1

Ответы, основанные на "синтаксисе жесткие", не являются ответом на все imho. А). Это действительно не так, и B). Вы должны быть программистом, просто изучите его.

Определенно другие технологии продвигаются с шагом XSLT не с 2005 года, но он остается мощным инструментом, который дает вам уровень абстракции, который, скажем, asp.net webforms, не позволяет и позволяет вам предоставить общий масштабируемое решение для тривиального сериализации в ряд форматов вывода. Легко сгенерировать HTML с любым языком, теперь сложнее распространить его на XML, теперь расширять его до JSON, теперь расширять его до CSV.

И кэшированные преобразования достаточно быстр в среде, которая все еще связана с I/O.

OTOH, хранение данных в XML, как правило, не очень хорошая идея. Намного лучше хранить в DB/mem и сериализации, как это требуется по всем причинам выше.

Ответ 2

В 2002-2003 годах я много сделал с XSLT (и еще в 2006-2007 годах). Ваш пробег на этом будет отличаться, но, честно говоря, я бы избегал этого по нескольким причинам:

  • Синтаксис - это ослепительная голова, трудно учиться, трудно получить право и просто дает вам головную боль. Шаблоны сами по себе не так уж плохи, но вставляют некоторые gnarly выражения XPath, и это просто больно;
  • Для документов с ограниченным размером и преобразований он относительно медленный. Является ли это достаточно медленным, чтобы быть релевантным для вас, это то, что вы найдете только с бенчмаркингом своего сценария, поэтому не принимайте это как правило одеяла, больше предостерегающей истории или оговорки;
  • Сообщения об ошибках не так полезны, и сложно понять проблемы. В отличие от более традиционного подхода вы не можете вытаскивать отладчик и проходить через XSLT;
  • Генерация HTML с использованием любого современного языка, ориентированного на Web (С#, Java, PHP, Python, Ruby и т.д.), тривиальна, проста, проста в регистрации и легко отлаживается;
  • Манипулирование XML, пожалуй, более утомительно и создает больше кода, который непосредственно манипулирует объектами и преобразует их в разметку. Это, конечно, будет зависеть от того, какие инструменты предоставляет ваш выбранный язык.

Единственное место, где я могу действительно видеть приложение XSLT в эти дни, заключается в потреблении веб-сервисов, которые производят XML (в наши дни партии выпускают JSON и более легко потребляемые форматы).

И даже в этом случае я, вероятно, по-прежнему буду манипулировать XML напрямую, скажем, JAXB в Java (или аналогичными технологиями на других языках).

Обновление: Я просто наткнулся на Смерть XSLT в веб-каркасах. Например:

Например: как скрыть строку в таблицу (используя другой стиль CSS), основанный на некотором СОСТОЯНИИ, с XSLT? См:

<tr>
  <xsl:attribute name="style">
    <xsl:choose>
      <xsl:when test="CONDITION">
        <xsl:value-of select="'visibility: visible'">
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'visibility: collapse'">
      </xsl:otherwise>
    </xsl:choose>
  </xsl:attribute>
  ...
</tr>

и теперь то же самое с JSP 1.x:

<tr style='visibility:<%=CONDITION ? "collapse" : "visible"%>'>
   ...
</tr>

или с JSP 2.x:

<tr style='visibility:${CONDITION ? "collapse" : "visible"}'>
  ...
</tr>

суммируется по:

Итак, если вы начинаете новый проект, подумайте дважды (или десять раз) перед тем, как перейти в XSLT. И > если вы используете Eclipse, вы можете даже подумать дважды, прежде чем использовать JSP/JSTL. Velocity или > FreeMarker может быть лучшим вариантом.

Ответ 3

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

Ответ 4

Я знаю несколько больших веб-порталов, которые много работают с XSLT, здесь, в Польше. Они использовались потому, что они могут минимизировать количество данных, отправленных по сети.

Я также работал над проектом (Huge HRM application), и мы использовали его там, чтобы преобразовать наш язык программирования в .NET.

Я бы сказал, что иногда это очень полезно.

Ответ 5

XSLT - это всего лишь один способ шаблонирования. Это также всего лишь одна часть полной структуры MVC, где шаблоном является компонент View. XSLT - отличная технология, но она медленна и не является первым выбором при построении масштабируемого веб-сайта.

Исследование структур MVC, чтобы увидеть, какой из них подходит вам лучше всего. например ASP.NET MVC, Ruby on Rails, CakePHP, Catalyst и т.д.

Ответ 6

Я хочу сделать это, чтобы упростить обновление сайта с использованием простых файлов XML (вместо использования полноценной и дорогостоящей системы CMS).

Э-э, что? Существует множество бесплатных CMS с открытым исходным кодом.

То, что spoulson сказал выше о шаблоне, - это точка. Предоставление выходных страниц из входных XML файлов в порядке. Но это не дает вам CMS. Как насчет C.R.U.D.? Поиск? Списки страниц?

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

Ответ 7

Мне нравится идея. XSL - фантастический инструмент, но у вас должен быть этот особый момент просветления, прежде чем вы поймете, насколько он полезен. До этого это просто так кажется.

Я использовал XSL в различных приложениях, и это сэкономило мне много времени. Но, очевидно, просто не используйте его ради этого.

Ответ 8

То, что вы описываете, уже существует и является Apache Cocoon: http://cocoon.apache.org/

Ответ 9

xslt сложно?

Это задача программистов для решения сложных проблем и сложных стандартов. Там что-то труднее и по-прежнему необходимо. Просто продолжайте идти и становитесь легче каждый раз, когда вам нужно изучать новые вещи.

Xslt легко.

Действительно! Есть хорошие книги, которые учат вас xslt. Просто узнайте, например. rdf/owl (стандарт w3c), и он все еще может быть намного сложнее...

xslt медленный? Просто используйте правильное кеширование, если сможете. (нормально, это не всегда возможно...).

Просто прочитайте о REST (какой-то книге или диссертации Роя Филдинга), что тоже важно.

Теперь с XProc (xslt piplines) и небольшим restserver вокруг calabash (Xproc-реализация) вы можете архивировать так много. это может сэкономить ваше время. любые данные могут быть экспортированы в XML, сделаны доступными через REST и преобразованы с помощью XProc.

Ответ 10

Symphony CMS использует XSLT. При использовании этой CMS я обнаружил, что единственными реальными проблемами, которые я испытывал, было связано с изучением синтаксиса XSL/XPath, в основном из-за отсутствия хороших учебников/документации. Возможно, стоит попробовать Symphony, если вы хотите увидеть некоторое относительно современное использование XSLT.

Ответ 11

Взгляните на http://www.umbraco.org/ Это бесплатный инструмент CMS с открытым исходным кодом, который широко использует XSLT для генерации страниц.

Для всех, кто претендует на XSLT, сложно сказать, что это не сложнее, чем SQL. Есть сценарий, который является сложным, например группировка, так же как и в деревьях SQL.

Выберите подходящий инструмент для правильной работы, и у вас не должно быть никаких проблем.

Ответ 12

Если ваша платформа является ASP.NET, проверьте myxsl

XSLT дает вам возможность делать ненавязчивые шаблоны, что является IMO окончательным шаблоном.

Ответ 13

В качестве побочного примечания wowarmory.com является хорошим примером сайта с высоким трафиком, который использует XSLT. На самом деле, я думаю, что весь сайт использует его.

Ответ 14

Мне кажется плохой идеей. Это гораздо проще в использовании  как ASP.NET с сохраненным содержимым  в базе данных - затем вы можете обновить  содержимое непосредственно в  базы данных, которая сама по себе будет  проще, чем редактировать XML.