[quote="гена":2vwc7o3e]Тут можно посоветовать админу разделить тему)[/quote:2vwc7o3e]
Да нет, не нужно. Небольшие перепалки привлекают внимание. Людям нравятся ток-шоу)
Кстати, сообщения уважаемого ЮВ как раз показывают трудности с освоением XML-технологий вообще и Диты в частности. Большинство специалистов привыкли работать с визуальными редакторами, в которых вывод документа полностью скрыт от автора. Возьмем к примеру Ворд. Автор сверстал документ, отправил на печать и достал лист из принтера. Больше ничего знать не требуется. При этом уровень профессионализма определяется умением нажимать кнопочки в интерфейсе.
Другой уровень - это когда требуется создавать несколько выходных форматов. Увлеченные люди сталкиваются с этой задачей и начинают искать подходящие инструменты. Находят Robohelp, H&M, AuthorIT. Работая с подобными системами, уже начинаешь понимать, что документ не является единым потоком текста-графики-таблиц, а состоит из частей, то есть имеет структуру. Однако данные системы также скрывают от разработчика процесс вывода документа. Да это разработчику и не нужно: он привык работать в визуальном интерфейсе и его не волнует, что твориться в недрах программы.
Третий уровень – это применение XML-технологий. В этом случае разработка документации явно делится на два класса задач: создание информационных материалов и вывод их в разные форматы. Специалист-практик имеет здесь полный контроль над процессом вывода. Однако люди, вышедшие из визуальных систем разработки, не понимают, что должны сами настраивать процедуры вывода. Это бывает трудно понять, поскольку раньше вывод был скрыт в коде визуального редактора и не заботил автора.
Отсюда появляются фразы типа "Для конвертирования в PDF DITA использует тот же механизм и те же программы, что и Eclipse". Это не верно. Конечно, при использовании XML-технологий применяются схожие инструменты, но они лишь как кисти для художника. Только сам художник определяет, как смешать краски и как наложить их на холст, от чего будет зависеть результат.
Опишу это конкретнее. Для получения PDF-документа из XML-исходника применяются две программы: XSLT-процессор и FO-процессор. Оба являются ничем иным, как интерпретаторами определенных команд. Именно на создание команд для XSLT-процессора направлены все усилия по настройке вывода. Эти команды, называемые шаблонами, пишутся на специальном языке программирования XSLT. По сути, они указывают XSLT-процессору, что нужно сделать с исходным XML-документом. А сделать он может многое, в том числе преобразовать исходный документ, например, в html-страничку либо в текст или еще во что-то. Это определяется исключительно шаблонами XSLT, а не самим процессором. Ну а наиболее популярные XSLT-процессоры – это Saxon и Xalan (оба бесплатные).
Для получения PDF сначала необходимо привести исходный документ к промежуточному формату FO, причем не важно, в чем сделан документ - в DITA или DocBook. Для такой конвертации также применяются XSLT-шаблоны. Они тесно связаны с исходным форматом документа, поэтому для DITA и для DocBook они совершенно разные. Кроме того, любой человек может написать собственные шаблоны.
В формате FO документ также имеет структуру XML, но дополнительно к информационному содержанию добавляются указания, как расположить материал на печатных листах, каким шрифтом оформить, какой цвет текста и заливок применить и прочее, прочее, прочее. Вся эта информация берется из XSLT-шаблона, куда изначально помещается разработчиком. Когда выше я приводил пример FO-структуры, то подразумевал, что ЮВ увидит необходимые ему атрибуты и поместит их в нужное место своих XSLT-шаблонов. После этого любая конвертация в PDF будет автоматически создавать FO-файл c данными атрибутами. Но ЮВ оказался не знаком с XSLT.
На последнем этапе FO-документ скармливается FO-процессору. Поскольку FO – это стандартный формат, процессор без труда понимает, как отформатировать материал, и создает PDF. На этом этапе ничего настраивать не нужно. Существует несколько популярных FO-процессоров, в том числе бесплатный FOP и платный RenderX XEP.
Такие вот пирожки… А вы говорите "базара нет"