Александр Савенков, автор сайта "русские переводы спецификаций W3C", предложил создать проект по спецификации языка разметки словарных статей.
На сегодняшний день накопилось досточно много переводов и оригинальных материалов на тему XML. Некоторые из них используют разные переводы для одних и тех же английских терминов. Из-за этого могут возникнуть проблемы при сборе информации из разных источников. Например, не сразу очевидно, что и "веб-служба", и "технология WS" - это одно и то же (web service). Перевод терминологии неоднократно обсуждался как в XML-форумах, так и в fido7.ru.xml, и каждый раз проскальзывала идея, что хорошо бы иметь словарь.
Как человеку, постоянно имеющему дело с переводами, Александру было предложено заняться реализацией. Он для начала взялся за более глобальную задачу: создание языка разметки словарных статей. Далее приводятся слегка отредактированные выдержки из его письма.
Что вы думаете о проведении полноценного проекта a la W3C по созданию спецификации языка разметки словарной статьи и применении его в популярной словарной программе Lingvo?
Олег сделал запись в WiKi (внутренний раздел сервера) о необходимости создания шаблона/DTD словарной статьи. Я начал поиски подходящего языка разметки, но сперва ничего не обнаружил кроме малоприемлемых обрывков и наработок, большинство из которых отбрасывались сразу, остальные - после более близкого знакомства.
В этой связи я подумал о языке, который используется внутри популярной словарной программы Lingvo (кто не знает, что это такое - могу объяснить, или http://www.lingvo.ru/) . Я попытался наладить контакт со службой поддержки для получения последней версии спецификации языка DSL. С наскока ничего не вышло: им требовался лицензионный ключ, которого у меня не было.
Но не это главное. Едва ли произошли какие-то революционные изменения по сравнению с тем, что есть у меня. А есть немного. Текущий примерный упрощённый шаблон вы можете видеть в соответствующем разделе WiKi (копия приведена ниже). Небогато и отсутствует практическая ценность в плане расширяемости.
Очевидно, что хотя для наших упрошённых целей может сгодиться и внутренняя разметка Lingvo, если потребуется малейшее усложнение словарной статьи, внятная система ссылок или что-то ещё, каркас Lingvo может рухнуть (просьба писать опровержения).
Впервые за долгое время у меня возникли трудности с поиском нужного материала в "Гугле". "Dictionary" сплошь и рядом переплетается с "XML" (это и понятно), но - к сожалению, не в том значении, которое нужно нам. Я был бы очень рад, если бы вы помогли мне с поиском чего-либо подобного. Пока же есть кое-что, что вполне может претендовать на целостность и законченность.
Никогда не обращал на неё внимания (http://www.tei-c.org/), но в ней обнаружился целый раздел (12), посвящённый разметке для создания печатных словарей. Разметка чрезвычайно богата, но по первому впечатлению и черезчур запутана. С другой стороны, в её создании принимали участие лингвисты, так что может это и никакая не запутанность.
Во-первых, хотя бы бегло ознакомьтесь с указанным разделом. Одобрите или отклоните предложение в целом, поправьте меня. Третьим шагом будет установление нового контакта с ABBYY (фирма, производящая Lingvo, FineReader и др.). Конкретнее: предложить фирме буквальное сотрудничество. Мы разрабатываем язык разметки на базе XML, вы встраиваете его в программу и получаете 1, 2, 3 преимущества (перечислить реальные преимущества или придумать - тоже хорошо). Несомненно, что главное препятствие будет в убеждении компании. Очень непростое для них решение. Однако, кто не рискует... В принципе для самого больших временных ресурсов не требуется - только грамотный подход.
Очевидно, что если предложение будет воспринято, потребуется некая схема действий, которую можно заимствовать у прошедшего огонь и медные трубы W3C. Упрощённо: поиск специалистов - сбор требований - просеивание требований - публикация рабочих проектов - сбор комментариев - другая публикация и т. д. и т. п.
2003-02-23. Первый блин комом.
<?xml version="1.0" encoding=""?>
<?xml-stylesheet type="text/css" href="" media="all"?>
<!-- Modified 2003-02-22T21:58:06+03:00 croll -->
<xentry version="1.0"
xmlns="httphttp://xmlhack.ru/ns/xentry10"
xmlns:xlink="httphttp://www.w3.org/1999/xlink"
id="XLink"
xml:lang="ru">
<!-- Sample XEntry File - словарная статья, примерно соответствующая
Lingvo 7.0 (за исключением зон вторичного отображения и некоторых
других нюансов, противоречащих XML), стилистические элементы были
преобразованы в структурные - это ещё одно отличие -->
<!-- Заголовок(-и) словарной статьи -->
<caption>
<!-- Различные варианты заголовков, которые ведут к одной статье -->
<line>XLink</line>
<!-- Несортируемая часть не учитывается при сортировке и пишется
лишь в заголовке самой статьи -->
<line><unsorted>An </unsorted>XML Linking Language</line>
<!-- Необязательная часть образует различные варианты слов, все они
приводятся в указателе -->
<line><unsorted>An </unsorted>Extensible Markup Language Linking
Language<optional> (XLink)</optional></line>
<!-- Суммируя всё вышеописанное, трансорфмация в результате должна
выдать следующие слова, каждое из которых будет вести к одной и
той же статье:
* XLink
* XML Linking Language
* Extensible Markup Language Linking Language
* Extensible Markup Language Linking Language (XLink) -->
</caption>
<body>
<p>Язык связей <abbr title="Extensible Markup Language"
xml:lang="en">XML</abbr>.</p>
<!-- Непонятно, как вставлять ссылки на другие статьи, что именно
должно служить идентификатором? Он должен быть единым для всех
вариантов заголовка статьи -->
<p>Рекомендация <abbr href="W3C" title="World Wide Web
Consortium">W3C</abbr> вышла 27 июня 2001 года</p>
<!-- Для удобство использования статьи могут содержать любое
количество подстатей, разметка внутри которых полностью
соответствует разметке большой статьи. При сортировке такая
татья выносится как отдельное слово, при нажатии на неё в теле
большой статьи должна открываться соответствующая страница -->
<subentry>
<!-- w(ord) служит альтернативой тильды (нужно ли нумеровать
тильды и, соответственно строки в заголовке статьи?) в бумажных
словарях, например, после трансформации следующий текст должен
стать XLink Working Group. Что это будет xlink
(xlink:href="..." xlink:show="embed" xlink:actuate="onLoad")
или xinclude (xi:include xi:href="...").
Слишком запутанно для быстрого составления? -->
<caption><w/> Working Group</caption>
<body>
<p>Рабочая группа по <w /></p>
</body>
</subentry>
<!-- Другие возможности, задействованные в Lingvo 7 -->
<!-- Пометы. Обозначают используемые сокращения. В Lingvo при
наведении появляется расшифровка сокращения, можно сделать
через простую abbr, можно через xlink, можно через xi -->
<label expansion="glagol" /> <!-- после трансформации: гл. -->
<!-- В L7 разрещено вставлять звуки, картинки, ссылки...
за образец здесь можно взять XHTML2... или что?.. -->
<!-- Форматирование текста должно позволить исключительно с
помощью языков листов стилей... но style - не есть хорошее
решение... разрешить только определённые классы? (class) -->
<samp><!-- Пример здесь играет особую роль, отличную от HTML -->
An important application of <w /> is in hypermedia systems that
have hyperlinks.
</samp>
<com><!-- Равно как и комментарий -->
XML Linking Language (XLink) allows elements to be inserted
into XML documents in order to create and describe links
between resources.
</com>
</body>
</xentry>
Статья обсуждается в XML-форумах.