Я думаю, DocBook отвечает всем вашим требованиям, за исключением, возможно, ловушек синхронизации, о которых я подумаю чуть позже. По сути, это подмножество XML, предназначенное для создания документации, бесплатное и с открытым исходным кодом. Это просто формат плюс набор выходных преобразований XSL, которые преобразуют Docbook в более полезные форматы (HTML и, следовательно, CHM, JavaHelp, PDF через XML-FO или Tex).
Это означает, что вам все еще нужно выбрать инструмент разработки XML для фактического редактирования, чтобы такие вещи, как WYSIWYG, зависели от возможностей вашего программного обеспечения для разработки XML. Мы используем Syntext Serna, так как он имеет хорошую поддержку WYSIWYG и встроенное редактирование XML #include (кажется, никто другой не поддерживает последний). Возможно, вы найдете другие средства разработки XML, которые лучше соответствуют вашим потребностям - Serna - это достаточно дорогое коммерческое предложение.
Docbook обеспечивает большую гибкость с помощью профилирования, что позволяет включать / исключать элементы XML на основе их атрибутов. В качестве примеров использования можно привести несколько иной вывод справки для OS = Windows и OS = Linux. Локализация также поддерживается через профилирование и другие механизмы.
Довольно хорошее введение в Docbook можно найти здесь .
Мы используем Docbook для формата справки и компилируем его в файлы CHM, которые содержат справку только для функций, относящихся к конкретному продукту (т. Е. Выпуск Enterprise Edition имеет функции, которых нет в стандартной или демонстрационной версиях). Соответствующие шаги:
- Запустите шаблоны Profiling XSL для источника XML (используя, например, XSLTproc).
- Запустить XSL-шаблоны HTML-справки с выводом 1.
- Скомпилируйте выходные HTML-файлы, используя HTML-компилятор справки Microsoft (HHC).