Создание инструмента научных исследований на основе XML: Проблемы и методология - [6]

Шрифт
Интервал

Перед нами по-прежнему стоит задача найти идеальную поисковую ситему XML, с тем чтобы она позволяла научный поиск и была применима для цифровых библиотек. Для проекта «Летопись журнальных статей» и других проектов Цифровой Библиотечной Программы университета Индианы, которые, как в приведенном выше примере, сочетают в себе фрагменты текста на современном английском, древнегреческом, иврите и латыни, мы в настоящее время разрабатываем XYZFind (http://www.xyzfind.com/) в качестве нашей основной поисковой системы и базы данных XML. Хотя XYZFind не соответствует некоторым предъявляемым нами требованиям, в частности требованию наличия возможности поиска по словам с учетом изменяющегося окончания, мы в основном удовлетворены его качеством. Разработчики и обслуживающий персонал данного продукта превзошли все ожидания, отвечая на наши запросы и просьбы. Мы надеемся, что все требования, предъявляемые нами, будут учтены к тому времени когда мы вынесем наш проект для общего использования на World Wide Web, что согласно плану должно случиться в следующем году. Нижеследующий параграф из введения к Руководству пользователя XYZFind сервером [XYZFind User’s Guide] дает некоторое представление в отношении функциональности и возможностей XYZFind:  

XYZFind это сервер, содержащий XML хранилище информации и XML систему запросов. 

Как хранилище информации XML, XYZFind принимает любое количество правильно сформированных XML документов и представляет данные в виде единого документа, вбирающего в себя все получаемые документы. Оригиналы документов могут быть извлечены, изменены или удалены из хранилища. После того как набор документов был проиндексирован XYZFind, становятся доступными поиск и запросы, о которых будет рассказано ниже.  

Как система запросов XML, XYZFind принимает запросы, сформированные на языке XML, называемом XYZQL. XYZQL очень богатый по своим возможностям язык запросов, включающий поддержку запросов path-level, запросы булеан, поиск по ключевым словам и запросы по числовым диапазонам. XYZQL система запросов это система фильтрующих ограничений, которая определяет какие конкретно XML документы будут возвращены, а также какие части документов. XYZFind процессор запросов использует свое хранилище для оптимизации процесса фильтрации, превосходя по свом показателям выходных данных менее утонченные подходы.  

3.2.2. Редакторы XML

Мы испытали некоторые трудности при поиске подходящего, относительно дружелюбного по отношению к пользователям редактора XML, который поддерживал бы Unicode и имел способность редактировать большие файлы и с легкостью кодировать текст. Персонал, нанятый нами для кодировки и корректирования, обладает превосходным знанием русского языка, однако эти сотрудники не являются экспертами по XML или специалистами в области информационных технологий. Мы имеем возможность, и фактически обучаем наших корректоров, однако мы предпочитаем использовать редактор, который могли бы использовать люди с минимальным знаниями в области XML и информационных технологий.  

Для предыдущих и текущих англоязычных проектов, не требовавших способности поддерживать Unicode, мы использовали emacs с PGSGML главным модулем (http://www.lysator.liu.se/~lenst/about_psgml/), и SoftQuad’s XMetaL (http://www.softquad.com/). С версией 2.1 XMetaL в настоящее время обеспечивает хорошую поддержку Unicode (хотя он не вполне справляется с задачей поддержки языков, читаемых справа налево, в частности иврита) по сравнению с временем, когда мы начали проект в 1999 году, когда поддержка Unicode, предоставляемая ими, была очень ограничена и XMetaL не показывал кириллические тексты Unicode. В качестве дефолтного варианта редактора XML для нашего проекта нами был избран WordPefect ( http://www.corel.com/). Он позволяет редактировать большие документы, имеет привычный для новичков в области XML интерфейс Word и обеспечивает приемлемый уровень поддержки Unicode. Остальные протестированные нами продукты мы решили не использовать поскольку их интерфейс не подходил для целей нашей работы, они либо не обеспечивали поддержку Unicode, либо требовали знания XML выше уровня нанятого нами персонала. 

4. Создание интерфейса

Главная задача проекта «Летопись журнальных статей» — обеспечить свободный доступ посредством Web интерфейса к данным за двадцать лет публикации «Летописи журнальных статей», которые мы в конце концов приведем в электронную форму и закодируем при помощи XML. Трудоемкий процесс оцифровывания и кодирования по-прежнему продолжается, но мы уже начали работу по созданию Web интерфейса для данных. 

Прототип Web интерфейса, используемый нами в настоящее время, представляет собой комбинацию HTML, Java и JavaScript, связанных с сервером XYZFind. Интерфейс Летописи это страница сервера Java (Java Server Page (JSP)), которая использует Javascript и Java, связанную с HTML, и побуждает локальную JavaBean без памяти о предыдущих результатах поиска к более сложной логике (которая скорее всего в конечном итого будет выделена в отдельную JavaBean). В дополнение к классам XYZFind JSP также использует Xerces для доступа к XML Document Object Model (DOM) и Xalan для Extensible Stylesheet Language Transformations (XSLT) трансформаций. 


Рекомендуем почитать
Обратные вызовы в C++

В практике разработки ПО зачастую встает задача динамической модификации программного кода в зависимости от текущих или настраиваемых значений параметров. Для решения этой задачи широко используются обратные вызовы. В языке C++ обратные вызовы реализуются различными способами, и далеко не всегда очевидно, какой из них лучший для конкретной ситуации. В книге рассмотрены теоретические и практические аспекты организации обратных вызовов, проанализированы достоинства и недостатки различных реализаций, выработаны рекомендации по выбору в зависимости от требований к проектируемому ПО.


Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше

Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.


Перевод в электронный формат, кодированные наборы шрифтов и система Оптического Распознавания Символов для многошрифтовых информационных ресурсов на примере “Летописи журнальных статей”

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.