Сегментно-страничная организация ВП. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сегментно-страничная организация ВП.



Используются две таблицы отображения - таблица сегментов, связывающая номер сегмента с таблицей страниц, и отдельная таблица страниц для каждого сегмента.

Сегментно-страничная организация виртуальной памяти позволяла совместно использовать одни и те же сегменты данных и программного кода в виртуальной памяти разных задач (для каждой виртуальной памяти существовала отдельная таблица сегментов, но для совместно используемых сегментов поддерживались общие таблицы страниц).


 

16. Области применения языка XML: организация и функции платформы XML, моделирование данных

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

Нужно отметить, что совместно со стандартами платформы XML могут использоваться и некоторые другие стандарты, которые формально к этому комплексу стандартов не относятся. Мы будем далее называть их окружением платформы XML. Некоторые из таких стандартов имеют статус стандартов консорциума W3C. Хотя эти стандарты не используют синтаксис языка XML, они, однако, функционально совместимы со стандартами платформы и используются наряду с ними в приложениях XML. Другие стандарты окружения основаны на синтаксисе XML, но разработаны не W3C, а различными другими организациями (компаниями или консорциумами). Тем не менее, они получили достаточно широкое признание и применяются на практике, не имея официального статуса стандартов W3C.

Совместное использование стандартов платформы XML и ее окружения имеет место не только в многочисленных приложениях, но и в самих спецификациях стандартов платформы. Например, стандарт XPath, формально не являющийся стандартом XML, используется в спецификациях стандартов XPointer, XSLT, XQuery.

Указанные обстоятельства служат основанием для обсуждения стандартов окружения наряду со стандартами платформы, и мы не будем далее выделять их в какую-либо особую группу.

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

Основные стандарты платформы XML и ее окружения можно разделить на следующие классы:

· фундаментальные стандарты: InfoSet, Namespace, XML;

· структурообразующие стандарты: XPointer, XLink;

· стандарты форматирования и трансформации XML-документов: XSL, XSLT, CSS;

· стандарты представления метаданных: XML (DTD), XML Schema, Relax NG, RDF, RDFS, OWL;

· стандарты языков запросов: XQuery, XPath, XSLT;

· стандарты интерфейсов прикладного программирования: DOM, SAX;

· стандарты для обеспечения преемственности с Веб-1: XHTML, XML Base;

· стандарты транспорта данных: XML-Protocol, XForms, SOAP;

· стандарты идентификации информационных ресурсов: URI, URL, URN;

· стандарты информационной безопасности: XML-Signature, XML Decription;

· стандарты архитектуры функциональной надстройки Веб: XSDL;

· вспомогательные стандарты: XInclude, XFragment, Canonical XML, XPath;

· стандарты вертикальной сферы: MathML, cXML, CML, WML, GML, UBL, XMI и ряд других стандартов OMG и др.

Анализируя приведенную классификацию стандартов, нетрудно видеть, что некоторые из них многофункциональны и, в соответствии с этим, отнесены здесь к нескольким классификационным категориям. Кроме того, из названий классов интуитивно ясна функциональная структура стандартов платформы XML.

Сведения о назначении конкретных стандартов, упоминаемых в приведенной классификации, содержатся в указателе стандартов платформы XML, представленном на данном сайте.

Моделирование данных XML

Техника моделирования данных является таким же необходимым инструментом управления XML-данными, как данными и в традиционных базах данных. Поэтому понятие модели данных по необходимости фигурирует в документации стандартов XML. Нужно, однако, заметить, что авторы стандартов XML употребляют "старомодную" трактовку понятия модели данных как структуры конкретного XML-документа, а не как инструмента моделирования таких информационных ресурсов. Одно из следствий такого подхода состоит в том, что остается в стороне вопрос о стандартизации операционных возможностей средств управления XML-данными.

