2013-06-21 3 views
0

Я видел примеры того, как использовать условную ссылку-мастер-ссылку, чтобы указать, какой мастер страницы использовать, когда критерии являются одним из следующих: пустой или не пустой, нечетный или четный, ПОлОжЕНИЕ. Мне было интересно, есть ли способ сделать еще более конкретный условный выбор мастер-страниц. Например, страницы 1-3 используют мастер страниц A, страницы 4-6 используют мастер страницы B, а страницы 7-9 используют мастер страницы A. Этот тип критериев не относится к одной из трех доступных опций на условной странице -master-reference ... также предположим, что страницы 4-6 были определены как страницы для мастера B из-за некоторых данных в XML. Итак, можно ли использовать данные (XML) в качестве входных данных для критериев определения мастера страницы? Есть идеи?Условная последовательность страниц XSL-FO?

Спасибо ...

ответ

2

Например, страницы 1-3 Использование страницы Учителю, страницы 4-6 Использование страницы мастера B, и страницы 7-9 Использование страницы мастера А.

Это сделано вами с указанием страниц в порядке желаемому:

<single-page-master-reference master-reference="A"/> 
    <single-page-master-reference master-reference="A"/> 
    <single-page-master-reference master-reference="A"/> 
    <single-page-master-reference master-reference="B"/> 
    <single-page-master-reference master-reference="B"/> 
    <single-page-master-reference master-reference="B"/> 
    <single-page-master-reference master-reference="A"/> 
    <single-page-master-reference master-reference="A"/> 
    <single-page-master-reference master-reference="A"/> 

Итак, можно ли использовать данные (XML) в качестве входных данных для критериев г выработать мастер страницы для использования?

Абсолютно, если вы не меняете мастер страницы в середине последовательности страниц. Если вам нужно определить всю геометрию последовательности страниц во время начала вашей последовательности страниц, тогда ваш XSLT может просто выбрать соответствующий атрибут master-reference = для использования.

Однако вы можете спросить о необходимости того, чтобы некоторые пользователи меняли мастеров страниц в середине последовательности страниц. Например, при техническом написании некоторым пользователям необходимо переключиться на ориентацию ландшафтной геометрии для одной таблицы, находясь в середине последовательности портретной страницы.

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

http://CraneSoftwrights.com/resources/#psmi

Многие люди используют PSMI для потребительной случае я описал: они должны динамически переключаться геометрию страницы в середине последовательности страниц, что запрещено в «чистом» XSL-FO. Таким образом, их XSLT создает XSL-FO + PSMI, а затем они используют мои бесплатные таблицы стилей для перевода XSL-FO + PSMI в чистый XSL-FO, который затем работает в любом совместимом XSL-FO процессоре.

+0

спасибо ... Я не хочу менять геометрию страницы в середине последовательности страниц, но спасибо за информацию и образец кода. Я также нашел эту ссылку, похожую на то, что я пытаюсь сделать: http://stackoverflow.com/questions/6836142/how-to-dynamically-change-xslt-page-sequence-based-on-node-attributes – Kevin