Стоит ли тратить время на XSLT и есть ли реальные альтернативы? - PullRequest
3 голосов
/ 20 мая 2010

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

Во-первых, объем проекта: Мы хотим разработать независимое от платформы электронное обучение, в настоящее время это набор HTML-страниц, но по мере их роста и развития их становится все труднее поддерживать. У нас уже есть около 30 модулей с 10-30 HTML-страницами в каждом, и это постоянно растет.

Идея: Имейте XML-файл (ы) + модуль предварительного электронного обучения Schema, а затем создайте несколько XSLT-файлов, которые обрабатывают XML в модулях электронного обучения. XML в HTML через XSLT.

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

В зависимости от некоторых «параметров» мы могли бы выводить совершенно разные макеты / структуры страниц, помимо возможностей CSS. Может ли XSLT принимать параметры QueryString? Не уверен ..

Теперь все это должно быть независимым от платформы и иметь возможность работать в «автономном режиме», то есть без сервера, поддерживающего HTML, поэтому о технологиях на стороне сервера не может быть и речи (C #, PHP)

Негативы, которые я до сих пор читал для XSLT:

  • Накладные? Не совсем уверен, почему ... нужно ли преобразовывать вычислительную мощность в HTML?
  • Трудно учиться
  • Лучшие альтернативы

Теперь, что я хотел бы точно знать, это:

  • Есть ли какие-либо жизнеспособные альтернативы этому "офлайн"?
  • Правильно ли я об этом говорю
  • Ребята, есть ли у вас какие-либо советы или альтернативы.

EDIT: С XSL или без, CSS и JQuery будут очень важной частью решения, которое мы развиваться. Генерал приберись (небрежный английский!)

Ответы [ 4 ]

8 голосов
/ 20 мая 2010

Использование схемы XSLT для этого является законным. XSLT эффективны, если вы развиваете опыт.

  • Накладные расходы : Да, для больших документов преобразование может занять несколько секунд. Преобразование большого документа, вызываемого много раз в минуту, может быть плохой стратегией. Это не будет большой проблемой для вас, поскольку вы не будете выполнять эти преобразования по требованию, просто когда хотите пересмотреть.
  • Трудно учиться . Скоро вы сможете работать с XSLT, но будьте осторожны: как только кажется, что XSLT становится легким, вы будете удивлены, что он внезапно стал хитрым! То, что вы считаете трудным, может быть легким, и наоборот. Возможно, вам придется импортировать или создать несколько шаблонов, например, просто для простого форматирования даты. Это все выполнимо, хотя. Не бойтесь научиться делать «шаблоны».
  • Лучшие альтернативы . Да, есть лучшие альтернативы, но они зависят от платформы . Например, я нахожусь на земле .NET, и я отбросил XSLT в пользу манипулирования нашими новыми XElements и тому подобным, а встроенный XML VB.NET очень мощный и простой. Но XSLT все еще хорош, когда вы хотите избежать зависимости от конкретной платформы.

Вы по-прежнему будете использовать CSS как часть своей стратегии, верно? Последовательное изменение стиля вывода в XSLT лучше, чем выполнение его вручную в 30 модулях, но хорошо спланированная таблица стилей CSS может все же упростить задачу (повысить удобство обслуживания и гибкость).

В итоге : Для организации макета / ревизии статических html-страниц, не зависящих от платформы, для гибкого распространения: да, из того, что я вижу, у вас хорошая формулировка. И опыт, который вы приобретете в XSLT, будет полезен и в будущем. А после освоения XSLT вы действительно поймете XML, что будет полезно навсегда.

4 голосов
/ 21 мая 2010

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

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

Вы, конечно, должны также использовать CSS.

2 голосов
/ 20 мая 2010

Отделите ваши данные от вашей презентации.

Перенос рендеринга презентации в браузеры, использование CSS и CSS-улучшателей, таких как SASS, Less и т. Д.

Создание строгого XHTML - можно форматировать с помощью CSS, можно анализировать с помощью XML-анализаторов и т. Д.

Используйте JQuery как для интерактивности

XSLT довольно тяжелый и плохо масштабируется, тогда как XHTML + XSS + JQuery очень хорошо понятен и существует множество инструментов.

0 голосов
/ 29 июля 2010

Если вы уже знаете, что C # или VB.NET рассматривают возможность использования LINQ to XML, код будет длиннее, но при написании и обслуживании эксперта, не имеющего XSLT, будет меньше проблем.

Все сводится к тому, сколько XML-преобразований вам понадобится, всего 1 или 2, тогда я бы не стал тратить время на изучение XSLT.

...