Хотя понятие модели данных упоминалось в прошлые годы в спецификациях ряда стандартов платформы XML, проблемы моделирования данных не были здесь основательно проработаны. Единой функционально полной, охватывающей как структурные, так и операционные возможности, специфицированной в явном виде модели данных, на которой бы базировались все стандарты платформы, не существует до сих пор и похоже, что в близкое время она вряд ли сможет появиться. Никакой деятельности в этом направлении в консорциуме пока не ведется. Вопросы моделирования данных обсуждаются лишь автономно в рамках спецификаций некоторых стандартов. При этом авторы имеют в виду только структурные аспекты моделирования данных. Исключение составляет стандарт DOM, определяющий API для репозиториев XML- и HTML-документов. Заметим, что хотя DOM может применяться к XML-данным, он не является стандартом платформы XML (приложением XML), а относится к ее окружению. В рамках проекта языка запросов XQuery опубликовано несколько документов. Среди них документы посвящены спецификации модели данных. Судя по наименованиям этих документов, авторы полагают, вероятно, что к модели данных имеет отношение лишь первый из этих документов, с чем нельзя согласиться.

 


 

17. Правильно построенный документ XML: общие правила синтаксиса XML

XML (Extensible Markup Language – расширяемый язык разметки) – рекомендован W3C как язык разметки, представляющий свод общих синтаксических правил. XML предназначен для обмена структурированной информацией с внешними системами. Формат для хранения должен быть эффективным, оптимальным с точки зрения потребляемых ресурсов (памяти, и др.). Такой формат должен позволять быстро извлекать полностью или частично хранимые в этом формате данные и быстро производить базовые операции над этими данными. Каждый документ начинается декларацией – строкой, указывающей как минимум версию стандарта XML. В качестве других атрибутов могут быть указаны кодировка символов и внешние связи.

<?xmlversion="1.0" encoding="UTF-8"?>

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

После декларации в XML-документе могут располагаться ссылки на документы, определяющие структуру текущего документа и собственно XML элементы (теги), которые могут иметь атрибуты и содержимое. Открывающий тег состоит из имени элемента, например <city>.Закрывающий тег, состоит из того же имени, но перед именем добавляется символ ‘/’, например </city>. Содержимым элемента (content) называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. В любом месте дерева может быть размещен элемент-комментарий. XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->. Два знака дефис (--) внутри комментария присутствовать не могут.

<!-- Это комментарий. -->

Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы.

Текстовые блоки XML-документа не могут содержать символов, которые служат в написании самого XML: <, >, &.

<description>в текстовых блоках нельзя использовать символы <,>,&</description>

В таких случаях используются ссылки (указатели) на символы, которые должны

быть заключены между символами & и;.

Особо распространенными указателями являются:

&lt; – символ <;

&gt; – символ >;

&amp; – символ &;

&apos; – символ апострофа ‘;

&quot; – символ двойной кавычки “.

Таким образом, пример правильно будет выглядеть так:

<description>в текстовых блоках нельзя использовать символы &lt;, &gt;, &amp;</description>

Если необходимо включить в XML-документ данные (в качестве содержимого элемента), которые содержат символы '<', '>', '&', '‘' и '“', чтобы не заменять их на соответствующие определения, можно все эти данные включить в раздел CDATA.

Раздел CDATA начинается со строки "<[CDATA[", а заканчивается "]]>",

при этом между ними эти строки не должны употребляться. Объявить раздел

CDATA можно, например, так:

<data><[CDATA[ 5 < 7 ]]></data>

Корректность XML-документа определяют следующие два компонента:

синтаксическая корректность (well-formed): то есть соблюдение всех синтаксических правил XML;

действительность (valid): то есть данные соответствуют некоторому набору правил, определённых пользователем; правила определяют структуру и формат данных в XML.ВалидностьXML документа определяется наличием DTD или XML-схемы XSD и соблюдением правил, которые там приведены.

Пример:

<?xml version="1.0" encoding="UTF-8"?>

<menu:nodesxmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

xmlns:menu="http://bvf.by/main-menu"

xsi:schemaLocation="http://bvf.by/main-menu xsd/main-menu.xsd">

<node>

<title>menu_main</title>

<url>/BVFApp/</url>

</node>

<node>

<title>menu_federation</title>

<nodes>

<node>

<title>menu_federation_direction</title>

<!--<url>/BVFApp/faces</url>-->

</node>

</nodes>

</node>

</menu:nodes>


 

18. Интерфейсы анализаторов XML: доступ и манипулирование содержанием и структурой XML

XML как набор байт в памяти, запись в базе или текстовый файл представляет собой данные, которые еще предстоит обработать. То есть из набора строк необходимо получить данные, пригодные для использования в программе. Поскольку ХML представляет собой универсальный формат для передачи данных, существуют универсальные средства его обработки – XML-анализаторы (парсеры). Парсер – это библиотека, которая читает XML-документ, а затем предоставляет набор методов для обработки информации этого документа.

