[docs] psgml - precompiled dtd в emacs
Evgenij M. Baldin
E.M.Baldin на inp.nsk.su
Сб Сен 21 08:20:27 MSD 2002
Добрый день
Кому любопытно (имеет смысл вставить в документацию, если я не
опаздал): ликвидация одного из самых раздражающих факторов при
редактировании xml файлов в emacs - зависание на
несколько секунд emacs при чтении dtd
В головном файле, или в файле с таким же типом dtd говорите
M-x sgml-save-dtd - создаётся файл c расширением ced, далее в других
файлах в конце документа надо вписать что-то вроде:
<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:nil
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
sgml-default-dtd-file:"../Cyrillic-HOWTO-russian.ced"
sgml-recompile-out-of-date-cdtd:t
End:
-->
базовые конструкцию можно создать с помощью 'M-x sgml-save-options'
Основной интерес представляет строчка
sgml-default-dtd-file:"../Cyrillic-HOWTO-russian.ced"
которая и указывает на файл с compiled dtd
Интерес представляет и срока
sgml-recompile-out-of-date-cdtd:t
которая означает, что в случае устаревания ced файла - он автоматически
пересобирается, можно поставить опцию, чтобы он спрашивал
Пара любопытных деталей:
Для изменения стандартной строки проверки валидности документа
(C^c C^v [RET]) можно воспользоваться строкой вида
sgml-validate-command:"xmllint -\-noout -\-postvalid -\-xinclude %s %s"
\ - слэш нужен, для того чтобы во время проверки программа не вопила про
два подряд тире "--" в комментариях
При разбивке документа на части (не через xinclude) а через стандартную
вставку необходимый dtd файла можно определить через
sgml-parent-document (PARENT-FILE CONTEXT-ELEMENT* TOP-ELEMENT (HAS-SEEN-ELEMENT*)?)
подробности в разделе
pinfo psgml -> Managing the DTD -> Using a Split Document
С уважением
Евгений
--
---------------------------------------------------------------------------
Budker Institute of Nuclear Physics
e-mail: E.M.Baldin на inp.nsk.su
WWW: http://www.inp.nsk.su/~baldin
---------------------------------------------------------------------------
Подробная информация о списке рассылки docs