Антон!

Несколько ссылок и мыслей в помощь:

http://www.dpawson.co.uk/xsl/sect4/N10301.html  - тут обсуждалась эта тема и
есть несколько примеров
http://www.xmlhack.ru - тут есть кого спросить

Если в лоб не получится, можно *(пока) упростить решение:

Требование обработки без изменений файлов, не являющихся корректным XML,
если не реализуемо в XSLT,
можно реализовать алгоритмически скриптом так:
  xmllint вход DTD
        если порядок, xsltproc вход >выход
        иначе cp вход выход
Так на наш xslt попадет только файл нужной структуры.

Теперь (зная структуру) мы можем взять за основу нашего XSLT готовый
guide.xsl/book.xsl с gentoo.org,
которые генерируют HTML, и сделать из них генератор GuideXML.

Можно и с незнакомыми тегами, тогда xmllint - только проверка на
wellformedness, и 
копирование всего прочего из входа в выход.

Вот.

Алексей

PS. Почитал доку к xmlformat. Он не обрабатывает атрибуты и комментарии -
т.е. его переделка может
Оказаться тоже неочевидной.

Вообще, наиболее простое алгоритмически решение (imho) - это использование
однопроходного парсера
LL-1 или LALR-1 атрибутированной грамматики, типа YACC или COCO, и
кодогенератора, привязанного
к семантическим акциям. Но - для этого нужен кто-то, кто занимается плотно
разработкой компиляторов...
Давненько я этим не занимался :-)))


-----Original Message-----
From: Антон [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 12, 2005 10:14 PM
To: gentoo-doc-ru@lists.gentoo.org
Subject: [gentoo-doc-ru] Автоматическое форматирование GuideXML

День добрый,
>Мне кажется, что не стоит недооценивать свой опыт.
>Еще две недели назад я ничего не знал о XSLT, а теперь работаю с 
>визуальными шаблонами в Серне.
   Опыта как раз нет, но учиться ничто не мешает. :)

   Будем работать - это без вопросов. И схемка решения подобная
   крутиться, только "ура!" - это когда весь вход надо копировать в
   выход, и теги незнакомые кругом.
--
Best regards,
 Антон Филимонов                         mailto:[EMAIL PROTECTED]

--
gentoo-doc-ru@gentoo.org mailing list

-- 
gentoo-doc-ru@gentoo.org mailing list

Ответить