Создание статического HTML-сайта из XML-контента - PullRequest
3 голосов
/ 17 мая 2010

У меня длинный документ в формате XML, из которого мне нужно создать статические HTML-страницы (для распространения через CD). Я знаю (в разной степени) JavaScript, PHP и Python. Текущие варианты, которые я рассмотрел, перечислены здесь:

  • Я не исключаю JavaScript, поэтому одним из вариантов будет использование ajax для динамической загрузки содержимого XML в страницы HTML. Редактировать: Я бы использовал jQuery для этой опции.

  • Изучите некоторый базовый XSLT и создайте HTML таким образом, чтобы соответствовать спецификации.

  • Создание сайта с использованием PHP (например), а затем создание статического сайта.

  • Напишите скрипт (например, на Python) для преобразования XML в HTML. Это похоже на опцию XSLT, но без изучения XSLT.

Полезная информация:

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

  • Мне нужно будет создать какое-то меню для перемещения по документу (поэтому мне нужно будет создать какой-то индекс содержимого).

Я бы хотел знать, есть ли у кого-нибудь идеи получше, о которых я не задумывался. Если нет, я бы хотел, чтобы вы сказали мне, какой из моих вариантов кажется наиболее разумным. Я думаю, что знаю, что собираюсь делать, но мне хотелось бы получить второе мнение. Спасибо.

Ответы [ 4 ]

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

Я думаю, что XSLT - безусловно, самый простой и лучший метод - даже с учетом необходимости изучения xslt.

Существует несколько стилей программирования xslt, но самый простой - это «обработка push», когда вы пишете несколько шаблонов, описывающих, как ваш ввод XML должен быть преобразован в вывод html. Затем вы пишете корневой шаблон, который выводит основную HTML-оболочку и вызывает другие шаблоны. Корень шаблон самый простой:

<xsl:template match="/" > <!-- "/" matches the document root -->
  <html>  <!-- whatever is not in xsl: namespace is template output -->
  <head><title>...</title></head>
  <body>
  <xsl:apply-templates />  <!-- this searches for and calls additional template matches --> 
  </body>
  </html>
</xsl:template>  
2 голосов
/ 17 мая 2010

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

1 голос
/ 17 мая 2010

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

Создание скрипта Python для генерации большого количества статических страниц мне кажется плохой идеей, и с javascript у вас будут головные боли в разных браузерах (если вы не используете фреймворк, возможно).

Используйте серверные языки для таких задач, это то, для чего они были созданы.

0 голосов
/ 17 мая 2010

Иди с тем, что тебе удобнее всего.

Если это просто, вы можете использовать (например) php для генерации страницы, а затем использовать скрипт командной строки (на python или php) для создания кэшированных файлов для вас.

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