Как я могу создать фрейм оглавления в XSL?

У меня есть XML-файл, для которого я создаю таблицу стилей XSL.

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

Я могу сделать два прохода, проблема в том, чтобы поместить их в отдельные кадры. Элемент HTML кадра принимает источник; Я не могу поместить туда свой источник.

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
875
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы хотите использовать фреймы, вам понадобятся три отдельных файла.

  1. Файл кадра. Это просто строгий HTML-файл
  2. Файл для вашего оглавления
  3. Файл для вашего контента

Первый - это как указано в файле HTML. Вторые два - это файлы XSL, которые со временем превратятся в HTML. Хороший учебник по фреймам - здесь, в W3Schools.

РЕДАКТИРОВАТЬ: Чем больше я думаю об этом, тем больше мне не нравится решение. Требуется, чтобы синтаксический анализатор XSL запускался дважды при каждом обслуживании начальной страницы.

Вы думали об использовании CSS или таблиц для макета? Есть несколько действительно хороших шаблоны CSS с открытым исходным кодом, летающих здесь, в сети.

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

Тогда моя главная страница была просто статической html-страницей, которая ссылалась на эти сгенерированные html-файлы.

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

Ответ принят как подходящий

Как было сказано ранее, для этого вам понадобится 3 файла.

В XSLT 2.0 вы можете сгенерировать несколько выходных файлов из одной таблицы стилей xsl с помощью инструкции xsl: result-document.

В XSLT 1.0 у вас нет этой функции, но в зависимости от процессора это возможно. Например, для Xalan см. http://xml.apache.org/xalan-j/extensions_xsltc.html#redirect_ext.

Другие вопросы по теме