Существует три подхода (API) к обработке XML-документов:

DOM (DocumentObjectModel – объектная модель документов) – платформенно-независимый программный интерфейс, позволяющий программам и скриптам управлять содержимым документов HTML и XML, а также изменять их структуру и оформление. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого содержит элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родитель-потомок.

SAX (Simple API for XML) базируется на модели последовательной одноразовой обработки и не создает внутренних деревьев. При прохождении по XML вызывает соответствующие методы у классов, реализующих интерфейсы, предоставляемые SAX-парсером.

StAX (Streaming API for XML) не создает дерево объектов в памяти, но,в отличие от SAX-парсера, за переход от одной вершины XML к другой отвечает приложение, которое запускает разбор документа.

Анализаторы, которые строят древовидную модель, – это DOM-анализаторы. Анализаторы, которые генерируют события, – это SAX-анализаторы.

Анализаторы, которые ждут команды от приложения для перехода к следующему элементу XML – StAX-анализаторы.

В первом случае анализатор строит в памяти дерево объектов, соответствующее XML-документу. Далее вся работа ведется именно с этим деревом. Во втором случае анализатор работает следующим образом: когда происходит анализ документа, анализатор вызывает методы, связанные с различными участками XML-файла, а программа, использующая анализатор, решает, как реагировать на тот или иной элемент XML-документа. Так, анализатор будет генерировать событие о том, что он встретил начало документа либо его конец, начало элемента либо его конец, символьную информацию внутри элемента и т.д.

StAX работает как Iterator, который указывает на наличие элемента с помощью метода hasNext() и для перехода к следующей вершине использует метод next().

Когда следует использовать DOM-, а когда – SAX, StAX -анализаторы?

DOM-анализаторы следует использовать тогда, когда нужно знать структуру документа и может понадобиться изменять эту структуру либо использовать информацию из XML-файла несколько раз.

SAX/StAX-анализаторы используются тогда, когда нужно извлечь информацию о нескольких элементах из XML-файла либо когда информация из документа нужна только один раз.

DOM – это специальная, языково-независимая интерфейсная модель разбора XML и HTML документов. Существует три уровня моделей DOM: DOM Level 1 – описывает основные интерфейсы, DOM Level 2 – вводит дополнение XML Namespaces, DOM Level 3 – определяет методы Load и Save.

Модель DOM Level 1 – описана выше.

Модель DOM Level 2 вводит использование стилевых таблиц, определяет модель сообщений и XML Namespaces. В сущности namespaces (пространства имен) используются для того чтобы разрешить многократный доступ к словарям XML при этом используясь в одном XML документе. Для того чтобы присвоить какому либо элементу универсальный идентификатор нужно к тегу стоящему выше его по иерархии DOM добавить параметр вида "xmlns:indentefier="URI", где indentefier это имя идентификатора, а URI – сам идентификатор. Для его использования надо к используемому элементу добавить спереди имя идентификатора indentefier и двоеточие.

<?xml version="1.0"?>

<html xmlns:xhtml="www.w3c.org/tr/xhtml"

xmlns:books="www.piter-press.ru">

<xhtml:title>Это заголовок документа XHTML</xhtml:title>

<book>

<books:title>А здесь должен быть заголовок книжки</books:title>

</book>

</html>

В даном случае в корневом теге <html> описано два пространства имен – xhtml и books. Теперь в этом документе можно использовать одни и те же элементы, но с разным значением, ставя перед ними имя пространства имен и двоеточие.

DOM Level 3

На данный момент это последняя версия DOM. Спецификация этой модели состоит из трех частей: DOM3-ASLS, DOM3-Core, DOM3-Events, DOM3-XPath.

DOM ASLS (Abstract Schemas and Load and Save specification) – эта спецификация определяет схемы DTD и XML Schemas, а также методы Load and Save. Методы LoadandSave, как можно догадаться из названия должны загружать и сохранять содержимое DOM-модели. Спецификация DOM3 Events – описывает модель сообщений и в основном базируется на DOM2 Events. Особенного внимания заслуживает спецификация DOM3-XPath. Эта спецификация определяет простой набор интерфейсов для доступа к дереву DOM через XPath 1.0.



Поделиться:


Последнее изменение этой страницы: 2016-08-06; просмотров: 294; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.36.141 (0.051 с.)