Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Форматы полнотекстовых документов. Модель документа
Понятие модель документа охватывает аспекты создания, преобразования, хранения, поиска, передачи и отображения документов. Принято рассматривать структуру документа в двух аспектах: логическом (содержание) и физическом (макет). Логическая структура определяет составные компоненты и их соотношения в понятиях, отвечающих взгляду на документы как смысловые структуры. Например, к основным смысловым компонентам относятся: авторские данные (имя автора, место работы), аннотация, оглавление, главы, разделы, параграфы, рисунки, сноски. На рис. 2.5 приведен пример документа «Пояснительная записка к дипломному проекту (работе)». Здесь выделены такие базовые понятия структуры документа, как обязательность/необязательность элемента, уникальность или повторяемость, вхождение нижестоящих элементов в вышестоящие по принципу И (оба типа данных должны или могут входить в элемент) либо ИЛИ (только какой-либо один из типов данных может или должен входить в элемент). Макетная структура содержит описание документа в терминах физических единиц — страниц, полос, колонок, колонтитулов, рамок для рисунков, шрифтов, стилей и пр. Подходы к моделированию документов опираются на два стандарта — ISO 8613 (ODA — Office Document Architecture — архитектура управленческой документации и ISO 8879 (SCM – Standard Generalized Markup Language — стандартный обобщенный язык разметки). Документ в ODA представлен в виде профиля и собственно документа, организованных в форме древовидной структуры. Профиль содержит информацию о документе в целом и его прохождении; формальные признаки — дата составления, вид, регистрационный номер и т. д. Собственно документ содержит текст и сведения о его структуре и стиле, а именно: • структуру документа — заглавие, параграфы, оглавление и т. п. (логическая структура), а также абзацы, расположение текста, шрифты (физическая структура); • архитектуру содержания — набор графических элементов, выделение определенных слов, строк и т. п.; • коммуникативный формат — способы кодирования объектов, признаков и содержания документов. Языки разметки документов В системах обработки текстов в документ включается дополнительная информация, называемая разметкой и выполняющая следующие функции:
• выделение логических элементов данного документа; • задание функций обработки выделенных элементов. В обычных текстовых процессорах существуют встроенные команды включения/выключения шрифтов и др., аналогичные командам управления размещением информации на экране или при печати (так называемые Escape -последовательности). Такой подход называется командной или процедурной разметкой (табл. 2.1). Альтернативный способ разметки заключается в выделении части текста без указания способа обработки выделения. Затем другие команды назначают фрагментам способ обработки. Такая разметка называется описательной (дескриптивной). Она включает метки (tags, таги) начала и окончания элемента текста и указывает, как интерпретировать данный фрагмент. Изменяя набор процедур, соответствующий описательной разметке, можно изменить внешнее представление одного и того же документа. Развитие идей описательной разметки привело к определению разметки как формального языка. Это позволяет проверить правильность разметки и минимизировать ее объем за счет подстановки умолчаний. Основным достоинством описательной разметки является ее гибкость, поскольку фрагменты текста отмечены как «чем они являются» (а не «как они должны быть отображены»), причем в будущем может быть написано программное обеспечение для такой обработки этих фрагментов, которая даже не предусматривалась разработчиками языков. Например, гиперссылки HTML, первоначально предназначенные для навигации пользователями по совокупности связей в сети, в дальнейшем стали использоваться также механизмами поиска и индексирования в сети, для оценки популярности ресурсов и т. д. Описательная разметка также облегчает задачу переформатирования документа при необходимости, поскольку описание формата не связано с содержанием. Например, курсив может использоваться либо для выделения текста, либо отметки иностранных (или жаргонных) слов, либо для других целей. Однако если слова просто выделены (дескриптивно или процедурно) как курсив в этой двусмысленности нельзя полностью разобраться. Если же эти два случая были по-разному размечены в самом начале, каждый может быть переформатирован независимо от других. Родовидовая (generic markup) разметка — другое наименование для описательной разметки.
Практически элементы различных классов разметок обычно сосуществуют в любой конкретной системе. Например, HTML содержит как элементы разметки, которые являются процедурными (b для полужирного шрифта), так и другие, которые являются описательными («blockquote», или «href», — признак). HTML также включает элемент pre, который ограничивает область текста, которая будет расположена точно так, как напечатано. Самые современные системы описательной разметки рассматривают документы как иерархические структуры (деревья), а также обеспечивают некоторые средства для встроенных перекрестных ссылок. Поэтому такие документы могут трактоваться и обрабатываться как базы данных, структура которых достаточно хорошо определена (однако, поскольку они не имеют таких строгих схем, как реляционные базы данных, их обычно называют «слабоструктурированными базами данных»). С наступлением III тысячелетия возник интерес к документам неиерархических структур. Например, древняя и религиозная литература обычно имеет риторическую структуру или структуру прозы (рассказ, раздел, параграф и т. д.), а также включает справочную информацию (книги, главы, строфы, строки). Так как границы этих модулей часто пересекаются, они не могут быть полностью закодированы с использованием только системы разметки с древовидной структурой. Среди систем моделирования Документов, которые поддерживают такие структуры, — MECS, TEI Guidelines, LMNL, и CLIX. Термин «разметка» происходит от традиционной практики разметки рукописей перед публикацией (т. е. добавления символических команд на полях и между строк в бумажной рукописи), течение многих столетий это делали работники издательства (редакторы и корректоры) которые отмечали, каким шрифтом, стилем и кеглем должны быть набраны фрагменты текста, а затем передавали рукопись наборщикам, которые вручную осуществляли набор текста с учетом символов разметки. В настоящее время существует множество языков разметки (табл. 2.2), среди наиболее широко известных — DocBook, MathML, SVG, Open eBook, XBRL и др. В основном они предназначены для представления различных текстовых документов но специализированные языки могут использоваться во многих других областях. Безусловно, наиболее хорошо известен язык разметки HTML (язык разметки гипертекста), одна из основ WWW (Всемирной паутины). Рассмотрим некоторые из систем разметки. RUNOFF RUNOFF была первой системой форматирования текстов, которая получила значительную известность. Она была разработана в 1964 г. для операционной системы CTSS Джеромом X. Салтзером (Jerome H. Saltzer) с использования ассемблера MAD. Продукт фактически состоял из пары программ: • TYPSET, который был в основном редактором документов; • RUNOFF — процессор вывода. RUNOFF осуществлял поддержку разбиения на страницы и размещения заголовков, а также выравнивания текста. RUNOFF — прямой предшественник программы форматирования документов в ОС Multics, которая в свою очередь была предком программ форматирования для ОС Unix (roff и nroff), и их потомков. Он был также предком FORMAT для OS/360 IBM, и конечно косвенно для всех последующих программ и систем обработки текстов. Название, как предполагается, исходило из фразы, популярной в то время — I ' ll run off a copy.
ТеХ ТеХ — аббревиатура от τεχνη (TEXNH — techne), греческий термин для «искусства, ремесла, умения», источник для слова «технический». По английски произносится «тек» (как в слове technology). ТеХ — наборная система, созданная Дональдом Нутом (Donald Knuth). Вместе с языком METAFONT для описания шрифта и Computer Modern typeface (Компьютерного Современного шрифта) он был спроектирован для двух основных целей — во-первых, представить каждому пользователю возможность создавать высококачественные книги в пределах разумных трудозатрат во-вторых, чтобы такая система давала идентичные результаты на любых компьютерах как в настоящее время, так и в будущем. ТеХ — бесплатное программное обеспечение, популярное в академическом сообществе, особенно среди математиков, физиков информатиков, экономистов, и в технических сообществах. Оно в значительной степени конкурирует с другим популярным форматизатором ТеХ — Unix troff, и во многих инсталляциях Unix они используются совместно. Признано, что ТеХ является наилучшим путем создания и распечатки сложных математических формул, но теперь оно также используется для многих других наборных задач, особенно в форме LaTeX и других программных средств форматирования. Команды ТеХ обычно начинаются с обратной косой черты и группируются в блоки изогнутыми фигурными скобками. Однако почти все синтаксические свойства ТеХ могут быть изменены при исполнении программы, что затрудняет обработку входа ТеХ другими программами. ТеХ — язык на основе макросов и лексем и многие команды, включая наиболее часто определяемые пользователем, расширяются при исполнении, пока не останутся только нерасширяемые лексемы, которые и выполняются. Базовый вариант ТеХ включает приблизительно 300 команд, названных примитивами. Однако эти команды низкого уровня редко используются непосредственно пользователями, большинство функциональных возможностей обеспечивается файлами формата (копии памяти ТеХ после того, как были загружены большие наборы макрокоманд). Первоначальный формат Нута (по умолчанию), который добавляет приблизительно 600 команд, называется Plain ТеХ. Более широко используемым форматом является LaTeX, первоначально разработанный Лесли Лампортом, который включает стили документа для книг, писем, слайдов и т. д, а также добавляет поддержку ссылок и автоматической нумерации формул и разделов.
Другой широко используемый формат — AMS-TeX, разработан Американским математическим обществом (American Mathematical Society) и предусматривает дополнительно много дружественных команд, которые могут быть изменены издательствами, чтобы обеспечить их фирменный стиль. Большинство особенностей AMS-TeX может применяться в LaTeX при использовании AMS «packages» (что именуется как AMS-LaTeX). Чтобы написать программу печати строки «Programming» в Plain TeX, необходимо создать файл myfile.tex со следующим содержанием: Programming \bye % end of the file; not shown in the final output. По умолчанию все, что следует за знаком процента на строке, — комментарий, игнорируемый интерпретатором ТеХ. Если выполнить ТеХ на этом файле (например, набирая tex myfile.tex в режиме командной строки), то будет создан выходной файл с именем myfile.dvi, который представляет содержимое страницы в независимом от устройств формате (Device Independent Format — DVI). Результаты могут или быть напечатаны непосредственно из средства просмотра интерактивной цифровой видеосистемы или преобразованы в более общий формат, типа PostScript, используя программу dvips. Такие варианты ТеХ, как PDFTeX, непосредственно производят файлы формата PDF. Рассмотрим форматирование математической формулы. Например, чтобы написать известное выражение для корня квадратного уравнения, можно ввести: The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$ \bye Это приведет к выводу следующего текста: Несколько систем обработки документов основаны на ТеХ, особенно jadeTeX, который использует ТеХ как внутренний для того, чтобы печатать с выхода James Clark's DSSSL Engine, и Texinfo, обработчик документации системы GNU. ТеХ был официальным наборным пакетом для операционной системы GNU с 1984 г. Известны многочисленные расширения и сопутствующие программы для ТеХ, среди них BibTeX для библиографий (распространяется совместно с LaTeX), PDFTeX, который обходит формат DVI и осуществляет прямой вывод в Adobe Systems' Portable Document Format (pdf), и Omega, которая позволяет ТеХ использовать набор символов Unicode. Большинство расширений ТеХ может быть получено бесплатно во Всесторонней Сети Архивов ТеХ (Comprehensive ТеХ Archive Network — CTAN). ТеXmacs — редактор научной литературы на основе ТеХ, поддерживает режим полного соответствия (WYSIWYG) и предназначен чтобы быть совместимым с ТеХ и Emacs. Во многих технических областях, таких как прикладная информатика, математика и физика, ТеХ стал фактическим стандартом. Много тысяч книг были изданы, используя ТеХ, такими издательствами, как Addison-Wesley, Cambridge University Press, Elsevier, Oxford University Press or Springer. Многочисленные журналы в этих областях произведены с использованием ТеХ ил LaTeX, причем авторам разрешено представлять рукописи в формате ТеХ. Начиная с версии 3 ТеХ использовал специфическую систему нумерации версий, где обновления обозначались с помощью дополнительной цифры к десятичному числу так, чтобы номер версии асимптотически приближался к л. Это — отражение того факта, что ТеХ является очень устойчивым и ожидаются только незначительные обновления. Текущая версия ТеХ — 3.141592; это было последнее обновление в декабре 2002.
PostScript PostScript (PS) — язык программирования, реализующий функцию описания страниц, использующийся в электронных изданиях и настольных издательских системах. Концепция языка PostScript была создана в 1976 г., когда Джон Вонок (John Warnock), работая в фирме Evans и Sutherland, известной компании компьютерной графики, разрабатывал интерпретатор для большой трехмерной графической базы данных по нью-йоркской гавани. Вонок задумывал язык систем проектирования для обработки графической информации. Ранние принтеры были устроены так, чтобы печатать символы текста, обычно поступающего на вход в коде ASCII. Было множество технологий для этой цели, но наиболее распространенным было то, что печатаемые символы были «намертво» проштампованы на клавиши пишущей машинки, отлиты в металле для линотипов или нанесены на негативы фотонаборных устройств и поэтому их было физически трудно изменить. Это изменилось до некоторой степени с распространением матричных печатающих устройств. Символы на этих системах могли быть «нарисованы» как совокупность точек, соответствующих определенным таблицам шрифтов в принтере. По мере усовершенствования матричные печатающие устройства стали включать несколько встроенных шрифтов, из которых пользователь мог выбирать, а некоторые модели давали пользователям возможность передать (загрузить) их собственные заказные шрифты в принтер. Матричные печатающие устройства также дали возможность печатать растровую графику. Графические символы интерпретировались компьютером и посылались как ряд точек на принтер, используя «escape-последовательности» (см. табл. 2.1). Эти языки управления менялись от принтера к принтеру, требуя разработки многочисленных драйверов. Векторный вывод графических символов возлагался на другие устройства — плоттеры (графопостроители). Они также могли использовать общий командный язык — HPGL, но имели ограниченное использование для чего-нибудь другого, кроме вывода векторной графики. Кроме того, они были дорогими и медленными, и таким образом не имели широкого распространения. PostScript порвал с этой традицией, комбинируя лучшие особенности как принтеров, так и плоттеров. Как и плоттеры, PostScript предложил высококачественную штриховую графику и единый язык управления, который мог использоваться на принтерах любых марок. Как матричные печатающие устройства, PostScript предложил простые способы генерировать страницы текста и растровой графики. Но, в отличие от обоих, PostScript мог располагать все эти данные на единой странице, что предлагало гораздо больше гибкости, чем любой принтер или плоттер. PostScript выходил за пределы типичного языка управления принтером и был полным языком программирования. Многие прикладные программы могут преобразовать документ в программу PostScript, выполнение которой приведет к формированию образа оригинала документа. Эту программу затем можно передать на интерпретатор принтера, который осуществит печать документа, или в другое приложение, которое отобразит документ на экране. Так как документ-программа не требует изменений в зависимости от адресата, он называется независимым от устройства (device-independent). PostScript примечателен тем, что может осуществлять растеризацию образа в процессе обработки данных («на лету»), поскольку все, даже текст, определено в терминах прямых линий и кубических кривых Безье (cubic Bezier curves, ранее использовавшихся только в САПР — системах автоматизированного проектирования), что позволяет осуществлять произвольное масштабирование, вращение изображения и другие преобразования. В процессе работы интерпретатор программы PostScript преобразует эти команды в точки изображения, формируя вывод. Поэтому интерпретаторы PostScript также иногда называют процессорами растровых изображений (PostScript Raster Image Processors, или RIP). Почти столь же сложны, как сам Postscript, были его методы обработки шрифтов. Система генерации шрифтов использовала графические примитивы Postscript, чтобы вычерчивать символы в режиме векторной графики, которая затем могла быть передана на устройство с любой разрешающей способностью. При этом возникало множество типографских проблем, которые следовало бы решить. В 1980-е гг. Adobe получал большую часть своего дохода за счет лицензионных выплат от реализации PostScript для принтеров, известных как процессоры растровых изображений (raster image processor — RIP). Поскольку в середине 1980-х стало доступным множество новых платформ на основе RISC-процессоров, возникло мнение, что поддержка новых машин средствами Adobe явно недостаточна. Это и проблемы стоимости приводили к реализации PostScript третьими сторонами, что стало обычным, особенно в дешевых принтерах (где лицензионная плата была точкой преткновения), а также в высокопроизводительном типографском наборном оборудовании (где требования скорости вызывали необходимость поддержки новых платформам быстрее, чем Adobe могла бы это обеспечить). В какой-то момент Microsoft и Apple объединились, чтобы попытаться преодолеть монополию лазерных принтеров Adobe. Microsoft лицензировала Apple, приобретенный ею совместимый с Postscript интерпретатор —Truelmage, а Apple лицензировала Microsoft новый формат шрифтов — TrueType. Apple достигла соглашения с Adobe и лицензировала подлинный PostScript для своих принтеров, но TrueType стал стандартной технологией контурного шрифта как для Windows, так и для Macintosh. Много распространенных и недорогих лазерных принтеров не поддерживают PostScript, а используют драйверы, которые просто растеризуют исходные форматы графических символов вместо того, чтобы сначала преобразовать их в PostScript. Когда поддержка PostScript необходима для такого принтера, может использоваться бесплатный PostScript-совместимый интерпретатор, именуемый Ghostscript. Ghostscript печатает документы PostScript на «нe-PostScriptoвских» принтерах, используя мощности ЦП компьютера для растеризации и передавая на принтер результат как большой точечный рисунок (single large bitmap). Ghostscript может также использоваться для предварительного просмотра документов PostScript на компьютерном мониторе и преобразовать страницы PostScript в растровую графику (файлы типов tiff и рng) и векторные форматы (например, pdf). PostScript является полным язык программирования (в смысле Тьюринга). Как правило, PostScript-программы создаются не программистами, а другими программами. Конечно, есть возможность создать графические образы или выполнить какие-либо вычисления, кодируя вручную на ЯП PostScript. PostScript — интерпретируемый язык на основе стека (стековый язык), подобный Forth, использующий структуры данных, аналогичные встречающимся в Лиспе (Lisp) и пр. Большинство операторов (в других языках используется термин функция) принимает значения параметров из стека и помещает результат выполнения в стек. Синтаксис языка опирается на обратную польскую запись (reverse Polish notation — RPN), которая делает круглые скобки ненужными, но при которой чтение программы требует некоторых навыков, поскольку требуется помнить содержание стека. Рассмотрим ряд примеров. С помощью оператора в RPN 3 4 add 5 1 sub mul будет вычислен такой результат: (3 + 4) х (5 - 1). Чтобы производить графические образы, PostScript использует обычную декартову систему координат, например оператор 100 200 moveto 300 400 lineto stroke перемещает «курсор» в точку с координатами (100, 200), а затем чертит прямую линию к точке (300, 400). 50 70 moveto 100 200 50 80 100 100 curveto stroke создает кубическую Кривую Безье между точками (50, 70) и (100, 100), проходящую через контрольные точки (100, 200) и (50, 80). 250 250 moveto (Programming Languages) show поместит начало текста «Programming Languages» в точку с координатами (250, 250). Шрифт, которым будет набран текст, может быть предварительно задан (например, командной строкой /Courier findfont 12 scalefont setfont).
|
|||||||||
Последнее изменение этой страницы: 2021-04-05; просмотров: 199; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.172.252 (0.03 с.) |