Язык xml введение

Содержание

Язык xml введение

XML технологии и средства разработки Gupta
Team Developer: XML технологии (Часть 1)

В статье, которая состоит из двух частей, рассмотрены основные понятия и возможно-сти технологий XML при построении информационных систем (часть 1) и возможности использования их при программировании в Gupta (Centura) Team Developer часть 2). Техно-логии XML обеспечивают высокий уровень универсальности при обмене данными между приложениями, при хранении данных в БД и универсализации доступа к данным в WEB-приложениях.

Язык XML появился относительно недавно в поле зрения IT специалистов, но уже завоевал всестороннее признание. Достаточно сказать, что он стал основой WEB технологий, универ-сальным механизмом взаимодействия программных систем и способом представления ин-формации в БД. Внешне он похож на язык HTML (тэговые операторные скобки), но, несо-мненно, функционально имеет более широкую сферу применения, и, думаю, не ошибусь, большое будущее.

В настоящее время на базе XML (Extensible Markup Language) появилось много новейших технологий, число которых постоянно растет. Некоторые их них мы рассмотрим ниже. Не-смотря на значительную простоту XML обеспечивает высокую универсальность — в простоте гениальность новых решений.

На рисунке 1 показаны основные возможности XML и основные программные компоненты, участвующие процессе обработки XML информации.

Рис. 1 Обобщенный взгляд на XML технологии.

Основные технологические процессы выделены красным цветом: обработка данных, обмен данными, хранение данными, проверка данных, преобразование данных и их генерирование. На рисунке выделены разновидности программных систем (синим цветом), участвующих в обработке данных: программные приложения, СУБД XML, XSL процессоры и WEB сервер-клиент компоненты. Данные на рисунке представлены (серые прямоугольники) в формате XML. Они необходимы: для непосредственного хранения (XML документ), для описания структур данных (XML схемы) и для преобразования данных (XSL правила-программы).

    XML позволяет описывать структурированные данные. XML — язык описания данных. (Можно описывать все традиционные структуры данных: таблицы, массивы, вложенные структуры, деревья, списки, сети и т.д.)

XML — поддерживается общедоступными СОМ и АХ объектами, интегрируемыми в опе-рационную систему и Интернет. СОМ XML позволяет генерировать, проверять, считы-вать, преобразовывать данные. XML поддерживает UNICODE формат данных. XML — это независимое от платформ средство описания данных. Имеются сопровождаемые ком-поненты XML (SDK XML), которые обеспечивают обработку данных практически в лю-бых языках программирования: C++, JAVA, Jscript, VBScript и др.

  • Язык XML — внешне похож на формат HTML. Имеет тэги и атрибуты. XML — текстовый формат представления данных, однако, они не предназначены для чтения, а для перера-ботки, хранения и представления данных в WEB.
  • XML — это семейство технологий, которые постоянно развиваются:

    4.1. XML 1,0 базовый стандарт языка,
    4.2. XLINK — описывает правила добавления ссылок (URL) в XML документы,
    4.3. XPOINTER — описывает правила создания графических ссылок (URL),
    4.4. CSS — работает также как и для HTML,
    4.5. XSL и XSLT — это продвинутые языки преобразования и обработки XML докумен-тов,
    4.6. DOM — это стандартный объект (функции и методы) позволяющие про граммировать все действия по работе с XML документами.
    4.7. XML Schemas (1/2) — позволяет описывать свои подмножества языка XML и прове-рят ь правильность их построения
    4.8. XML Query — язык доступа к данным на основе запросов и многие другие.

    Рассмотрим теперь некоторые из этих возможностей: описание данных на языке XML, про-верку данных на основе схем, преобразование данных на основе XSL, классы SDK XML.

    Язык XML, в самом общем виде, — это набор простых правил для описания вложенных тек-стовых структур данных. Понятие документа: документ это совокупность элементов. Сам документ является элементом. Элемент может иметь произвольное число атрибутов (свойств). Атрибуты имеют значения и тип. На рисунке, расположенном ниже, представлен вид простейшего XML документа. Он состоит из заголовка и текста документа, включающе-го другие элементы и их атрибуты (в примере элементы: article, part, picture; атрибуты: version, file). Кроме того, в документе может располагаться обычный текст.

    Рис. 2. Пример простого XML документа.

    Описание элементов обязательно включает ключевые тэги (заголовки) начальный и конеч-ный, которые должны совпадать по наименованию:

    Язык xml введение

    Взяв любую книгу, вы легко убедитесь, что она оформлена согласно некоторым правилам: (Заголовки/подзаголовки, абзацы, шрифты). Причём, например, говоря о книгах, видим что:

    • средства для оформления достаточно фиксированы
    • однако в раках этих средств имеется достаточное разнообразие их использования.

    Заметьте, что здесь речь не идёт о содержании какой-то конкретной книги, а только о формальном способе выделения/отображения некоторых информационно-однородных структурных объединений в ней, эквивалентных по семантике, а также отношений между ними. С другой стороны, вы были бы удивлены, если бы в рамках отдельно взятой книги одни и те же семантические объекты имели бы различные представления, а также выражались разными способами отношений между ними. Во всяком случае, это усложнило бы вам восприятие информации.

    Другой момент, связан с обработкой структурированной информации, сформированной в одном месте, например на сервере данных, а обрабатываемой в другом, например на конкретном клиенте для просмотра/печати отчёта.

    Раздумья над проблемой: «а что же из себя должен представлять документ»? Приводит к мысли о том, что это «триединое понятие» и включает в себя как сами данные, обладающие некоторой структурой, так и указание на способ их визуализации на устройствах отображения. Таким образом, вырисовывается следующая формула:

    Документ = Данные + Структура + Представление

    Общеизвестен универсальный формат Reach Text Format (RTF) точнее язык, с помощью которого можно отформатировать печатный документ, используя разнообразия шрифтов, расположить текст, требуемым образом, и добиться того, чтобы печатный документ был близкой копией к оригиналу, просматриваемому в каком-нибудь редакторе. Вот так, к примеру, будет выглядеть в нём такой текст:

    Строка в Reach Text Format ( RTF )

    Хм. достаточно разборчиво, не правда ли? :-) Кроме того, что он «птичий» он ещё и «узко специализирован» ничего кроме представления данных для просмотра/печати он не умеет. Не нужно далеко ходить, чтобы привести и другие аналогичные форматы данных: DOC, PDF, . При создании этих форматов, задачи явного разделение содержимого документов на данные и их структуру не ставилось.

    Отсюда возникает понимание того, что нужен язык, который бы:

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

    Служащий подобным целям язык уже существует, и был создан в 1996 году в фирме IBM Research с названием Generalized Markup Language (GML). Язык был разработан для правительственных учреждений в США для обмена информацией между правительственными и государственными учреждениями. Это язык расширяемый, т.е. казалось бы, вопрос языка для этих целей решён. Позднее на него был утверждён стандарт под названием Standard Generalized Markup Language (SGML). Однако, именно из-за своей универсальности он оказался настолько сложен, что практическое применение его вызвало определённые затруднения, в т.ч. и создание ПО для него. Отсюда и высокие цены на продукты, созданные с помощью него (см. http://www.oasis-open.org/cover/).

    В связи с бурным развитием Internet общеизвестно распространение другого языка разметки: HTML (http://www.w3.org/MarkUp/) . Этот язык является основным для отображения любых данных в Internet (ANSII стандарт для Internet). Однако, его проблема именно в узкой специализации, направленной на визуализацию данных в Web-browsers. Попробуем обозначить проблемы:

    • Основная проблема этого языка, пожалуй, заключается в том, что изначально в этом языке данные, которые необходимо отобразить и указание на то, как именно следует отобразить эти данные, — составляют одно целое. Так, требование к внесению изменений в части представления данных автоматически вынуждает вносить изменение в файл документа. Несмотря на то, что в последней версии 4 появилась возможность использовать так называемые таблицы стилей (т.е. выделить спецификации, отвечающие за отображение данных в самостоятельный файл — таблицу стилей), проблема всё же не перестаёт быть острой. Из-за того, что данные не выделены в самостоятельный слой, изменение данных неизбежно приводит к изменению самого html-документа
    • Отсюда налицо такая проблема: работа с данными, обычно с базами данных, требует наличие программистов, имеющих навыки в этой области программирования, в то время как представление данных, т.е. дизайн — это, вообще говоря, совершенно другая область знаний. Программирование же html-представлений требует от программистов одновременного знания того и другого.
    • Несовершенство самого языка, вынуждает разработчиков применять множество ухищрений, чтобы добиться желаемого представления данных. Если к этому добавить несовместимость используемого программного обеспечения (Web-browser клиента всегда является конкретным :)), то можно представить себе головную боль создателей Web-сайтов.
    • Простые однонаправленные ссылки на другие документы, конечно же, не удовлетворяют потребностей в желании иметь «более богатые» связи между данными и документами.
    • На стороне клиента практически отсутствует возможность какого-нибудь управления отображением данных, и оно полностью зависит от того, какие именно html-документы были присланы сервером.

    Думаю, что вы легко можете найти и другие, возможно следственные к перечисленным выше проблемам.

    В 1996 году консорциумом Word Wide Web ( http://www.w3.org/), была предпринята попытка, приступить к проектированию расширяемого языка разметки, который сочетал бы в себе гибкость и мощность языка SGML и совместимый с распространенностью HTML. Этот язык получил название (Extensible Markup Language) XML (http://www.w3.org/XML/). А в феврале 1998 был принят стандарт этого языка как XML 1.0 в качестве рекомендаций W3C. В настоящий момент существует выпущенная 6 октября 2000 года Extensible Markup Language (XML) 1.0 (Second Edition) рекомендация консорциума W3C (http://www.w3.org/TR/REC-xml). См. также:

    • http://xmlhack.ru/ — Новости и ресурсы для XML-разработчиков.
    • http://xml.nsu.ru/ — Школы консорциума W3C на русском языке.

    В настоящий момент фирма Microsoft® начинает широко применять язык XML при работе со структурированными данными в своих продуктах.

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

    К числу символов, допустимых в XML-документах относятся все три управляющих C0 символа стандарта ANSII, все обычные символы этого стандарта, и почти все символы Unicode:

    09 Горизонтальная табуляция (HT) 0A Перевод строки (LF) 0D Возврат каретки (CR) 20..7E Символы ANSII 80..D7FF Символы Unicode (включая Latin-1) E000..F8FF «Область частного использования» F9..FFFD Идеограммы совместимости с CJK (китайским-корейским-японским языками) 10000..10FFFF Суррогатные эквиваленты и «область исключительного частного использования»

    В XML имеется ряд символов, за которыми закреплена особая роль в обработке анализаторами, поэтому наложены определённые ограничения на их использование в XML-документах. Вот их список:

    Обозначение (в коде)

    > > Ограничитель разметки & & & Ссылка

    Структуры в XML почти всегда именованы. Любое имя должно начинается с буквы, знака подчёркивания (‘_’) или двоеточия (‘:’) и продолжается только из допустимых в XML для имён символов, которые не обязательно ограничены ANSII символами, а также могут включать в себя буквы национальных алфавитов. Имена не могут начинаться со строки ‘xml’ причём в любой комбинации заглавных/прописных букв. Также нужно иметь ввиду, в отличии от HTML-документа, названия, как и почти вся информация XML-документа чувствительна к регистру. Далее, в значениях атрибутов, могут быть использованы так называемые nmtoken (name token) имена, определённые средствами DTD и могут представлять собой любую смесь символов, без ограничений на первый символ. Наконец, для исключения проблемы одинокого именования логически разных объектов вводится понятие пространства имён и расширенного имени.

    Имена, могут принадлежать пространствам имён (Namespaces). Это снимает проблему использования одинаковых имён, но различающихся т.с. логически. Таким образом, в XML вводится понятие расширенного имени (например: ‘xsl:stylesheet’), которое состоит из локального имени (‘stylesheet’) + имени пространства имён (‘xsl’), которому это имя принадлежит. Локальное имя отделяется от префикса пространства имён символом двоеточия ‘:’. Расширенные имена считаются совпадающими, если совпадают их локальные имена, и они принадлежат одному и тому же пространству имён. В примере ниже показано как объявляется пространство имён в двух возможных формах:

    Нужно также иметь ввиду, что:

    • будучи объявленным, пространство имён «работает» вплоть до своего закрытия
    • объявления по умолчанию действуют на все имена, не имеющие префикса.
    • в качестве значение атрибута xmlns принято использовать уникальный URI, причём не обязательно это должен быть реально существующий Internet-адрес. Просто это является простым способом придания уникальности пространству имён. Для часто используемых пространств имён существует множество «предопределенных» подобных адресов. Например, адреса: http://ww.w3.org/1999/XSL/Transform реально не существует, однако он определяет пространство имён для языка XSLT версии 1.0 (см. http://www.w3.org/TR/xslt). C другой стороны адрес: http://www.w3.org/TR/REC-html40/, — реально существует и вместе с тем он определяет пространство имен для HTML версии 4.0. Пример определения пространства имён вы можете также посмотреть, если сделаете сохранение из-под MS Word 2000 и выше любого файла в html-формате, и открыв полученный файл в любом текстовом редакторе. (См. также http://www.rol.ru/news/it/helpdesk/xnamsps.htm — перевод спецификации Namespaces in XML (W3C Recommendation) на русский язык).

    Чтобы дать возможность использовать чего-нибудь, что неопределенно в рамках языка, предусмотрена возможность создания собственных (т.е. внешних по отношению к языку) определений и их использования. Ссылка всегда начинается знаком амперсанта ‘&’ и завершается точкой с запятой ‘;’. В XML имеется два вида ссылок:

    Ссылки на символы в XML используют там, где в противном случае возникает нарушение ограничений, налагаемых анализатором. Ссылка на символ (character reference) представляет из себя последовательность цифр в десятичном или шестнадцатеричном формате, закачивающуюся точкой с запятой ‘;’ и перед которой стоит знак ‘&’. Так, например, в виде десятичного (&#. ;) или шестнадцатеричного (&#x. ;) числа ссылки:

    будут отображаться в Web-browser как символ: ‘(©)’.

    Ссылки на сущность позволяет включать любые строковые константы в содержание элементов или значения атрибутов, а также представляют мнемонические альтернативы ссылкам на символы. Ссылки на сущность представляется разрешенным к использованию в XML именем, перед которым стоит знак амперсант ‘&’, а после — точка с запятой ‘;’. Например:

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

    & Всегда используется вместо знака амперсант ‘&’. Исключение составляют разделы CDATA Может использоваться вместо символа ‘>’. В разделе CDATA объект всегда необходимо использовать, если за знаком ‘>’ следует строковая константа «]]» ‘ Может использоваться вместо символа ‘ в строковой константе « Может использоваться вместо символа » в строковой константе

    Все другие сущности должны быть определены перед их использованием. Сущности могут определяться:

    • средствами DTD документа, и тогда они являются внешними множеством по отношению к документу (external subset).
    • внутри самого документа с помощью раздела деклараций и тогда они называются внутренним множеством (internal subset) При обнаружении неопределённой сущности анализатор должен выдать фатальную ошибку.

    Если при замещении имени на значение возникнет необходимость применения значения другой, встретившейся при этом сущности, то замещение должно продолжаться пока все сущности не будут заменены. Тем не менее, «имя» не должно содержать рекурсивных ссылок на себя, прямо или косвенно.

    Символьные данные — это любой текст, являющийся содержанием документа. Однако за двумя символами: ‘ и & — соответственно,

  • либо применять раздел CDATA.
  • Разделы CDATA представляют собой способ включения в документ текста, который иначе бы интерпретировался бы анализатором как разметка. Обычно такая потребность возникает для включения в текст документа примеров, содержащих разметку, или кода функций на каком-нибудь языке программирования. Базовый синтаксис раздела CDATA такой:

    где ‘. ‘ — может содержать любую последовательность символов, исключая: ‘]]>’

    Обратите внимание, что раздел CDATA не лучший способ включения в XML-файл фрагмента двоичных данных. Проблема может возникнуть из-за присутствия последовательности из трёх байт: ‘5D 5D 3E’ непосредственно в таких данных.

    В XML используются строковые значения, однако при этом имеются определённые ограничения на них.

    • Во-первых, все строковые константы заключены либо в апострофы (‘) либо в кавычки («). Соответственно внутри строки запрещено использовать символ, выбранный в качестве ограничителя строки. В случае одновременного присутствия обоих символов в качестве значения строки следует использовать соответствующие ссылки на объекты: ‘ или «.
    • Во-вторых, в качестве строковых значений не допускается использование защищённых в XML символов: ‘ и & — соответственно (см. также разделы: Зарезервированные символы и Символьные данные выше).

    Под пустыми пространствами (white space) в XML понимают данные, содержащие четыре символа:

    09 Горизонтальная табуляция (HT) 0A Перевод строки (LF) 0D Возврат каретки (CR) 20 Символ пробела ANSII

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

    • все символы пустых пространств в данных элементов сохраняются
    • символы пустых пространств в тегах и значениях атрибутов могут быть удалены (MS анализатор, во всяком случае, в .NET этого не делает :-().

    Следует иметь в виду, что при обработке HTML-документов в Web-browser-ах удаляются все символы пустых пространств и заменяются одним пробелом. И для предотвращения уничтожения вашей разметки следует использовать

    Выдержка из результата выполнения представлена ниже:

    Пример на C#, делающий выборку из таблицы базы данных MS SQL Server 2000.

    Введение в XML. Структура XML документа

    Введение в XML

    В 1986 году, задолго до того, как идея создания сети Веб была воплощена в жизнь, универсальный стандартизированный язык разметки SGML ( Standardized Generalized Markup Language ) был утвержден в качестве международного стандарта ( ISO 8879 ) определения языков разметки, хотя SGML существовал еще с конца шестидесятых. Он использовался для того, чтобы описывать языки разметки, предоставляя при этом автору возможность давать формальные определения каждому элементу и атрибуту языка .

    Язык HTML первоначально был всего лишь одним из SGML -приложений. Он описывал правила, по которым должна быть подготовлена информация для World Wide Web . Таким образом, язык HTML — это набор предписаний SGML , сформулированных в виде определения типа документа ( DTD ), объясняющих, что именно обозначают тэги и элементы. Схема DTD для языка HTML хранится в веб-браузере.

    К недостаткам языка HTML можно отнести следующие:

    • HTML имеет фиксированный набор тэгов. Нельзя создавать свои тэги, понятные другим пользователям.
    • HTML — это исключительно технология представления данных. HTML не несет информации о значении содержания, заключенного в тэгах.
    • HTML — «плоский» язык. Значимость тэгов в нем не определена, поэтому с его помощью нельзя описать иерархию данных.
    • В качестве платформы для приложений используются браузеры. HTML не обладает достаточной мощью для создания веб-приложений на том уровне, к которому в настоящее время стремятся веб-разработчики. Например, на языке HTML невозможно разработать приложение для профессиональной обработки и поиска документов.
    • Большие объемы трафика сети. Существующие HTML -документы, используемые как приложения, перегружают Интернет большими объемами трафика в системах клиент-сервер. Примером может служить пересылка по сети большого по объему документа, в то время как необходима только небольшая часть этого документа.

    Таким образом, с одной стороны, язык HTML является очень удобным средством разметки документов для использования в веб, а с другой — документ, размеченный в HTML , имеет мало информации о своем содержании. Если тот или иной документ несет достаточно полную информацию о своем содержании, появляется возможность сравнительно легко провести автоматическую обобщенную обработку и поиск в файле, хранящем документ. Язык SGML позволяет сохранять информацию о содержании документа, однако вследствие особой сложности он никогда не использовался так широко, как HTML .

    Группа экспертов по языку SGML , возглавляемая Джоном Боузэком ( Jon Bosak ) из компании Sun Microsystems , приступила к работе по созданию подмножества языка SGML , которое могло бы быть принято Web -сообществом. Решено было удалить многие несущественные возможности SGML . Перестроенный таким образом язык назвали XML . Упрощенный вариант оказался значительно более доступным, чем оригинал, его спецификации занимали всего 26 страниц по сравнению с более чем 500 страницами спецификаций SGML .

    Рассмотрим более детально структуру и особенности этого языка.

    XML ( eXtensible Markup Language ) — рекомендованный W3C язык разметки . XML — текстовый формат , предназначенный для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе специализированных языков разметки. XML является упрощённым подмножеством языка SGML .

    Язык XML имеет следующие достоинства:

    • Это человеко-ориентированный формат документа, он понятен как человеку, так и компьютеру.
    • Поддерживает Юникод.
    • В формате XML могут быть описаны основные структуры данных — такие как записи, списки и деревья.
    • Это самодокументируемый формат, который описывает структуру и имена полей также как и значения полей.
    • Имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться простым, эффективным и непротиворечивым.
    • Широко используется для хранения и обработки документов;
    • Это формат, основанный на международных стандартах;
    • Иерархическая структура XML подходит для описания практически любых типов документов;
    • Представляет собой простой текст, свободный от лицензирования и каких-либо ограничений;
    • Не зависит от платформы;
    • Является подмножеством SGML , для которого накоплен большой опыт работы и созданы специализированные приложения;

    К известным недостаткам языка можно отнести следующие:

    • Синтаксис XML избыточен.
      • Размер XML документа существенно больше бинарного представления тех же данных (порядка 10 раз).
      • Размер XML документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON , YAML ) и особенно в форматах данных, оптимизированных для конкретного случая использования.
      • Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
      • Для большого количества задач не нужна вся мощь синтаксиса XML , и можно использовать значительно более простые и производительные решения.

      Вообще говоря, XML можно рассматривать не только как новый язык разметки , но и как основу для целого семейства технологий:

      Таблица 9.1. Структура семейства XML
      XML Технические рекомендации об использовании XML
      DTD Определение типа документа (схема)
      XDR Формат XML Reduced (схема Microsoft )
      XSD Определение схемы XML (схемы W3C )
      Пространство имен Метод определения имен элементов и атрибутов
      XPath Язык путей XML
      XLink Язык ссылок XML
      XPointer Язык указателей XML
      DOM API для объектной модели документа
      SAX Простой API для XML
      XSL Расширяемый язык таблиц стилей
      XSL -FO Объекты форматирования XSL
      XSLT Язык преобразований XSL
      XInclude Синтаксис XML Include
      XBase Синтаксис XML Base URI

      По-сути, XML служит метаязыком для описания структуры других языков. Взаимосвязь между SGML, XML, HTML и некоторыми другими языками показана на следующей диаграмме:

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

      Документ XML считается правильно построенным, если он соответствует всем синтаксическим правилам XML .

      Проверка действительности документа предполагает выполнение следующих действий:

      • Проверка использования только заданного набора дескрипторов.
      • Проверка полного соответствия порядка следования элементов и атрибутов содержанию документа или определенным правилам.
      • Контроль типов данных (достигается при использовании соответствующей схемы).
      • Контроль целостности данных для обеспечения оптимального обмена информацией через Веб с помощью транзакций.

      Рассмотрим теперь основные синтаксические правила построения XML документов.

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

        XML документ имеет следующую структуру :

        • Первая строка XML документа называется объявлением XML . Это необязательная строка, указывающая версию стандарта XML (обычно это 1.0). Также здесь может быть указана кодировка символов и внешние зависимости.
        • Комментарий может быть размещен в любом месте дерева. XML комментарии размещаются внутри пары тегов . Два знака дефис (—) не могут быть применены ни в какой части внутри комментария.
        • Остальная часть этого XML -документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое.
        • Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы.
        • Открывающий тег состоит из имени элемента в угловых скобках;
        • Закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта.
        • Содержимым элемента называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы.
        • Кроме содержания у элемента могут быть атрибуты — пары имя=значение, добавляемые внутрь открывающего тега после названия элемента.
        • Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе.
        • Не рекомендуется использовать разные типы кавычек для значений атрибутов одного тега.
        • Для обозначения элемента без содержания, называемого пустым элементом, необходимо применять особую форму записи, состоящую из одного тега, в котором после имени элемента ставится косая черта «/».

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

        Схема четко определяет имя и структуру корневого элемента, включая спецификацию всех его дочерних элементов. Программист может задать, какие элементы и в каком количестве обязательны, а какие — необязательны. Схема также определяет, какие элементы содержат атрибуты, допустимые значения этих атрибутов, в т.ч. значения по умолчанию.

        Чаще всего для описания схемы используются следующие спецификации:

        • DTD ( Document Type Definition ) — язык определения типа документов .
        • XDR (XML Data Reduced ) — диалект XML , разработанный Microsoft .
        • XSD (язык определения схем XML) — рекомендована консорциумом W3C .

        XML документ отличается от HTML документа также и тем, как он отображается в веб-браузере. Без использования CSS или XSL XML -документ отображается как простой текст в большинстве веб-браузеров. Некоторые веб-браузеры, такие как Internet Explorer и Mozilla Firefox отображают структуру документа в виде дерева, позволяя сворачивать и разворачивать узлы с помощью нажатий клавиши мыши.

        Наиболее распространены три способа преобразования XML -документа в отображаемый пользователю вид:

        • Применение стилей CSS .
        • Применение преобразования XSLT .
        • Написание на каком-либо языке программирования обработчика XML -документа.

        Языки описания cхем XML

        Идея создания собственных тэгов, имеющих специальное значение и помогающих описать содержание документа, сама по себе просто замечательна. Но если каждый пользователь может создавать свои собственные описания, каким образом их распознавать? С этой целью в спецификации XML для описания подобных «самодеятельных» тэгов используются схемы. Они необходимы для того, чтобы:

        • описать, что именно является разметкой;
        • описать точно, что означает разметка.

        Наиболее известными языками описания схем являются следующие:

        IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

        Расширяемый язык разметки XML. Синтаксис XML. Структура XML документа. Применение XML

        Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Сегодня решил открыть рубрику Заметки о XML и XLST. В которой постараюсь на пальцах объяснить, что такое язык разметки XML. Рассказать о том, что такое XML схемы, подробно остановиться на вопросе применения языка XML. Собственно про сам расширяемый язык разметки можно рассказать в одной или двух статья, все будет зависит от того на сколько объемной получится статья, собственно в это статье я собираюсь поговорить о синтаксисе XML, о представление данных в языке разметки XML, о грамматике, семантике и синтаксисе XML элементов. Так же мы поговорим, о XML тегах и применение XML. Где, зачем и как можно применять XML.

        Что такое XML. Дифирамбы расширяемому языку разметки.

        XML — это язык, язык разметки, если HTML является языком разметки гипертекста, то XML является языком, который позволяет представлять какие-либо структурированные данные. В то время как HTML позволяет нам представлять структуру документа, какие-либо элементы, строки, блоки и прочее. XML позволяет нам создать структуру, в которой достаточно удобно хранить данные.

        У всех языков разметки есть один, но очень большой недостаток. Все тот же HTML позволяет нам представлять веб страницы или HTML-документы и все эту красоту мы можем наблюдать в наших браузерах, но не факт, что в каких-то других клиентах или программах или для каких-то других целей HTML будет удобен. В XML таких недочетов нет. Не случайно он называется расширяемым, буковка X — eXtensible, что переводится как расширяемый.

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

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

        XML документ. Структура XML документа. Что может содержать XML документ.

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

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

        И так в реферате по географии были данные, о том, что Земля круглая и она вертится, биография Галилео Галилея — это все данные. У моего реферата по географии была структура, то есть введение, в котором я рассказал, про что мой реферат и с какой целью я его пишу(естественно, что цель у меня была сугубо корыстная, получить трояк, что бы двойки за четверть не было, но во введение я ее не написал), было заключение, в котором я подвел итоги проделанной работе(нервным ночным копипастам из википедии и с сайтов рефератов и дз), так же для удобства я разбил реферат на несколько логических частей: Биография Галилео Галилея, Планета Земля, Планета Земля как объект Солнечной системы. Все это является структурой моего реферата, так же и в XML мы можем создавать структуру XML документа самостоятельно. Обычно у XML документа древовидная структура, ее можно сравнить с договорами, ну например с договором ипотеке, пункт 1, подпункт 1.1 далее подподпункт 1.1.1, кто оформлял знает, вообщем-то это бюрократическая структура. Все это можно назвать вложенностью или деревом или древовидной структурой, вот примерно такая структура у XML документа.

        Уровень представления XML или представление XML документа. Ну это все очень просто, уровень представления это то как вы видите документ, на экране монитора, в браузере, на принтере и так далее, вернемся к моему реферату, оформляя его я выделял жирным заголовки, сделал их 16 размером шрифта, а так же сделал их курсивными, отступ слева я сделал 20 мм, справа, снизу и сверху по 5 мм. Для текста в реферате я задал шрифт Times New Roman, размером 14, без дополнительных стилей, межстрочный интервал был 1.5, все это можно назвать представлением документа, который можно видеть, как на экране в Ворде, так и после того как я отправил свой реферат по географии на печать. У XML так же имеется представление документа.

        Но у XML есть очень важное отличие от других языков разметки, опять же HTML — это язык описания обычной страничке, где будут расположены элементы, как они будут расположены, размеры этих элементов и прочее. А вот в XML нет уровня представления, при помощи XML можно описать только данные и отношения. Наш ботаник с первой парты, любимчик Надежды Петровны(учитель математике), обязательно спросил бы — Как это можно понять? Или в каком виде XML представляет данные? Ответ на этот вопрос прост — XML ни в каком виде не представляет данные, пока вы этого не захотите и причем документ будет выглядеть так, как этого хотите именно вы, но стандартно в XML этого нет.

        Или такой вопрос, как XML документ будет выглядеть на экране браузера? Ответ — XML документ никак не будет выглядеть на экране браузера. Просто на экран браузера напечатается сам XML документ. XML очень абстрактный язык, при помощи которого можно сделать свой документ и делать с ним все, что душе угодно.

        XML теги и XML элементы.

        Поскольку XML разрабатывал w3.org, он, как и язык разметки гипертекста HTML, описывает документ при помощи тегов. Тег это слово, которое обрамлено треугольными скобками, вот так — данная конструкция является тегом, теги в XML бывают двух видов, открывающий тег и закрывающий тег, как и в языке HTML, но в HTML есть одиночные теги, а в XML одиночных тегов нет. То есть в XML есть открывающий тег Содержание элемента, которое пишется между тегами . Так же у XML есть закрывающий тег , а между открывающим и закрывающим тегами пишется содержание или контент или значение. В HTML есть одиночные теги, в XML по определению одиночных тегов нет.

        Что бы не было путаницы, я опять же уточню, тег это метка написанная в текстовом редакторе(например, в Notepad++), а элемент это, то что в итоге нам выведется, то есть содержание плюс метка является XML элементом или HTML элементом, в случае если вы открыли HTML-документ. Если в HTML элементы могут быть блочными и строчными, то в XML элементы не делятся никак, просто XML элемент. И понятно, что все эти элементы могут быть вложенными друг в друга:

        XML Введение

        На этой странице

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

        Много языков базируются на XML; Некоторые примеры: XHTML, MathML, SVG, XUL, XBL, RSS, и RDF. Вы можете создать свой.

        «Корректный» XML (правильно сформированный)

        Правила оформления

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

        Правильное оформление документа.

        Соблюдаться все синтаксические правила XML.

        Документ должен соответствовать семантическим правилам языка (которые обычно заданны в схеме XML или DTD (англ. Document Type Definition)).

        Пример

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

        Давайте посмотрим на корректную версию этого документа:

        Документ содержащий неопределенный тег является не корректным. Например, если мы не определили тег , документ не корректен.

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

        Сущности

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

        Сущность Символ Описание
        > Знак больше (одна из угловых скобок)
        & & Амперсанд
        « « Двойная кавычка
        Одинарная кавычка (апостроф)

        Не смотря на то, что по умолчанию создано всего пять сущностей, вы можете добавить в документ свои сущности используя Document Type Definition. Например, создать новую &warning; сущность, можно так:

        Также вы можете использовать нумерические ссылки для специфический специальных символов. Например, © — это символ «©».

        Отображение XML

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

        Один из методов отображения XML — указать CSS (чтобы использовать в документе нужно прописать инструкцию xml-stylesheet , как показано в примере ниже).

        Есть также много других мощных методов отображения XML, например, XSLT(англ. Extensible Stylesheet Language Transformations), который может использоваться для преобразование XML в другие языки такие, как HTML. Это делает XML очень универсальным.

        Рекомендации

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

        Изчайте HTML (англ. HyperText Markup Language), знание HTML поможет вам лучше понять XML.

        Смотрите также

        Статья Using XML — отличный ресурс с большим количеством информации о саздании своего языка на основе XML.

        чЧЕДЕОЙЕ Ч XML

        Doug Tidwell

        07 БЧЗХУФБ 2002

        уПДЕТЦБОЙЕ

        XML, Extensible Markup Language (тБУЫЙТСЕНЩК сЪЩЛ тБЪНЕФЛЙ), РТЕЧТБФЙМУС ЪБ ТЕЛПТДОПЕ ЧТЕНС ЙЪ НПДОПЗП УМПЧЕЮЛБ Ч ОЕПФЯЕНМЕНХА ФЕИОПМПЗЙА ЬМЕЛФТПООПЗП ВЙЪОЕУБ. ч ЬФПН ЪБОПЧП РЕТЕУНПФТЕООПН ХЮЕВОЙЛЕ ПВУХЦДБЕФУС, ЮФП ФБЛПЕ XML, РПЮЕНХ ПО ВЩМ УПЪДБО, Й ЛБЛ ПО ЖПТНЙТХЕФ ЬМЕЛФТПООХА ЛПННЕТГЙА. ъДЕУШ ФБЛЦЕ ТБУУНБФТЙЧБАФУС ТБЪОЩЕ РТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML Й УФБОДБТФЩ, Й ЪБЛБОЮЙЧБЕФУС ХЮЕВОЙЛ ДЧХНС РТБЛФЙЮЕУЛЙНЙ РТЙНЕТБНЙ, РПЛБЪЩЧБАЭЙНЙ, ЛБЛ ЛПНРБОЙЙ ЙУРПМШЪХАФ XML ДМС ТЕЫЕОЙС ЪБДБЮ ВЙЪОЕУБ.

        тБЪДЕМ 1. пВ ЬФПН ХЮЕВОЙЛЕ

        оХЦЕО МЙ НОЕ ЬФПФ ХЮЕВОЙЛ?

        ьФПФ ЪБОПЧП РЕТЕУНПФТЕООЩК ХЮЕВОЙЛ ПВУХЦДБЕФ, ЮФП ФБЛПЕ XML, РПЮЕНХ ПО ВЩМ УПЪДБО, Й ЛБЛ ПО ЖПТНЙТХЕФ ЬМЕЛФТПООХА ЛПННЕТГЙА. оБ ЬФПН РХФЙ ПО ФБЛЦЕ ТБУУНБФТЙЧБЕФ ОЕУЛПМШЛП УФБОДБТФПЧ Й РТПЗТБННОЩИ ЙОФЕТЖЕКУПЧ XML, РПЛБЪЩЧБЕФ, ЛБЛ ЧЩ НПЦЕФЕ ОБЮБФШ ТБВПФБФШ У ЬФПК ФЕИОПМПЗЙЕК, Й ПРЙУЩЧБЕФ, ЛБЛ ДЧЕ ЛПНРБОЙЙ НПЗХФ РПУФТПЙФШ ТЕЫЕОЙС ОБ ПУОПЧЕ XML, ЮФПВЩ ХРТПУФЙФШ Й НПДЕТОЙЪЙТПЧБФШ УЧПЙ РТЕДРТЙСФЙС.

        ч ЬФПН ХЮЕВОЙЛЕ ЧЩ ЙЪХЮЙФЕ:

        • рПЮЕНХ XML ВЩМ УПЪДБО
        • рТБЧЙМБ ДМС XML-ДПЛХНЕОФПЧ
        • лБЛ ПРТЕДЕМЙФШ, ЮФП XML-ДПЛХНЕОФ НПЦЕФ Й ОЕ НПЦЕФ УПДЕТЦБФШ
        • рТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ, ЛПФПТЩЕ ТБВПФБАФ У XML-ДПЛХНЕОФБНЙ
        • лБЛПЧЩ ЗМБЧОЩЕ УФБОДБТФЩ XML Й ЛБЛ ПОЙ ТБВПФБАФ ЧНЕУФЕ
        • лБЛ ЛПНРБОЙЙ Ч ТЕБМШОПН НЙТЕ ЙУРПМШЪХАФ XML

        тБЪДЕМ 2. юФП ФБЛПЕ XML?

        чЧЕДЕОЙЕ

        XML ЙМЙ Extensible Markup Language (тБУЫЙТСЕНЩК сЪЩЛ тБЪНЕФЛЙ), СЧМСЕФУС СЪЩЛПН ТБЪНЕФЛЙ, ЛПФПТЩК ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ДМС УПЪДБОЙС ЧБЫЙИ УПВУФЧЕООЩИ ФЕЗПЧ. пО ВЩМ УПЪДБО Ч World Wide Web Consortium (W3C) ДМС РТЕПДПМЕОЙС ПЗТБОЙЮЕОЙК СЪЩЛБ HTML, Hypertext Markup Language (зЙРЕТФЕЛУФПЧЩК сЪЩЛ тБЪНЕФЛЙ), ЛПФПТЩК СЧМСЕФУС ПУОПЧПК ЧУЕИ Web-УФТБОЙГ. лБЛ Й HTML, XML ВБЪЙТХЕФУС ОБ SGML — Standard Generalized Markup Language (уФБОДБТФОЩК пВПВЭЕООЩК сЪЩЛ тБЪНЕФЛЙ). иПФС SGML ДЕУСФЙМЕФЙСНЙ ЙУРПМШЪПЧБМУС Ч ЙЪДБФЕМШУЛПН ДЕМЕ, ПО РТЕДУФБЧМСЕФУС УМПЦОЩН, ЮФП ПФРХЗЙЧБЕФ НОПЗЙИ МАДЕК, ЛПФПТЩЕ НПЗМЙ ВЩ ЕЗП ЙУРПМШЪПЧБФШ (SGML ФБЛЦЕ ТБУЫЙЖТПЧЩЧБЕФУС ЛБЛ «Sounds great, maybe later» — «ъЧХЮЙФ ЧЕМЙЛПМЕРОП, НПЦЕФ ВЩФШ, РПЪЦЕ»). XML ВЩМ ТБЪТБВПФБО У РТЙГЕМПН ОБ Web.

        ъБЮЕН ОБН ОХЦЕО XML?

        HTML — ОБЙВПМЕЕ ХУРЕЫОЩК СЪЩЛ ТБЪНЕФЛЙ ЧУЕИ ЧТЕНЕО. чЩ НПЦЕФЕ РТПУНПФТЕФШ РТПУФЕКЫЙЕ ФЕЗЙ HTML РТБЛФЙЮЕУЛЙ ОБ МАВПН ХУФТПКУФЧЕ ПФ PDA ДП НЕКОЖТЕКНБ Й ЧЩ НПЦЕФЕ ДБЦЕ РТЕПВТБЪПЧБФШ ТБЪНЕФЛХ HTML Ч ЗПМПУ Й Ч ДТХЗЙЕ ЖПТНБФЩ РТЙ РПНПЭЙ УППФЧЕФУФЧХАЭЙИ ЙОУФТХНЕОФПЧ. рТЙ ФБЛПН ХУРЕИЕ HTML, РПЮЕНХ ЦЕ W3C УПЪДБМ XML? юФПВЩ ПФЧЕФЙФШ ОБ ЬФПФ ЧПРТПУ, ЧЪЗМСОЕН ОБ ФБЛПК ДПЛХНЕОФ:

        вЕДБ HTML УПУФПЙФ Ч ФПН, ЮФП ПО ВЩМ ТБЪТБВПФБО У РТЙГЕМПН ОБ ЮЕМПЧЕЛБ. дБЦЕ ОЕ РТПУНБФТЙЧБС РТЙЧЕДЕООЩК ЧЩЫЕ HTML-ДПЛХНЕОФ Ч ВТБХЪЕТЕ, ЧЩ Й С НПЦЕН РПОСФШ, ЮФП ЬФП ЮЕК-ФП РПЮФПЧЩК БДТЕУ. (ч ЮБУФОПУФЙ, ЬФП РПЮФПЧЩК БДТЕУ Ч уПЕДЙОЕООЩИ ыФБФБИ; ДБЦЕ ЕУМЙ ЧЩ ОЕЪОБЛПНЩ У ЛПНРПОЕОФБНЙ РПЮФПЧПЗП БДТЕУБ Ч уыб, ЧЩ, ЧПЪНПЦОП, ДПЗБДБЕФЕУШ, ЮФП ЪДЕУШ РТЕДУФБЧМЕОП.)

        лБЛ МАДЙ, ЧЩ Й С ЙНЕЕН ЙОФЕММЕЛФ, РПЪЧПМСАЭЙК ОБН РПОСФШ ЪОБЮЕОЙЕ Й ОБЪОБЮЕОЙЕ ВПМШЫЙОУФЧБ ДПЛХНЕОФПЧ. нБЫЙОБ, Л УПЦБМЕОЙА, УДЕМБФШ ЬФПЗП ОЕ НПЦЕФ. фЕЗЙ Ч ЬФПН ДПЛХНЕОФЕ ЗПЧПТСФ ВТБХЪЕТХ, ЛБЛ ПФПВТБЦБФШ ЙОЖПТНБГЙА, ОП ФЕЗЙ ОЕ ЗПЧПТСФ ВТБХЪЕТХ, ЮФП ЬФП ЪБ ЙОЖПТНБГЙС. чЩ Й С ЪОБЕН, ЮФП ЬФП БДТЕУ, ОП НБЫЙОБ — ОЕ ЪОБЕФ.

        пФПВТБЦЕОЙЕ HTML

        юФПВЩ ПФПВТБЪЙФШ HTML, ВТБХЪЕТ РТПУФП УМЕДХЕФ ЙОУФТХЛГЙСН Ч HTML-ДПЛХНЕОФЕ. фЕЗ РБТБЗТБЖБ (

        ) УППВЭБЕФ ВТБХЪЕТХ, ЮФП ОХЦОП ПФПВТБЪЙФШ ОПЧХА УФТПЛХ, ПВЩЮОП, У РТПРХУЛПН УФТПЛЙ РЕТЕД ОЕК, Б ДЧБ ФЕЗБ ТБЪТЩЧБ (
        ) УППВЭБАФ ВТБХЪЕТХ, ЮФП ОХЦОП РЕТЕКФЙ ОБ ОПЧХА УФТПЛХ ВЕЪ РТПРХУЛПЧ НЕЦДХ УФТПЛБНЙ. вТБХЪЕТ РТЕЛТБУОП ЖПТНБФЙТХЕФ ДПЛХНЕОФ, ОП НБЫЙОБ ЧУЕ ЦЕ ОЕ ЪОБЕФ, ЮФП ЬФП БДТЕУ.

        тЙУХОПЛ 1 бДТЕУ HTML

        пВТБВПФЛБ HTML

        юФПВЩ ЪБЧЕТЫЙФШ ПВУХЦДЕОЙЕ РТЙНЕТБ HTML-ДПЛХНЕОФБ, ТБУУНПФТЙН ЪБДБЮХ ЧЩДЕМЕОЙС ЙЪ БДТЕУБ РПЮФПЧПЗП ЛПДБ. чПФ БМЗПТЙФН (РТЙВМЙЪЙФЕМШОЩК) ОБИПЦДЕОЙС РПЮФПЧПЗП ЛПДБ Ч ТБЪНЕФЛЕ HTML:

        еУМЙ ЧЩ ОБЫМЙ РБТБЗТБЖ У ДЧХНС ФЕЗБНЙ
        , РПЮФПЧЩК ЛПД СЧМСЕФУС ЧФПТЩН УМПЧПН РПУМЕ РЕТЧПК ЪБРСФПК РПУМЕ ЧФПТПЗП ФЕЗБ ТБЪТЩЧБ.

        иПФС ЬФПФ БМЗПТЙФН Й ТБВПФБЕФ У ДБООЩН РТЙНЕТПН, ЕУФШ НОПЗП РТБЧЙМШОЩИ БДТЕУПЧ ЧП ЧУЕН НЙТЕ, У ЛПФПТЩНЙ ПО ТБВПФБФШ ОЕ ВХДЕФ. дБЦЕ ЕУМЙ ЧЩ УНПЦЕФЕ ОБРЙУБФШ БМЗПТЙФН, ЛПФПТЩК ВХДЕФ ОБИПДЙФШ РПЮФПЧЩК ЛПД ДМС МАВПЗП БДТЕУБ, ЪБРЙУБООПЗП Ч HTML, НПЦЕФ ВЩФШ УЛПМШЛП ХЗПДОП РБТБЗТБЖПЧ У ДЧХНС ФЕЗБНЙ ТБЪТЩЧБ, ЛПФПТЩЕ ОЕ УПДЕТЦБФ БДТЕУПЧ ЧППВЭЕ. оБРЙУБОЙЕ БМЗПТЙФНБ ЛПФПТЩК ЙЭЕФ Ч МАВПН РБТБЗТБЖЕ HTML Й ОБИПДЙФ Ч ОЕН МАВПК РПЮФПЧЩК ЛПД ДПМЦОП ВЩФШ ПЮЕОШ ФТХДОЩН, ЕУМЙ ОЕ ОЕЧПЪНПЦОЩН.

        рТЙНЕТ XML-ДПЛХНЕОФБ

        фЕРЕТШ ДБЧБКФЕ ТБУУНПФТЙН РТЙНЕТ XML-ДПЛХНЕОФБ. ч XML ЧЩ НПЦЕФЕ ОБЪОБЮЙФШ ОЕЛПФПТПЕ ЪОБЮЕОЙЕ ФЕЗБН Ч ДПЛХНЕОФЕ. юФП ЕЭЕ ВПМЕЕ ЧБЦОП, ЬФХ ЙОЖПТНБГЙА ФБЛЦЕ МЕЗЛП ПВТБВПФБФШ ДМС НБЫЙОЩ. чЩ НПЦЕФЕ ЧЩДЕМЙФШ РПЮФПЧЩК ЛПД ЙЪ ЬФПЗП ДПЛХНЕОФБ РТПУФП ОБКДС УПДЕТЦЙНПЕ, ПВТБНМЕООПЕ ФЕЗБНЙ

        фЕЗЙ, ЬМЕНЕОФЩ Й БФТЙВХФЩ

        еУФШ ФТЙ ПВЭЙИ ФЕТНЙОБ, ЙУРПМШЪХЕНЩИ ДМС ПРЙУБОЙС ЮБУФЕК XML-ДПЛХНЕОФБ: ФЕЗЙ , ЬМЕНЕОФЩ Й БФТЙВХФЩ . чПФ РТЙНЕТ ДПЛХНЕОФБ, ЙММАУФТЙТХАЭЕЗП ЬФЙ ФЕТНЙОЩ:

        • фЕЗ — ЬФП ФЕЛУФ НЕЦДХ МЕЧПК ХЗМПЧПК УЛПВЛПК ( ) Й РТБЧПК ХЗМПЧПК УЛПВЛПК ( > ). еУФШ ОБЮБМШОЩЕ ФЕЗЙ (ФБЛЙЕ, ЛБЛ ) Й ЛПОЕЮОЩЕ ФЕЗЙ (ФБЛЙЕ, ЛБЛ )
        • ьМЕНЕОФПН СЧМСЕФУС ОБЮБМШОЩК ФЕЗ, ЛПОЕЮОЩК ФЕЗ Й ЧУЕ, ЮФП ЕУФШ НЕЦДХ ОЙНЙ. ч РТЙНЕТЕ ЧЩЫЕ ЬМЕНЕОФ УПДЕТЦЙФ ДЧБ ДПЮЕТОЙИ ЬМЕНЕОФБ: , Й .
        • бФТЙВХФ — ЬФП РБТБ ЙНС-ЪОБЮЕОЙЕ ЧОХФТЙ ОБЮБМШОПЗП ФЕЗБ ЬМЕНЕОФБ. ч ДБООПН РТЙНЕТЕ state СЧМСЕФУС БФТЙВХФПН ЬМЕНЕОФБ ; Ч РТЕДЩДХЭЕН РТЙНЕТЕ ВЩМ ЬМЕНЕОФПН. (уН. рТЙНЕТ ДПЛХНЕОФБ XML ).

        лБЛ XML ЙЪНЕОСЕФ Web

        фЕРЕТШ, ЛПЗДБ ЧЩ ХЧЙДЕМЙ, ЛБЛ ТБЪТБВПФЮЙЛЙ НПЗХФ ЙУРПМШЪПЧБФШ XML, ЮФПВЩ УПЪДБЧБФШ ДПЛХНЕОФЩ У ДБООЩНЙ, ПРЙУЩЧБАЭЙНЙ УБНЙ УЕВС, ДБЧБКФЕ РПУНПФТЙН, ЛБЛ МАДЙ, ЙУРПМШЪХАФ ЬФЙ ДПЛХНЕОФЩ, ЮФПВЩ ХУПЧЕТЫЕОУФЧПЧБФШ Web. чПФ ОЕУЛПМШЛП ЛМАЮЕЧЩИ ОБРТБЧМЕОЙК:

        • XML ХРТПЭБЕФ ПВНЕО ДБООЩНЙ. рПУЛПМШЛХ ТБЪОЩЕ ПТЗБОЙЪБГЙЙ (ЙМЙ ДБЦЕ ТБЪОЩЕ ЮБУФЙ ПДОПК ПТЗБОЙЪБГЙЙ) ТЕДЛП ЙУРПМШЪХАФ ЕДЙОЩК УФБОДБТФЙЪЙТПЧБООЩК ОБВПТ ЙОУФТХНЕОФПЧ, ДМС РТЙМПЦЕОЙК УПЕДЙОЕОЙЕ НПЦЕФ ФТЕВПЧБФШ ОЕЛПФПТПЗП ПВЯЕНБ ТБВПФЩ. рТЙ ЙУРПМШЪПЧБОЙЙ XML ЛБЦДБС ЗТХРРБ УПЪДБЕФ УЧПА ХФЙМЙФХ, ЛПФПТБС РТЕПВТБЪХЕФ ЕЕ ЧОХФТЕООЙЕ ЖПТНБФЩ ДБООЩИ Ч XML Й ОБПВПТПФ. мХЮЫЕ ЧУЕЗП, ЕУМЙ РТПЙЪЧПДЙФЕМЙ РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС ХЦЕ ПВЕУРЕЮЙМЙ ЙОУФТХНЕОФЩ ДМС РТЕПВТБЪПЧБОЙС ЙЪ ЪБРЙУЕК ВБЪЩ ДБООЩИ (ЙМЙ ЛБФБМПЗПЧ LDAP, ЙМЙ ЪБЛБЪПЧ ОБ РПЛХРЛЙ Й Ф.Д.) Ч Й ЙЪ XML.
        • XML УПЪДБЕФ ЧПЪНПЦОПУФШ ЙЪСЭОПЗП ЛПДБ. рПУЛПМШЛХ XML-ДПЛХНЕОФЩ НПЗХФ ВЩФШ УФТХЛФХТЙТПЧБОЩ ДМС ЙДЕОФЙЖЙЛБГЙЙ ЛБЦДПК ЧБЦОПК ЮБУФЙ ЙОЖПТНБГЙЙ (Б ФБЛЦЕ Й ПФОПЫЕОЙК НЕЦДХ ЮБУФСНЙ), ЧПЪНПЦОП ОБРЙУБФШ ЛПД, ЛПФПТЩК НПЦЕФ ПВТБВБФЩЧБФШ ЬФЙ XML-ДПЛХНЕОФЩ ВЕЪ ХЮБУФЙС ЮЕМПЧЕЛБ. фП, ЮФП РТПЙЪЧПДЙФЕМЙ РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС ЧЛМБДЩЧБАФ ВПМШЫЙЕ ПВЯЕНЩ ЧТЕНЕОЙ Й ДЕОЕЗ Ч РПУФТПЕОЙЕ УТЕДУФЧ ТБЪТБВПФЛЙ XML, ПЪОБЮБЕФ, ЮФП ОБРЙУБОЙЕ ФБЛПЗП ЛПДБ — ПФОПУЙФЕМШОП РТПУФПК РТПГЕУУ.
        • XML УПЪДБЕФ ЧПЪНПЦОПУФШ «ХНОПЗП» РПЙУЛБ. иПФС РПЙУЛПЧЩЕ НБЫЙОЩ У ЗПДБНЙ ОЕХЛМПООП УПЧЕТЫЕОУФЧХАФУС, ЧУЕ ЕЭЕ ФТХДОП РПМХЮЙФШ ТЕЪХМШФБФЩ РПЙУЛБ ВЕЪ ПЫЙВПЛ. еУМЙ ЧЩ ЙЭЕФЕ УФТБОЙГЩ HTML ДМС ЮЕЗП-ФП, РПД ОБЪЧБОЙЕН » Chip «, ЧЩ НПЦЕФЕ ОБКФЙ УФТБОЙГЩ РТП ЫПЛПМБДОЩЕ РМЙФЛЙ (chocolate chips), ЛПНРШАФЕТОЩЕ ЮЙРЩ (computer chips), ДТЕЧЕУОП-УФТХЦЕЮОЩЕ РМЙФЩ (wood chips) Й НОПЗП ДТХЗЙИ ВЕУРПМЕЪОЩИ ПВТБЪГПЧ. рПЙУЛ XML-ДПЛХНЕОФПЧ РП ЬМЕНЕОФБН , ЛПФПТЩЕ УПДЕТЦБФ ФЕЛУФ Chip , ДБУФ ЧБН ЪОБЮЙФЕМШОП МХЮЫЙК ОБВПТ ТЕЪХМШФБФПЧ.

        нЩ ФБЛЦЕ ПВУХДЙН ТЕБМШОЩЕ РТЙНЕОЕОЙС XML Ч рТБЛФЙЮЕУЛЙЕ РТЙНЕТЩ .

        тБЪДЕМ 3. рТБЧЙМБ XML-ДПЛХНЕОФБ

        пВЪПТ: РТБЧЙМБ XML-ДПЛХНЕОФБ

        еУМЙ ЧЩ ТБУУНБФТЙЧБМЙ HTML-ДПЛХНЕОФЩ, ЧЩ ЪОБЛПНЩ У ВБЪПЧЩНЙ ЛПОГЕРГЙСНЙ ЙУРПМШЪПЧБОЙС ФЕЗПЧ ДМС ТБЪНЕФЛЙ ФЕЛУФБ ДПЛХНЕОФБ. ьФПФ ТБЪДЕМ ПВУХЦДБЕФ ТБЪМЙЮЙС НЕЦДХ HTML-ДПЛХНЕОФБНЙ Й XML-ДПЛХНЕОФБНЙ. ч ОЕН НЩ РТПИПДЙН РП ПУОПЧОЩН РТБЧЙМБН XML-ДПЛХНЕОФПЧ Й ПВУХЦДБЕН ФЕТНЙОПМПЗЙА, ЙУРПМШЪХЕНХА ДМС ЙИ ПРЙУБОЙС.

        пДОП ЧБЦОПЕ ЪБНЕЮБОЙЕ РП РПЧПДХ XML-ДПЛХНЕОФПЧ: уРЕГЙЖЙЛБГЙС XML ФТЕВХЕФ, ЮФПВЩ РБТУЕТ ВТБЛПЧБМ МАВПК XML-ДПЛХНЕОФ, ЛПФПТЩК ОЕ ЧЩДЕТЦЙЧБЕФ ПУОПЧОЩЕ РТБЧЙМБ. вПМШЫЙОУФЧП РБТУЕТПЧ HTML РТЙОЙНБЕФ ОЕВТЕЦОХА ТБЪНЕФЛХ, ДЕМБС РТЕДРПМПЦЕОЙС П ФПН, ЮФП БЧФПТ ДПЛХНЕОФБ ЙНЕМ Ч ЧЙДХ. юФПВЩ ПВПКФЙ РХФБОЙГХ, ЧПЪОЙЛБАЭХА ДМС РМПИП УФТХЛФХТЙТПЧБООЩИ HTML-ДПЛХНЕОФБИ, УПЪДБФЕМЙ XML У УБНПЗП ОБЮБМБ УДЕМБФШ УФТХЛФХТХ ДПЛХНЕОФБ ЪБЛПОПН.

        (лУФБФЙ, ЕУМЙ ЧЩ ОЕЪОБЛПНЩ У ЬФЙН, ФЕТНЙОПН РБТУЕТ — ЬФП ЮБУФШ ЛПДБ, ЛПФПТБС РЩФБЕФУС РТПЮЕУФШ ДПЛХНЕОФ Й ЙОФЕТРТЕФЙТПЧБФШ ЕЗП УПДЕТЦЙНПЕ.)

        оЕРТБЧЙМШОЩЕ, РТБЧЙМШОЩЕ, Й РТБЧЙМШОП-ЖПТНБФЙТПЧБООЩЕ ДПЛХНЕОФЩ

        еУФШ ФТЙ ЧЙДБ XML-ДПЛХНЕОФПЧ:

        • оЕРТБЧЙМШОЩЕ ДПЛХНЕОФЩ ОЕ УМЕДХАФ УЙОФБЛУЙЮЕУЛЙН РТБЧЙМБН, ПРТЕДЕМЕООЩН УРЕГЙЖЙЛБГЙЕА XML. еУМЙ ТБЪТБВПФЮЙЛ ПРТЕДЕМЙМ РТБЧЙМБ ДМС ДПЛХНЕОФБ, ЛПФПТЩЕ НПЗХФ УПДЕТЦБФШУС Ч DTD ЙМЙ Ч УИЕНЕ, Й ДПЛХНЕОФ ОЕ УМЕДХЕФ ЬФЙН РТБЧЙМБН, ФБЛПК ДПЛХНЕОФ ФБЛЦЕ СЧМСЕФУС ОЕРТБЧЙМШОЩН. ( уН. ЧЧЕДЕОЙЕ Ч DTD Й УИЕНЩ ДМС XML-ДПЛХНЕОФПЧ Ч пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ.)
        • рТБЧЙМШОЩЕ ДПЛХНЕОФЩ УМЕДХАФ УЙОФБЛУЙЮЕУЛЙН РТБЧЙМБН XML Й РТБЧЙМБН, ПРТЕДЕМЕООЩН Ч ЙИ DTD ЙМЙ Ч УИЕНЕ.
        • рТБЧЙМШОП-ЖПТНБФЙТПЧБООЩЕ ДПЛХНЕОФЩ УМЕДХАФ УЙОФБЛУЙЮЕУЛЙН РТБЧЙМБН XML, ОП ОЕ ЙНЕАФ DTD ЙМЙ Ч УИЕНЩ.

        лПТОЕЧПК ЬМЕНЕОФ

        дПЛХНЕОФ XML ДПМЦЕО УПДЕТЦБФШУС Ч ЕДЙОУФЧЕООПН ЬМЕНЕОФЕ. ьФПФ ЕДЙОУФЧЕООЩК ЬМЕНЕОФ ОБЪЩЧБЕФУС ЛПТОЕЧЩН ЬМЕНЕОФПН Й УПДЕТЦЙФ ЧЕУШ ФЕЛУФ Й МАВЩЕ ДТХЗЙЕ ЬМЕНЕОФЩ ДПЛХНЕОФБ. ч УМЕДХАЭЕН РТЙНЕТЕ XML-ДПЛХНЕОФ УПДЕТЦЙФ ЕДЙОУФЧЕООЩК ЬМЕНЕОФ, ЬМЕНЕОФ . ъБНЕФШФЕ, ЮФП ДПЛХНЕОФ УПДЕТЦЙФ ЛПННЕОФБТЙК ЧОЕ ЛПТОЕЧПЗП ЬМЕНЕОФБ, ЛПФПТЩК СЧМСЕФУС ЧРПМОЕ ДПРХУФЙНЩН.

        б ЧПФ ДПЛХНЕОФ, ЛПФПТЩК ОЕ УПДЕТЦЙФ ЕДЙОУФЧЕООПЗП ЛПТОЕЧПЗП ЬМЕНЕОФБ:

        пФ XML-РБТУЕТБ ФТЕВХЕФУС ЪБВТБЛПЧБФШ ЬФПФ ДПЛХНЕОФ ОЕЪБЧЙУЙНП ПФ ЕЗП УПДЕТЦБОЙС.

        ьМЕНЕОФЩ ОЕ НПЗХФ РЕТЕЛТЩЧБФШУС

        ьМЕНЕОФЩ XML ОЕ НПЗХФ РЕТЕЛТЩЧБФШ ДТХЗ ДТХЗБ. чПФ ОЕЛПФПТБС ТБЪНЕФЛБ, ЛПФПТБС ОЕ СЧМСЕФУС РТБЧЙМШОПК:

        еУМЙ ЧЩ ОБЮЙОБЕФЕ ЬМЕНЕОФ ЧОХФТЙ ЬМЕНЕОФБ , ЧЩ ДПМЦОЩ ЕЗП ФБН ЦЕ Й ЪБЛПОЮЙФШ. еУМЙ ЧЩ ИПФЙФЕ, ЮФПВЩ ФЕЛУФ XML РПСЧМСМУС Ч ОБЛМПООПН ЫТЙЖФЕ, ЧБН ОХЦОП ДПВБЧЙФШ Ч ТБЪНЕФЛХ ЧФПТПК ЬМЕНЕОФ : XML-РБТУЕТ ВХДЕФ РТЙОЙНБФШ ФПМШЛП ЬФХ ТБЪНЕФЛХ; HTML-РБТУЕТЩ Ч ВПМШЫЙОУФЧЕ Web-ВТБХЪЕТПЧ ВХДХФ РТЙОЙНБФШ ПВЕ.

        лПОЕЮОЩЕ ФЕЗЙ СЧМСАФУС ПВСЪБФЕМШОЩНЙ

        чЩ ОЕ НПЦЕФЕ ПРХУЛБФШ ЛБЛЙЕ-МЙВП ЪБЛТЩЧБАЭЙЕ ФЕЗЙ. ч РЕТЧПН РТЙНЕТЕ, РТЙЧЕДЕООПН ЧЩЫЕ, ТБЪНЕФЛБ ОЕРТБЧЙМШОБ РПФПНХ, ЮФП ОЕФ ЪБЛТЩЧБАЭЕЗП ФЕЗБ РБТБЗТБЖБ (

        ). иПФС ЬФП РТЙЕНМЕНП ДМС HTML (Й, Ч ОЕЛПФПТЩИ УМХЮБСИ, ДМС SGML), XML-РБТУЕТ ЬФП ЪБВТБЛХЕФ.

        еУМЙ ЬМЕНЕОФ ЧППВЭЕ ОЕ УПДЕТЦЙФ ТБЪНЕФЛЙ, ПО ОБЪЩЧБЕФУС РХУФЩН ЬМЕНЕОФПН; HTML-ЬМЕНЕОФЩ ТБЪТЩЧБ (
        ) Й ЙЪПВТБЦЕОЙС ( ) СЧМСАФУС РТЙНЕТБНЙ ЬФПЗП. ч РХУФПН ЬМЕНЕОФЕ XML-ДПЛХНЕОФБ ЧЩ НПЦЕФЕ РПНЕУФЙФШ ЪБЛТЩЧБАЭХА ЛПУХА ЮЕТФХ Ч ОБЮБМШОЩК ФЕЗ. уМЕДХАЭЙЕ ДЧБ ЬМЕНЕОФБ ТБЪТЩЧБ Й ДЧБ ЬМЕНЕОФБ ЙЪПВТБЦЕОЙС СЧМСАФУС ДМС XML-РБТУЕТБ ПДОЙН Й ФЕН ЦЕ:

        ьМЕНЕОФЩ ЮХЧУФЧЙФЕМШОЩ Л ТЕЗЙУФТХ

        ьМЕНЕОФЩ XML ЮХЧУФЧЙФЕМШОЩ Л ТЕЗЙУФТХ. ч HTML

        — ПДОП Й ФП ЦЕ; Ч XML — ОЕФ. еУМЙ ЧЩ РПРЩФБЕФЕУШ ЪБЛПОЮЙФШ ЬМЕНЕОФ

        ФЕЗПН

        бФТЙВХФЩ ДПМЦОЩ ЙНЕФШ ЪОБЮЕОЙС Ч ЛБЧЩЮЛБИ

        еУФШ ДЧБ РТБЧЙМБ ДМС БФТЙВХФПЧ Ч XML-ДПЛХНЕОФБИ:

        • бФТЙВХФЩ ДПМЦОЩ ЙНЕФШ ЪОБЮЕОЙС
        • ьФЙ ЪОБЮЕОЙС ДПМЦОЩ ВЩФШ ЪБЛМАЮЕОЩ Ч ЛБЧЩЮЛЙ

        уТБЧОЙФЕ ДЧБ РТЙНЕТБ ОЙЦЕ. тБЪНЕФЛБ ЧЧЕТИХ РТБЧЙМШОБ Ч HTML, ОП ОЕ Ч XML. юФПВЩ УДЕМБФШ ЕЕ ЬЛЧЙЧБМЕОФ Ч XML, ЧЩ ДПМЦОЩ ДБФШ БФТЙВХФХ ЪОБЮЕОЙЕ Й ЧЪСФШ ЕЗП Ч ЛБЧЩЮЛЙ.

        чЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ПДЙОБТОЩЕ ЙМЙ ДЧПКОЩЕ ЛБЧЩЮЛЙ, ОП ФПМШЛП УПЗМБУПЧБООП.

        еУМЙ ЪОБЮЕОЙЕ БФТЙВХФБ УПДЕТЦЙФ ПДЙОБТОЩЕ ЙМЙ ДЧПКОЩЕ ЛБЧЩЮЛЙ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ДТХЗПК ЧЙД ЛБЧЩЮЕЛ, ЮФПВЩ ЪБЛМАЮЙФШ ЪОБЮЕОЙЕ (ЛБЛ Ч name=»Doug’s car» ), ЙМЙ ЙУРПМШЪПЧБФШ УХЭОПУФЙ » ДМС ДЧПКОПК ЛБЧЩЮЛЙ Й ‘ ДМС ПДЙОБТОПК. уХЭОПУФШ — ЬФП УЙНЧПМ, ФБЛПК, ЛБЛ » , ЛПФПТЩК XML-РБТУЕТ ЪБНЕОСЕФ ОБ ДТХЗПК ФЕЛУФ, ФБЛПК, ЛБЛ » .

        пВЯСЧМЕОЙС XML

        вПМШЫЙОУФЧП XML-ДПЛХНЕОФПЧ ОБЮЙОБАФУС У XML-ПВЯСЧМЕОЙС , ЛПФПТПЕ ПВЕУРЕЮЙЧБЕФ ВБЪПЧХА ЙОЖПТНБГЙА П ДПЛХНЕОФЕ ДМС РБТУЕТБ. хРПФТЕВМЕОЙЕ XML-ПВЯСЧМЕОЙС ТЕЛПНЕОДХЕФУС, ОП ОЕ СЧМСЕФУС ПВСЪБФЕМШОЩН. еУМЙ ПОП ЕУФШ, ПОП ДПМЦОП ВЩФШ РЕТЧЩН, ЮФП ЕУФШ Ч ДПЛХНЕОФЕ.

        пВЯСЧМЕОЙЕ НПЦЕФ УПДЕТЦБФШ ДП ФТЕИ РБТ ЙНС-ЪОБЮЕОЙЕ (НОПЗЙЕ ОБЪЩЧБАФ ЙИ БФТЙВХФБНЙ, ИПФС ФЕИОЙЮЕУЛЙ ПОЙ ФБЛПЧЩНЙ ОЕ СЧМСАФУС). version — ЙУРПМШЪХЕНБС ЧЕТУЙС XML; Ч ОБУФПСЭЕЕ ЧТЕНС ПОБ ДПМЦОБ ВЩФШ 1.0 . encoding — ОБВПТ УЙНЧПМПЧ, ЙУРПМШЪХЕНЩК Ч ЬФПН ДПЛХНЕОФЕ. оБВПТ УЙНЧПМПЧ ISO-8859-1, ОБ ЛПФПТЩК УУЩМБЕФУС ДБООПЕ ПВЯСЧМЕОЙЕ, ЧЛМАЮБЕФ Ч УЕВС УЙНЧПМЩ, ЙУРПМШЪХЕНЩЕ Ч ВПМШЫЙОУФЧЕ ЪБРБДОПЕЧТПРЕКУЛЙИ СЪЩЛПЧ. еУМЙ encoding ОЕ ХЛБЪБО, XML-РБТУЕТ РТЕДРПМБЗБЕФ ОБВПТ UTF-8, УФБОДБТФ Unicode, ЛПФПТЩК РПДДЕТЦЙЧБЕФ РПЮФЙ ЧУЕ УЙНЧПМЩ Й ЙЕТПЗМЙЖЩ ЧУЕИ СЪЩЛПЧ НЙТБ.

        оБЛПОЕГ, standalone , ЛПФПТЩК НПЦЕФ ВЩФШ МЙВП yes , МЙВП no , ПРТЕДЕМСЕФ, НПЦЕФ МЙ ЬФПФ ДПЛХНЕОФ ВЩФШ ПВТБВПФБО ВЕЪ ЮФЕОЙС ЛБЛЙИ-МЙВП ДТХЗЙИ ЖБКМПЧ. оБРТЙНЕТ, ЕУМЙ XML-ДПЛХНЕОФ ОЕ УУЩМБЕФУС ОБ ДТХЗЙЕ ЖБКМЩ, ЧЩ ДПМЦОЩ ХЛБЪБФШ standalone=»yes» . еУМЙ ЦЕ XML-ДПЛХНЕОФ УУЩМБЕФУС ОБ ДТХЗЙЕ ЖБКМЩ, ЛПФПТЩК ПРЙУЩЧБАФ, ЮФП ДПЛХНЕОФ НПЦЕФ УПДЕТЦБФШ (ВПМШЫЕ ПВ ЬФЙИ ЖБКМБИ — ЮЕТЕЪ НЙОХФХ), ЧЩ ДПМЦОЩ ХЛБЪБФШ standalone=»no» . рПУЛПМШЛХ РП ХНПМЮБОЙА РТЕДРПМБЗБЕФУС standalone=»no» , ЧЩ ТЕДЛП ЧЙДЙФЕ standalone Ч XML-ПВЯСЧМЕОЙСИ.

        дТХЗЙЕ ЧЕЭЙ Ч XML-ДПЛХНЕОФБИ

        еУФШ ОЕУЛПМШЛП ДТХЗЙИ ЧЕЭЕК, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ОБКФЙ Ч XML-ДПЛХНЕОФЕ:

        • лПННЕОФБТЙЙ: лПННЕОФБТЙЙ НПЗХФ РПСЧМСФШУС ЗДЕ ХЗПДОП Ч ДПЛХНЕОФЕ; ПОЙ НПЗХФ ДБЦЕ РПСЧМСФШУС РЕТЕД ЛПТОЕЧЩН ЬМЕНЕОФПН. лПННЕОФБТЙК ОБЮЙОБЕФУС У Й ЪБЛБОЮЙЧБЕФУС . лПННЕОФБТЙК ОЕ НПЦЕФ УПДЕТЦБФШ ДЧПКОПЗП ДЕЖЙУБ ( — ) ОЙЗДЕ, ЛТПНЕ ЛБЛ Ч ЛПОГЕ; ЪБ ЬФЙН ЙУЛМАЮЕОЙЕН, ЛПННЕОФБТЙК НПЦЕФ УПДЕТЦБФШ ЮФП ХЗПДОП. уБНПЕ ЧБЦОПЕ, ЮФП МАВБС ТБЪНЕФЛБ ЧОХФТЙ ЛПННЕОФБТЙС ЙЗОПТЙТХЕФУС; ЕУМЙ ЧЩ ИПФЙФЕ ХДБМЙФШ ВПМШЫПК ТБЪДЕМ ЙЪ XML-ДПЛХНЕОФБ, РТПУФП ЪБЛМАЮЙФЕ ЬФПФ ТБЪДЕМ Ч ЛПННЕОФБТЙК. (юФПВЩ ЧПУУФБОПЧЙФШ ЪБЛПННЕОФЙТПЧБООЩК ТБЪДЕМ, РТПУФП ХДБМЙФЕ ФЕЗЙ ЛПННЕОФБТЙС.) чПФ ОЕЛПФПТБС ТБЪНЕФЛБ, УПДЕТЦБЭБС ЛПННЕОФБТЙК:
        • йОУФТХЛГЙЙ ПВТБВПФЛЙ: йОУФТХЛГЙС ПВТБВПФЛЙ СЧМСЕФУС ТБЪНЕФЛПК РТЕДОБЪОБЮЕООПК ДМС ПРТЕДЕМЕООПЗП ЛПДБ. ч РТЙНЕТЕ ЧЩЫЕ ЬФП ЙОУФТХЛГЙС ПВТБВПФЛЙ (ЙОПЗДБ ОБЪЩЧБЕНБС PI) ДМС Cocoon, ВЙВМЙПФЕЛЙ ПВТБВПФЛЙ XML ПФ Apache Software Foundation. лПЗДБ Cocoon ПВТБВБФЩЧБЕФ XML-ДПЛХНЕОФ, ПО ЙЭЕФ ЙОУФТХЛГЙЙ ПВТБВПФЛЙ ЛПФПТЩЕ ОБЮЙОБАФУС У cocoon-process, Б ЪБФЕН ПВТБВБФЩЧБЕФ XML-ДПЛХНЕОФ Ч УППФЧЕФУФЧЙЙ У ОЙНЙ. ч ДБООПН РТЙНЕТЕ БФТЙВХФ type=»sql» УППВЭБЕФ Cocoon, ЮФП the XML-ДПЛХНЕОФ УПДЕТЦЙФ ПРЕТБФПТ SQL.
        • уХЭОПУФЙ: рТЙЧЕДЕООЩК ЧЩЫЕ РТЙНЕТ ПРТЕДЕМСЕФ УХЭОПУФШ ДМС ДПЛХНЕОФБ. чЕЪДЕ, ЗДЕ XML-РТПГЕУУПТ ОБИПДЙФ УФТПЛХ &dw; , ПО ЪБНЕОСЕФ УХЭОПУФШ ОБ УФТПЛХ developerWorks . уРЕГЙЖЙЛБГЙС XML ФБЛЦЕ ПРТЕДЕМСЕФ РСФШ УХЭОПУФЕК, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ЧНЕУФП ТБЪМЙЮОЩИ УРЕГЙБМШОЩИ УЙНЧПМПЧ. ьФЙ УХЭОПУФЙ ФБЛЙЕ:
          • ДМС УЙНЧПМБ НЕОШЫЕ
          • > ДМС УЙНЧПМБ ВПМШЫЕ
          • » ДМС ДЧПКОПК ЛБЧЩЮЛЙ
          • ‘ ДМС ПДЙОБТОПК ЛБЧЩЮЛЙ (БРПУФТПЖБ)
          • & ДМС БНРЕТУБОДБ.

        рТПУФТБОУФЧБ ЙНЕО

        нПЭОПУФШ XML РТПЙУИПДЙФ ПФ ЕЗП ЗЙВЛПУФЙ, ЙЪ ФПЗП ЖБЛФБ, ЮФП ЧЩ Й С, Й НЙММЙПОЩ ДТХЗЙИ МАДЕК НПЦЕН ПРТЕДЕМСФШ ОБЫЙ УПВУФЧЕООЩЕ ФЕЗЙ, ЮФПВЩ ПРЙУЩЧБФШ ОБЫЙ ДБООЩЕ. рПНОЙФЕ РТЙНЕТ XML-ДПЛХНЕОФБ ДМС ЙНЕОЙ Й БДТЕУБ ЮЕМПЧЕЛБ? ьФПФ ДПЛХНЕОФ ЧЛМАЮБЕФ Ч УЕВС ЬМЕНЕОФ ДМС ЧЕЦМЙЧПЗП ЙНЕОПЧБОЙС ЮЕМПЧЕЛБ, ЧРПМОЕ РПДИПДСЭЙК ЧЩВПТ ДМС ЬМЕНЕОФБ ЙНЕОЙ. еУМЙ ЦЕ ЧЩ ТБВПФБЕФЕ У ПОМБКОПЧЩН ЛОЙЗПИТБОЙМЙЭЕН, ЧЩ НПЦЕФЕ УПЪДБФШ ЬМЕНЕОФ ДМС ОБЪЧБОЙС ЛОЙЗЙ. еУМЙ ЦЕ ЧЩ ТБВПФБЕФЕ У ПОМБКОПЧПК ЪБЛМБДОПК ЛПНРБОЙЕК, ЧЩ НПЦЕФЕ УПЪДБФШ ЬМЕНЕОФ ДМС ЮБУФЙ ЪБЛМБДОПЗП ДПЛХНЕОФБ. чУЕ ЬФП ТБЪХНОЩЕ ЧБТЙБОФЩ, ОП ЧУЕ ПОЙ УПЪДБАФ ЬМЕНЕОФЩ У ПДОЙН Й ФЕН ЦЕ ЙНЕОЕН. лБЛ ЧЩ УППВЭЙФЕ, ЮФП ДБООЩК ЬМЕНЕОФ ПФОПУЙФУС Л ЮЕМПЧЕЛХ, ЛОЙЗЕ ЙМЙ ЮБУФЙ ЪБЛМБДОПК? рТЙ РПНПЭЙ РТПУФТБОУФЧ ЙНЕО .

        юФПВЩ ЙУРПМШЪПЧБФШ РТПУФТБОУФЧП ЙНЕО, ЧЩ ПРТЕДЕМСЕФЕ РТЕЖЙЛУ РТПУФТБОУФЧБ ЙНЕО Й ПФПВТБЦБЕФЕ ЕЗП ОБ ПРТЕДЕМЕООХА УФТПЛХ. чПФ ФБЛ ЧЩ НПЦЕФЕ ТБЪМЙЮЙФШ РТЕЖЙЛУЩ РТПУФТБОУФЧБ ЙНЕО ДМС ОБЫЙИ ФТЕИ ЬМЕНЕОФПЧ :

        ч ЬФПН РТЙНЕТЕ ФТЙ РТЕЖЙЛУБ РТПУФТБОУФЧБ ЙНЕО: addr , books , Й mortgage . ъБНЕФШФЕ, ЮФП ПРТЕДЕМЕОЙЕ РТПУФТБОУФЧБ ЙНЕО ДМС ПРТЕДЕМЕООПЗП ЬМЕНЕОФБ ПЪОБЮБЕФ, ЮФП ЧУЕ ЕЗП ДПЮЕТОЙЕ ЬМЕНЕОФЩ РТЙОБДМЕЦБФ Л ФПНХ ЦЕ РТПУФТБОУФЧХ ЙНЕО. рЕТЧЩК ЬМЕНЕОФ РТЙОБДМЕЦЙФ Л РТПУФТБОУФЧХ ЙНЕО, РПУЛПМШЛХ Л ОЕНХ РТЙОБДМЕЦЙФ ЕЗП ТПДЙФЕМШУЛЙК ЬМЕНЕОФ, .

        пДОП РПУМЕДОЕЕ ЪБНЕЮБОЙЕ: уФТПЛБ Ч ПРТЕДЕМЕОЙЙ РТПУФТБОУФЧБ ЙНЕО СЧМСЕФУС ФПМШЛП УФТПЛПК. дБ, ЬФЙ УФТПЛЙ ЧЩЗМСДСФ ЛБЛ URL, ОП ЙНЙ ОЕ СЧМСАФУС. чЩ НПЦЕФЕ ПРТЕДЕМЙФШ xmlns:addr=»mike» , Й ЬФП ФБЛЦЕ ВХДЕФ ТБВПФБФШ. фПМШЛП ПДОП ЧБЦОП Ч ПФОПЫЕОЙЙ УФТПЛЙ РТПУФТБОУФЧБ ЙНЕО: ПОБ ДПМЦОБ ВЩФШ ХОЙЛБМШОПК; ЧПФ РПЮЕНХ ВПМШЫЙОУФЧП РТПУФТБОУФЧ ЙНЕО ЧЩЗМСДСФ ЛБЛ URL. XML-РБТУЕТ ОЕ ПВТБЭБЕФУС Л http://www.zyx.com/books/ , ЮФПВЩ ОБКФЙ DTD ЙМЙ УИЕНХ, ПО РТПУФП ЙУРПМШЪХЕФ ЬФПФ ФЕЛУФ ЛБЛ УФТПЛХ. ьФП ОЕУЛПМШЛП УВЙЧБЕФ У ФПМЛХ, ОП ЙНЕООП ФБЛ ТБВПФБАФ РТПУФТБОУФЧБ ЙНЕО.

        тБЪДЕМ 4. пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ

        пВЪПТ: пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ

        оЕДБЧОП Ч ЬФПН ХЮЕВОЙЛЕ ЧЩ ХЪОБМЙ П ВБЪПЧЩИ РТБЧЙМБИ XML-ДПЛХНЕОФПЧ; ЬФП ЧУЕ ИПТПЫП, ОП ЧБН ОХЦОП ПРТЕДЕМЙФШ ЬМЕНЕОФЩ, ЛПФПТЩЕ ЧЩ УПВЙТБЕФЕУШ ЙУРПМШЪПЧБФШ ДМС РТЕДУФБЧМЕОЙС ДБООЩИ. чЩ ХЪОБЕФЕ П ДЧХИ УРПУПВБИ УДЕМБФШ ЬФП Ч ДБООПН ТБЪДЕМЕ.

        • пДОЙН НЕФПДПН СЧМСЕФУС ЙУРПМШЪПЧБОЙЕ Document Type Definition ЙМЙ DTD (пРТЕДЕМЕОЙЕ фЙРБ дПЛХНЕОФБ). DTD ПРТЕДЕМСЕФ ЬМЕНЕОФЩ, ЛПФПТЩЕ НПЗХФ РПСЧМСФШУС Ч XML-ДПЛХНЕОФЕ, РПТСДПЛ, Ч ЛПФПТПН ПОЙ НПЗХФ РПСЧМСФШУС, ЛБЛ ПОЙ НПЗХФ ВЩФШ ЧМПЦЕОЩ ДТХЗ Ч ДТХЗБ Й ДТХЗЙЕ ПУОПЧОЩЕ ДЕФБМЙ УФТХЛФХТЩ XML-ДПЛХНЕОФБ. DTD СЧМСАФУС ЮБУФША ЙУИПДОПК УРЕГЙЖЙЛБГЙЙ XML Й ПОЙ ПЮЕОШ РПИПЦЙ ОБ DTD Ч SGML.
        • дТХЗЙН НЕФПДПН СЧМСЕФУС ЙУРПМШЪПЧБОЙЕ XML Schema (УИЕНБ XML). уИЕНБ НПЦЕФ ПРТЕДЕМЙФШ ЧУЕ ФП Ч УФТХЛФХТЕ ДПЛХНЕОФБ, ЮФП ЧЩ НПЦЕФЕ РПНЕУФЙФШ Ч DTD, Й НПЦЕФ ФБЛЦЕ ПРТЕДЕМЙФШ ФЙРЩ ДБООЩИ Й ВПМЕЕ УМПЦОЩЕ РТБЧЙМБ, ЮЕН DTD. W3C ТБЪТБВПФБМБ УРЕГЙЖЙЛБГЙА XML Schema ЮЕТЕЪ РБТХ МЕФ РПУМЕ ЙУИПДОПК УРЕГЙЖЙЛБГЙЙ XML.

        DTD — пРТЕДЕМЕОЙЕ фЙРБ дПЛХНЕОФБ

        DTD РПЪЧПМСЕФ ЧБН ЪБДБФШ ПУОПЧОХА УФТХЛФХТХ XML-ДПЛХНЕОФБ. уМЕДХАЭБС РБТБ ТБЪДЕМПЧ ТБУУНБФТЙЧБЕФ ЖТБЗНЕОФЩ DTD. рТЕЦДЕ ЧУЕЗП, ЧПФ DTD, ЛПФПТПЕ ПРТЕДЕМСЕФ ПУОПЧОХА УФТХЛФХТХ РТЙНЕТБ ДПЛХНЕОФБ БДТЕУБ ЙЪ ТБЪДЕМБ юФП ФБЛПЕ XML ?:

        ьФП DTD ПРТЕДЕМСЕФ ЧУЕ ЬМЕНЕОФЩ, ЙУРПМШЪХЕНЩЕ Ч РТЙНЕТЕ ДПЛХНЕОФБ. пОП ПРТЕДЕМСЕФ ФТЙ ПУОПЧОЩЕ ЧЕЭЙ:

          ьМЕНЕОФ УПДЕТЦЙФ , , , Й

        . чУЕ ЬФЙ ЬМЕНЕОФЩ ДПМЦОЩ РТЙУХФУФЧПЧБФШ Й ЙНЕООП Ч ФБЛПН РПТСДЛЕ.

      • ьМЕНЕОФ УПДЕТЦЙФ ОЕПВСЪБФЕМШОЩК ЬМЕНЕОФ (ЪОБЛ ЧПРТПУБ ПЪОБЮБЕФ, ЮФП СЧМСЕФУС ОЕПВСЪБФЕМШОЩН), ЪБ ЛПФПТЩН УМЕДХЕФ ЬМЕНЕОФ Й ЬМЕНЕОФ .
      • чУЕ ДТХЗЙЕ ЬМЕНЕОФЩ УПДЕТЦБФ ФЕЛУФ. ( #PCDATA ПВПЪОБЮБЕФ ТБЪВЙТБЕНЩЕ УЙНЧПМШОЩЕ ДБООЩЕ; ЧЩ ОЕ НПЦЕФЕ ЧЛМАЮБФШ ДТХЗЙЕ ЬМЕНЕОФЩ Ч ЬФЙ ЬМЕНЕОФЩ.)

      иПФС DTD РТПУФПЕ, ПОП РТПСУОСЕФ, ЛБЛЙЕ ЛПНВЙОБГЙЙ ЬМЕНЕОФПЧ СЧМСАФУС ДПРХУФЙНЩНЙ. дПЛХНЕОФ БДТЕУБ, ЛПФПТЩК ЙНЕЕФ ЬМЕНЕОФ

      РЕТЕД ЬМЕНЕОФПН , ОЕ СЧМСЕФУС РТБЧЙМШОЩН, ЛБЛ Й ДПЛХНЕОФ, ЛПФПТЩК ОЕ ЙНЕЕФ ЬМЕНЕОФБ .

      фБЛЦЕ ЪБНЕФШФЕ, ЮФП УЙОФБЛУЙУ DTD ПФМЙЮБЕФУС ПФ ПВЩЮОПЗП УЙОФБЛУЙУБ XML. (дПЛХНЕОФЩ XML Schema, ОБПВПТПФ, УБНЙ СЧМСАФУС XML-ДПЛХНЕОФБНЙ, ЮФП ДБЕФ ОЕЛПФПТЩЕ ЙОФЕТЕУОЩЕ ТЕЪХМШФБФЩ.) оЕУНПФТС ОБ ЙОПК УЙОФБЛУЙУ DTD, ЧЩ НПЦЕФЕ РПНЕЭБФШ Ч УБНП DTD ПВЩЮОЩЕ ЛПННЕОФБТЙЙ.

      уЙНЧПМЩ Ч DTD

      ъБНЕЮБОЙЕ РП РПЧПДХ ЗЙВЛПУФЙ

      рТЕЦДЕ, ЮЕН ДЧЙЗБФШУС ДБМШЫЕ, УДЕМБЕН НБМЕОШЛПЕ ЪБНЕЮБОЙЕ П ТБЪТБВПФЛЙ ФЙРПЧ XML-ДПЛХНЕОФБ ДМС ПВЕУРЕЮЕОЙС ЗЙВЛПУФЙ. тБУУНПФТЙН РТЙНЕТ ФЙРБ ДПЛХНЕОФБ ЙНЕОЙ Й БДТЕУБ; С, РПОСФОП, РЙУБМ ЕЗП, ЙНЕС Ч ЧЙДХ РПЮФПЧЩЕ БДТЕУБ уыб. еУМЙ ЧБН ОХЦОП DTD ЙМЙ УИЕНБ, ЛПФПТЩЕ ПРТЕДЕМСАФ ДТХЗЙЕ ФЙРЩ БДТЕУПЧ, ЧЩ ДПМЦОЩ ВХДЕФЕ УДЕМБФШ ЙИ ЪОБЮЙФЕМШОП ВПМЕЕ УМПЦОЩНЙ. пВСЪБФЕМШОПУФШ ЬМЕНЕОФБ НПЦЕФ ЙНЕФШ УНЩУМ Ч бЧУФТБМЙЙ, ОП ОЕ Ч уПЕДЙОЕООПН лПТПМЕЧУФЧЕ. лБОБДУЛЙК БДТЕУ НПЦЕФ ВЩФШ ПВТБВПФБО DTD ЙЪ РТЙНЕТБ Ч пРТЕДЕМЕОЙЕ фЙРБ дПЛХНЕОФБ , ОП МХЮЫЕ ВХДЕФ ДПВБЧЙФШ ЬМЕНЕОФ

      . оБЛПОЕГ, ЧП НОПЗЙИ ЮБУФСИ УЧЕФБ ФБЛЙЕ ЛПОГЕРГЙЙ, ЛБЛ ЙНЕОПЧБОЙЕ, РЕТЧПЕ ЙНС Й РПУМЕДОЕЕ ЙНС ОЕ ЙНЕАФ УНЩУМБ.

      й РПУМЕДОЕЕ: еУМЙ ЧЩ УПВЙТБЕФЕУШ ПРТЕДЕМЙФШ УФТХЛФХТХ XML-ДПЛХНЕОФБ, ЧЩ ДПМЦОЩ РТЕДХУНПФТЕФШ Ч ЧБЫЕК DTD ЙМЙ УИЕНЕ УФПМШЛП ЦЕ, УЛПМШЛП ЧЩ РТЕДХУНБФТЙЧБЕФЕ, РТПЕЛФЙТХС УИЕНХ ВБЪЩ ДБООЩИ ЙМЙ УФТХЛФХТХ ДБООЩИ ДМС РТЙМПЦЕОЙС. юЕН ВПМШЫЕ ФТЕВПЧБОЙК ЧЩ РТЕДХУНПФТЙФЕ, ФЕН МЕЗЮЕ Й ДЕЫЕЧМЕ ВХДЕФ ДМС ЧБУ ТЕБМЙЪПЧБФШ ЙЪ РПФПН.

      пРТЕДЕМЕОЙЕ БФТЙВХФПЧ

      ьФПФ ЧЧПДОЩК ХЮЕВОЙЛ ОЕ УМЙЫЛПН ЧДБЕФУС Ч РПДТПВОПУФЙ П ФПН, ЛБЛ ТБВПФБАФ DTD, ОП ЕУФШ ЕЭЕ ПДОБ ПУОПЧОБС ФЕНБ, ЛПФПТХА НЩ ТБУУНБФТЙЧБЕН ЪДЕУШ: ПРТЕДЕМЕОЙЕ БФТЙВХФПЧ. чЩ НПЦЕФЕ ПРТЕДЕМЙФШ БФТЙВХФЩ ДМС ЬМЕНЕОФПЧ, РПСЧМСАЭЙИУС Ч ЧБЫЕН XML-ДПЛХНЕОФЕ. рТЙ РПНПЭЙ DTD ЧЩ НПЦЕФЕ ФБЛЦЕ:

      • пРТЕДЕМЙФШ, ЛБЛЙЕ БФТЙВХФЩ СЧМСАФУС ПВСЪБФЕМШОЩНЙ
      • пРТЕДЕМЙФШ ЪОБЮЕОЙЕ РП ХНПМЮБОЙА ДМС ДБООПЗП БФТЙВХФБ
      • рЕТЕЮЙУМЙФШ ДПРХУФЙНЩЕ ЪОБЮЕОЙС ДМС ДБООПЗП БФТЙВХФБ

      рТЕДРПМПЦЙН, ЧЩ ИПФЙФЕ ЙЪНЕОЙФШ DTD, ЮФПВЩ УДЕМБФШ state БФТЙВХФПН ЬМЕНЕОФБ . чПФ ЛБЛ ЬФП УДЕМБФШ:

      ъДЕУШ ЬМЕНЕОФ ПРТЕДЕМСЕФУС, ЛБЛ Й РТЕЦДЕ, ОП РЕТЕУНПФТЕООЩК РТЙНЕТ ФБЛЦЕ ЙУРПМШЪХЕФ ПВЯСЧМЕОЙЕ ATTLIST ДМС РЕТЕЮЙУМЕОЙС БФТЙВХФПЧ ЬМЕНЕОФБ. йНС city Ч УРЙУЛЕ БФТЙВХФПЧ УППВЭБЕФ РБТУЕТХ, ЮФП ЬФЙ БФТЙВХФЩ ПРТЕДЕМСАФУС ДМС ЬМЕНЕОФБ . йНС state СЧМСЕФУС ЙНЕОЕН БФТЙВХФБ, Б ЛМАЮЕЧЩЕ УМПЧБ CDATA Й #REQUIRED УППВЭБАФ РБТУЕТХ, ЮФП БФТЙВХФ state УПДЕТЦЙФ ФЕЛУФ Й СЧМСЕФУС ПВСЪБФЕМШОЩН (ЕУМЙ ПО ОЕ ПВСЪБФЕМШОЩК, ЬФП ПВЕУРЕЮЙФУС РТЙ РПНПЭЙ CDATA #IMPLIED ).

      юФПВЩ ПРТЕДЕМЙФШ НОПЗП БФТЙВХФПЧ ДМС ЬМЕНЕОФБ, ЪБРЙЫЙФЕ ATTLIST , РПДПВОЩК ФБЛПНХ:

      ьФПФ РТЙНЕТ ПРТЕДЕМСЕФ Й state , Й postal-code ЛБЛ БФТЙВХФЩ ЬМЕНЕОФБ .

      оБЛПОЕГ, DTD РПЪЧПМСАФ ЧБН ПРТЕДЕМСФШ ЪОБЮЕОЙС РП ХНПМЮБОЙА ДМС БФТЙВХФПЧ Й РЕТЕЮЙУМСФШ ЧУЕ ДПРХУФЙНЩЕ ЪОБЮЕОЙС ДМС БФТЙВХФБ:

      ьФПФ РТЙНЕТ РПЛБЪЩЧБЕФ, ЮФП РПДДЕТЦЙЧБАФУС ФПМШЛП БДТЕУБ ЙЪ ЫФБФПЧ бТЙЪПОБ (AZ), лБМЙЖПТОЙС (CA), оЕЧБДБ (NV), пТЕЗПО (OR), аФБ (UT) Й чБЫЙОЗФПО (WA), Ч ЫФБФ РП ХНПМЮБОЙА — лБМЙЖПТОЙС. фБЛЙН ПВТБЪПН, ЧЩ НПЦЕФЕ ПВЕУРЕЮЙФШ ЧЕУШНБ ПЗТБОЙЮЕООХА ЖПТНХ РТПЧЕТЛЙ ДБООЩИ. иПФС ЬФП Й РПМЕЪОБС ЖХОЛГЙС, ОП ЬФП МЙЫШ НБМПЕ РПДНОПЦЕУФЧП ФПЗП, ЮФП ЧЩ НПЦЕФЕ РТПДЕМБФШ РТЙ РПНПЭЙ УИЕН XML.

      уИЕНЩ XML

      уП УИЕНБНЙ XML ЧЩ ЙНЕЕФЕ ВПМШЫЕ ЧПЪНПЦОПУФЕК ДМС ПРТЕДЕМЕОЙС ФПЗП, ЛБЛ ЧЩЗМСДСФ РТБЧЙМШОЩЕ XML-ДПЛХНЕОФЩ. пОЙ ЙНЕАФ ОЕУЛПМШЛП РТЕЙНХЭЕУФЧ РП УТБЧОЕОЙА У DTD:

      • уИЕНЩ XML ЙУРПМШЪХАФ УЙОФБЛУЙУ XML. дТХЗЙНЙ УМПЧБНЙ, УИЕНБ XML СЧМСЕФУС XML-ДПЛХНЕОФПН. ьФП ПЪОБЮБЕФ, ЮФП ЧЩ НПЦЕФЕ ПВТБВБФЩЧБФШ УИЕНХ ФБЛ ЦЕ, ЛБЛ Й МАВПК ДТХЗПК ДПЛХНЕОФ. оБРТЙНЕТ, ЧЩ НПЦЕФЕ ОБРЙУБФШ ФБВМЙГХ УФЙМЕК XSLT, ЛПФПТБС РТЕПВТБЪХЕФ УИЕНХ XML Web-ЖПТНХ ЧНЕУФЕ У БЧФПНБФЙЮЕУЛПК ЗЕОЕТБГЙЕК ЛПДБ JavaScript, ЛПФПТЩК ВХДЕФ РТПЧЕТСФШ ДБООЩЕ РП НЕТЕ ЙИ ЧЧПДБ.
      • уИЕНЩ XML РПДДЕТЦЙЧБАФ ФЙРЩ ДБООЩИ. иПФС DTD ЧЩРПМОСЕФ РПДДЕТЦЛХ ФЙРПЧ ДБООЩИ, ПОП ТБУУНБФТЙЧБЕФ ЬФЙ ФЙРЩ ДБООЩИ ФПМШЛП У ФПЮЛЙ ЪТЕОЙС РХВМЙЛБГЙЙ. уИЕНЩ XML РПДДЕТЦЙЧБАФ ЧУЕ ЙУИПДОЩЕ ФЙРЩ ДБООЩИ DTD (ФБЛЙЕ, ЛБЛ ID Й УУЩМЛЙ ID). пОЙ ФБЛЦЕ РПДДЕТЦЙЧБАФ ГЕМЩЕ Й ЧЕЭЕУФЧЕООЩЕ ЮЙУМБ, ДБФЩ Й ЧТЕНЕОБ, УФТПЛЙ, URL Й ДТХЗЙЕ ФЙРЩ ДБООЩИ, РПМЕЪОЩЕ ДМС ПВТБВПФЛЙ Й РТПЧЕТЛЙ ДБООЩИ.
      • уИЕНЩ XML СЧМСАФУС ТБУЫЙТСЕНЩНЙ. лТПНЕ ФЙРПЧ ДБООЩИ, ПРТЕДЕМЕООЩИ Ч УРЕГЙЖЙЛБГЙЙ XML schema, ЧЩ НПЦЕФЕ ФБЛЦЕ УПЪДБЧБФШ УПВУФЧЕООЩЕ ФЙРЩ Й НПЦЕФЕ УПЪДБЧБФШ ФЙРЩ-ОБУМЕДОЙЛЙ ОБ ВБЪЕ ДТХЗЙИ ФЙРПЧ ДБООЩИ.
      • уИЕНЩ XML ЙНЕАФ ВПМЕЕ НПЭОЩЕ ЧЩТБЦЕОЙС. оБРТЙНЕТ, РТЙ РПНПЭЙ УИЕН XML ЧЩ НПЦЕФЕ ПРТЕДЕМЙФШ, ЮФП МАВПЕ ЪОБЮЕОЙЕ БФТЙВХФБ ОЕ НПЦЕФ ВЩФШ ДМЙООЕЕ ДЧХИ УЙНЧПМПЧ ЙМЙ ЮФП МАВПЕ ЪОБЮЕОЙЕ ЬМЕНЕОФБ

      ДПМЦОП УППФЧЕФУФЧПЧБФШ ТЕЗХМСТОПНХ ЧЩТБЦЕОЙА [0-9]<5>(-[0-9]<4>)? .

    оЙЮЕЗП ЙЪ ЬФПЗП ЧЩ ОЕ НПЦЕФЕ УДЕМБФШ РТЙ РПНПЭЙ DTD.

    рТЙНЕТ УИЕНЩ XML

    чПФ УИЕНБ XML, ЛПФПТБС УППФЧЕФУФЧХЕФ ЙУИПДОПНХ DTD ЙНЕОЙ Й БДТЕУБ. ч ОЕК ДПВБЧМЕОП ДЧБ ПЗТБОЙЮЕОЙС. ъОБЮЕОЙЕ ЬМЕНЕОФБ ДПМЦОП УПУФПСФШ ФПЮОП ЙЪ ДЧХИ УЙНЧПМПЧ, Б ЪОБЮЕОЙЕ ЬМЕНЕОФБ

    ДПМЦОП УППФЧЕФУФЧПЧБФШ ТЕЗХМСТОПНХ ЧЩТБЦЕОЙА [0-9]<5>(-[0-9]<4>)? . иПФС УИЕНБ ЪОБЮЙФЕМШОП ДМЙООЕЕ, ЮЕН DTD, ПОБ ЧЩТБЦБЕФ ВПМШЫЕ СУОПУФЙ Ч ФПН, ОБ ЮФП РПИПЦ РТБЧЙМШОЩК ДПЛХНЕОФ. чПФ ЬФБ УИЕНБ:

    пРТЕДЕМЕОЙЕ ЬМЕНЕОФПЧ Ч УИЕНБИ

    лБЛ Й ЧЕТУЙС У DTD, РТЙНЕТ УИЕНЩ XML ПРТЕДЕМСЕФ, ЮФП УПДЕТЦЙФ ЬМЕНЕОФЩ , , , Й

    Ч ФБЛПН РПТСДЛЕ. ъБНЕФШФЕ, ЮФП УИЕНБ ПРТЕДЕМСЕФ ОПЧЩК ФЙР ДБООЩИ РТЙ РПНПЭЙ ЬМЕНЕОФБ . вПМШЫЙОУФЧП ЬМЕНЕОФПЧ УПДЕТЦЙФ ФЕЛУФ, ЙИ ПРТЕДЕМЕОЙЕ РТПУФПЕ. чЩ ФПМШЛП ПВЯСЧМСЕФЕ ОПЧЩК ЬМЕНЕОФ Й ДБЕФЕ ЕНХ ФЙР ДБООЩИ xsd:string :

    пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ЬМЕНЕОФБ Ч УИЕНБИ

    рТЙНЕТ УИЕНЩ ПРТЕДЕМСЕФ ПЗТБОЙЮЕОЙС ДМС УПДЕТЦЙНПЗП ДЧХИ ЬМЕНЕОФПЧ: уПДЕТЦЙНПЕ ЬМЕНЕОФБ ДПМЦОП ЙНЕФШ ДМЙОХ Ч ДЧБ УЙНЧПМБ, Б УПДЕТЦЙНПЕ ЬМЕНЕОФБ

    ДПМЦОП УППФЧЕФУФЧПЧБФШ ТЕЗХМСТОПНХ ЧЩТБЦЕОЙА [0-9]<5>(-[0-9]<4>)? . чПФ ЛБЛ ЬФП УДЕМБОП:

    дМС ЬМЕНЕОФПЧ Й

    УИЕНБ ПРТЕДЕМСЕФ ОПЧЩЕ ФЙРЩ ДБООЩИ У ПЗТБОЙЮЕОЙСНЙ. ч РЕТЧПН УМХЮБЕ ЙУРПМШЪХЕФУС ЬМЕНЕОФ , Б ЧП ЧФПТПН — ЬМЕНЕОФ ДМС ПРТЕДЕМЕОЙС ТЕЗХМСТОПЗП ЧЩТБЦЕОЙС, ЛПФПТПНХ ЬФПФ ЬМЕНЕОФ ДПМЦЕО УППФЧЕФУФЧПЧБФШ.

    ьФП ЛТБФЛПЕ ЙЪМПЦЕОЙЕ МЙЫШ ЕДЧБ ЛБУБЕФУС РПЧЕТИОПУФЙ ФПЗП, ЮФП НПЗХФ ДЕМБФШ УИЕНЩ XML; ОБ ЬФХ ФЕНХ ОБРЙУБОЩ ГЕМЩЕ ЛОЙЗЙ. дМС ГЕМЕК ЬФПЗП ЧЧЕДЕОЙС ДПУФБФПЮОП УЛБЪБФШ, ЮФП УИЕНЩ XML СЧМСАФУС ПЮЕОШ НПЭОЩН Й ЗЙВЛЙН УРПУПВПН ПРЙУБОЙС ФПЗП, ЛБЛ ДПМЦЕО ЧЩЗМСДЕФШ РТБЧЙМШОЩК XML-ДПЛХНЕОФ.

    тБЪДЕМ 5. рТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML

    пВЪПТ: рТПЗТБННОЩЕ ЙОФЕТЖЕКУЩ XML

    ч ЬФПН ТБЪДЕМЕ ТБУУНБФТЙЧБЕФУС ТСД РТПЗТБННОЩИ ЙОФЕТЖЕКУПЧ ДМС XML. ьФЙ ЙОФЕТЖЕКУЩ ДБАФ ТБЪТБВПФЮЙЛБН ГЕМПУФОЩК ЙОФЕТЖЕКУ ДМС ТБВПФЩ У XML-ДПЛХНЕОФБНЙ. уХЭЕУФЧХЕФ НОПЗП ДПУФХРОЩИ API; Ч ЬФПН ТБЪДЕМЕ ТБУУНБФТЙЧБАФУС ЮЕФЩТЕ ЙЪ ОЙИ, ОБЙВПМЕЕ РПРХМСТОЩЕ Й ОБЙВПМЕЕ ЮБУФП ЙУРПМШЪХЕНЩЕ: пВЯЕЛФОБС нПДЕМШ дПЛХНЕОФБ (Document Object Model — DOM), рТПУФПК API ДМС XML (Simple API for XML — SAX), JDOM Й Java API ДМС тБЪВПТБ XML (Java API for XML Parsing — JAXP). (чЩ НПЦЕФЕ ОБКФЙ ЪОБЮЙФЕМШОП ВПМШЫЕ ЙОЖПТНБГЙЙ РП ЬФЙН API ЮЕТЕЪ УУЩМЛЙ Ч тЕУХТУЩ.)

    пВЯЕЛФОБС нПДЕМШ дПЛХНЕОФБ

    пВЯЕЛФОБС нПДЕМШ дПЛХНЕОФБ, ПВЩЮОП ОБЪЩЧБЕНБС DOM, ПРТЕДЕМСЕФ ОБВПТ ЙОФЕТЖЕКУПЧ ДМС ТБЪПВТБООПК ЧЕТУЙЙ XML-ДПЛХНЕОФБ. рБТУЕТ ЮЙФБЕФ ЧЕУШ ДПЛХНЕОФ Й УФТПЙФ ДЕТЕЧП Ч РБНСФЙ, ФБЛ ЮФП ЧБЫ ЛПД НПЦЕФ ЙУРПМШЪПЧБФШ ЙОФЕТЖЕКУЩ DOM ДМС НБОЙРХМЙТПЧБОЙС ДЕТЕЧПН. чЩ НПЦЕФЕ ДЧЙЗБФШУС РП ДЕТЕЧХ, ЮФПВЩ ХЧЙДЕФШ, ЮФП УПДЕТЦБМ ЙУИПДОЩК ДПЛХНЕОФ, ЧЩ НПЦЕФЕ ХДБМСФШ ЮБУФЙ ДЕТЕЧБ, ЧЩ НПЦЕФЕ РЕТЕХРПТСДПЮЙФШ ДЕТЕЧП, ДПВБЧМСФШ ОПЧЩЕ ЧЕФЧЙ Й Ф.Д. DOM ВЩМБ УПЪДБОБ W3C, Й ЬФП — пЖЙГЙБМШОБС тЕЛПНЕОДБГЙС ЛПОУПТГЙХНБ.

    рТПВМЕНЩ DOM

    DOM ПВЕУРЕЮЙЧБЕФ ВПЗБФЩК ОБВПТ ЖХОЛГЙК, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ДМС ЙОФЕТРТЕФБГЙЙ XML-ДПЛХНЕОФБ Й НБОЙРХМЙТПЧБОЙС ЙН, ОП ЪБ ЬФЙ ЖХОЛГЙЙ ОБДП РМБФЙФШ.

    лПЗДБ ВЩМБ ТБЪТБВПФБОБ ЙУИПДОБС DOM ДМС XML-ДПЛХНЕОФПЧ, НОПЗЙЕ МАДЙ Ч УРЙУЛЕ ТБУУЩМЛЙ XML-DEV ЧЩТБЪЙМЙ ВЕУРПЛПКУФЧП РП РПЧПДХ ЕЕ:

    • DOM УФТПЙФ Ч РБНСФЙ ДЕТЕЧП ЧУЕЗП ДПЛХНЕОФБ. еУМЙ ДПЛХНЕОФ ПЮЕОШ ВПМШЫПК, ЬФП ФТЕВХЕФ ЪОБЮЙФЕМШОПЗП ПВЯЕНБ РБНСФЙ.
    • DOM УПЪДБЕФ ПВЯЕЛФЩ, ЛПФПТЩЕ РТЕДУФБЧМСАФ ЧУЕ, ЮФП ЕУФШ Ч ЙУИПДОПН ДПЛХНЕОФЕ, ЧЛМАЮБС ЬМЕНЕОФЩ, ФЕЛУФ, БФТЙВХФЩ Й РТПРХУЛЙ. еУМЙ ЧБН ОХЦОП ЙНЕФШ ДЕМП ФПМШЛП У ОЕВПМШЫПК РПТГЙЕК ЙУИПДОПЗП ДПЛХНЕОФБ, ФП ЛТБКОЕ ТБУФПЮЙФЕМШОП УПЪДБЧБФШ ЧУЕ ЬФЙ ПВЯЕЛФЩ, ЛПФПТЩЕ ОЙЛПЗДБ ОЕ ВХДХФ ЙУРПМШЪПЧБОЩ.
    • рБТУЕТ DOM ДПМЦЕО РТПЮЙФБФШ ЧЕУШ ДПЛХНЕОФ РТЕЦДЕ, ЮЕН ЧБЫ ЛПД РПМХЮЙФ ХРТБЧМЕОЙЕ. дМС ПЮЕОШ ВПМШЫЙИ ДПЛХНЕОФПЧ ЬФП НПЦЕФ РТЙЧЕУФЙ Л ЪОБЮЙФЕМШОПК ЪБДЕТЦЛЕ.

    ьФП ФПМШЛП УРПТОЩЕ ЧПРТПУЩ, ЧПЪОЙЛЫЙЕ РТЙ РТПЕЛФЙТПЧБОЙЙ DOM; ОЕУНПФТС ОБ ЬФП, API DOM СЧМСЕФУС ПЮЕОШ ХДПВОЩН УРПУПВПН ДМС ТБЪВПТБ XML-ДПЛХНЕОФПЧ.

    Simple API for XML

    юФПВЩ ПВПКФЙ РТПВМЕНЩ DOM, ХЮБУФОЙЛЙ XML-DEV (ЧПЪЗМБЧМСЕНПК David Megginson) УПЪДБМЙ ЙОФЕТЖЕКУ SAX. SAX ЙНЕЕФ ОЕУЛПМШЛП ИБТБЛФЕТЙУФЙЛ, ОБРТБЧМЕООЩИ ОБ РТЕПДПМЕОЙЕ ОЕДПУФБФЛПЧ DOM:

    • рБТУЕТ SAX РПУЩМБЕФ Ч ЧБЫ ЛПД УПВЩФЙС. рБТУЕТ УППВЭБЕФ ЧБН, ЛПЗДБ ПО ОБИПДЙФ ОБЮБМП ЬМЕНЕОФБ, ЛПОЕГ ЬМЕНЕОФБ, ФЕЛУФ, ОБЮБМП Й ЛПОЕГ ДПЛХНЕОФБ Й Ф.Д. чЩ ТЕЫБЕФЕ, ЛБЛЙЕ УПВЩФЙС ЧБЦОЩ ДМС ЧБУ, ЧЩ ТЕЫБЕФЕ, ЛБЛПК ЧЙД УФТХЛФХТЩ ДБООЩИ ЧЩ ИПФЙФЕ УПЪДБФШ ДМС ИТБОЕОЙС ДБООЩИ ЙЪ ЬФЙИ УПВЩФЙК. еУМЙ ЧЩ СЧОЩН ПВТБЪПН ОЕ УПИТБОСЕФЕ ДБООЩЕ ЙЪ ЬФЙИ УПВЩФЙК, ПОЙ ФЕТСАФУС.
    • рБТУЕТ SAX ОЕ УПЪДБЕФ ОЙЛБЛЙИ ПВЯЕЛФПЧ ЧППВЭЕ, ПО РТПУФП ДПУФБЧМСЕФ УПВЩФЙС Ч ЧБЫЕ РТЙМПЦЕОЙЕ. еУМЙ ЧЩ ИПФЙФЕ УПЪДБЧБФШ ПВЯЕЛФЩ ОБ ПУОПЧЕ ЬФЙИ УПВЩФЙК — ЬФП ЧБЫЕ ДЕМП.
    • рБТУЕТ SAX ОБЮЙОБЕФ ДПУФБЧМСЕФ ЧБН УПВЩФЙС УТБЪХ ЦЕ РПУМЕ ОБЮБМБ УЧПЕК ТБВПФЩ. чБЫ ЛПД РПМХЮЙФШ УПВЩФЙЕ, ЛПЗДБ РБТУЕТ ОБКДЕФ ОБЮБМП ДПЛХНЕОФБ, ЛПЗДБ ПО ОБКДЕФ ОБЮБМП ЬМЕНЕОФБ, ЛПЗДБ ПО ОБКДЕФ ФЕЛУФ Й Ф.Д. чБЫЕ РТЙМПЦЕОЙЕ УТБЪХ ЦЕ ОБЮОЕФ ЗЕОЕТЙТПЧБФШ ТЕЪХМШФБФЩ Й ОЕ ВХДЕФ ДПМЦОП ПЦЙДБФШ, РПЛБ ВХДЕФ ТБЪПВТБО ЧЕУШ ДПЛХНЕОФ. дБЦЕ МХЮЫЕ, ЕУМЙ ЧЩ ЙЭЕФЕ ФПМШЛП ПРТЕДЕМЕООЩЕ ЧЕЭЙ Ч ДПЛХНЕОФЕ, ЧБЫ ЛПД НПЦЕФ УЗЕОЕТЙТПЧБФШ ЙУЛМАЮЕОЙЕ, ЕУМЙ ПО ОБЫЕМ ФП, ЮФП ЙУЛБМ. йУЛМАЮЕОЙЕ ПУФБОБЧМЙЧБЕФ РБТУЕТ SAX, Й ЧБЫ ЛПД НПЦЕФ ДЕМБФШ ФП, ЮФП ЕНХ ОХЦОП УДЕМБФШ У ОБКДЕООЩНЙ ДБООЩНЙ

    у ХЮЕФПН ЧУЕЗП УЛБЪБООПЗП, Й SAX, Й DOM ЙНЕАФ УЧПЕ НЕУФП. пУФБФПЛ ЬФПЗП ТБЪДЕМБ РПУЧСЭЕО ПВУХЦДЕОЙА ФПЗП, РПЮЕНХ ЧЩ НПЦЕФЕ ЪБИПФЕФШ ЙУРПМШЪПЧБФШ ФПФ ЙМЙ ЙОПК ЙОФЕТЖЕКУ.

    рТПВМЕНЩ SAX

    юФПВЩ ВЩФШ ЮЕУФОЩНЙ, РБТУЕТЩ SAX ФБЛЦЕ ЙНЕАФ РТПВМЕНЩ, ЛПФПТЩЕ НПЗХФ ЧЩЪЩЧБФШ ПРБУЕОЙС:

    • уПВЩФЙС SAX ОЕ УПИТБОСАФ УПУФПСОЙС. лПЗДБ РБТУЕТ SAX ОБИПДЙФ ФЕЛУФ Ч XML-ДПЛХНЕОФЕ, ПО РПУЩМБЕФ УПВЩФЙЕ Ч ЧБЫ ЛПД. ьФП УПВЩФЙЕ РТПУФП ДБЕФ ЧБН ОБКДЕООЩК ФЕЛУФ; ПОП ОЕ УППВЭБЕФ ЧБН, ЛБЛПК ЬМЕНЕОФ УПДЕТЦЙФ ЬФПФ ФЕЛУФ. еУМЙ ЧЩ ИПФЙФЕ ЪОБФШ ЬФП, ЧЩ ДПМЦОЩ ОБРЙУБФШ ЛПД, ХРТБЧМСАЭЙК УПУФПСОЙЕН, УБНЙ.
    • уПВЩФЙС SAX ОЕ УПИТБОСАФУС. еУМЙ ЧБЫЕНХ РТЙМПЦЕОЙА ОХЦОБ УФТХЛФХТБ ДБООЩИ, ЛПФПТБС НПДЕМЙТХЕФ XML-ДПЛХНЕОФ, ЧЩ ДПМЦОЩ ОБРЙУБФШ ЬФПФ ЛПД УБНЙ. еУМЙ ЧБН ОХЦОП ПВТБЭБФШУС Л ДБООЩН ЙЪ УПВЩФЙС SAX, Й ЧЩ ОЕ УПИТБОЙМЙ ДБООЩЕ Ч ЧБЫЕН ЛПДЕ, ЧЩ ДПМЦОЩ ТБЪПВТБФШ ДПЛХНЕОФ УОПЧБ.
    • SAX ОЕ ХРТБЧМСЕФУС ГЕОФТБМЙЪПЧБООПК ПТЗБОЙЪБГЙЕК. иПФС РПЛБ ЬФП ОЕ УПУФБЧЙМП РТПВМЕН, ОЕЛПФПТЩН ТБЪТБВПФЮЙЛБН РПЛБЪБМПУШ ВЩ ВПМЕЕ ЛПНЖПТФБВЕМШОЩН, ЕУМЙ ВЩ SAX ХРТБЧМСЕФУС ПТЗБОЙЪБГЙЕК, ФБЛПК ЛБЛ W3C.

    тБЪПЮБТПЧБООЩЕ ФТХДОПУФСНЙ Ч ЧЩРПМОЕОЙЙ ПРТЕДЕМЕООЩИ ЪБДБЮ РТЙ РПНПЭЙ НПДЕМЕК DOM Й SAX, Jason Hunter Й Brett McLaughlin УПЪДБМЙ РБЛЕФ JDOM. JDOM — РТПЕЛФ У ПФЛТЩФЩН ЛПДПН ОБ ПУОПЧЕ ФЕИОПМПЗЙЙ Java, Ч ЛПФПТЩК УФБТБЕФУС УМЕДПЧБФШ РТБЧЙМХ 80/20: ТБУРТЕДЕМЙФЕМШ, ЛПФПТЩК ОХЦЕО 80% РПМШЪПЧБФЕМЕК, Й 20% ЖХОЛГЙК DOM Й SAX. JDOM ТБВПФБЕФ У РБТУЕТБНЙ SAX Й DOM, ФБЛ ЮФП ПО ТЕБМЙЪПЧБО, ЛБЛ ПФОПУЙФЕМШОП ОЕВПМШЫПК ОБВПТ Java-ЛМБУУПЧ.

    зМБЧОЩН УЧПКУФЧПН JDOM СЧМСЕФУС ФП, ЮФП ПО ЪОБЮЙФЕМШОП ХНЕОШЫБЕФ ПВЯЕН ЛПДБ, ЛПФПТЩК ЧБН РТЙИПДЙФУС РЙУБФШ. иПФС ЬФПФ ЧЧПДОЩК ХЮЕВОЙЛ ОЕ ПВУХЦДБЕФ РТПЗТБННОЩЕ ФЕНЩ РПДТПВОП, РТЙМПЦЕОЙС JDOM ПВЩЮОП РП ТБЪНЕТХ Ч ФТЙ ТБЪБ НЕОШЫЕ, ЮЕН РТЙМПЦЕОЙС DOM Й РТЙНЕТОП ЧРПМПЧЙОХ НЕОШЫЕ, ЮЕН РТЙМПЦЕОЙС SAX. (уФПТПООЙЛЙ DOM, ЛПОЕЮОП, УЮЙФБАФ, ЮФП ЙЪХЮЕОЙЕ Й ЙУРПМШЪПЧБОЙЕ DOM СЧМСЕФУС ИПТПЫЙН Й ДЙУГЙРМЙОЙТХАЭЙН ДЕМПН, ЛПФПТПЕ ПЛХРБЕФ УЕВС УП ЧТЕНЕОЕН.) JDOM ОЕ ДЕМБЕФ ОЙЮЕЗП, ОП ДМС ВПМШЫЙОУФЧБ ТБЪВПТПЧ, ЛПФПТЩЕ ЧЩ ВХДЕФЕ ДЕМБФШ, ЬФП, ЧПЪНПЦОП, ФП, ЮФП ОХЦОП.

    Java API for XML Parsing

    иПФС DOM, SAX Й JDOM ПВЕУРЕЮЙЧБАФ УФБОДБТФОЩЕ ЙОФЕТЖЕКУЩ ДМС ОБЙВПМЕЕ ПВЭЙИ ЪБДБЮ, ЕУФШ ЧУЕ ЦЕ ОЕУЛПМШЛП ЧЕЭЕК, ОБ ЛПФПТЩЕ ПОЙ ОЕ ТБУУЮЙФБОЩ. оБРТЙНЕТ, РТПГЕУУ УПЪДБОЙС ПВЯЕЛФБ DOMParser Ч РТПЗТБННЕ Java ПФМЙЮБЕФУС ПФ РБТУЕТБ DOM Ч ДТХЗПК. дМС ТЕЫЕОЙС ЬФПК РТПВМЕНЩ ЖЙТНБ Sun ТЕБМЙЪПЧБМБ JAXP, Java API for XML Parsing. ьФПФ API ПВЕУРЕЮЙЧБЕФ ПВЭЙЕ ЙОФЕТЖЕКУЩ ДМС ПВТБВПФЛЙ XML-ДПЛХНЕОФПЧ У ЙУРПМШЪПЧБОЙЕН DOM, SAX Й XSLT.

    JAXP РТЕДПУФБЧМСЕФ ЙОФЕТЖЕКУЩ, ФБЛЙЕ, ЛБЛ DocumentBuilderFactory Й DocumentBuilder , ЛПФПТЩЕ ПВЕУРЕЮЙЧБАФ УФБОДБТФОЩК ЙОФЕТЖЕКУ ДМС ТБЪМЙЮОЩИ РБТУЕТПЧ. еУФШ ФБЛЦЕ НЕФПДЩ, РПЪЧПМСАЭЙЕ ЧБН ХРТБЧМСФШ ФЕН, СЧМСЕФУС МЙ РБТУЕТ ПУЧЕДПНМЕООЩН П РТПУФТБОУФЧБИ ЙНЕО Й ЙУРПМШЪХЕФ МЙ ПО DTD ЙМЙ УИЕНХ ДМС РТПЧЕТЛЙ XML-ДПЛХНЕОФБ.

    лБЛПК ЙОФЕТЖЕКУ РПДИПДЙФ ДМС ЧБУ?

    юФПВЩ ПРТЕДЕМЙФШ, ЛБЛПК ЙОФЕТЖЕКУ РПДИПДЙФ ДМС ЧБУ, ЧБН ОХЦОП РПОСФШ ПУПВЕООПУФЙ РТПЕЛФЙТПЧБОЙС У ЛБЦДЩН ЙЪ ЬФЙИ ЙОФЕТЖЕКУПЧ, Й ЧБН ОХЦОП РПОЙНБФШ, ЮФП ЧБЫЕ РТЙМПЦЕОЙЕ ДПМЦОП ДЕМБФШ У XML-ДПЛХНЕОФБНЙ, ЛПФПТЩЕ ЧЩ УПВЙТБЕФЕУШ ПВТБВБФЩЧБФШ. тБУУНПФТЙН ЬФЙ ЧПРТПУЩ, ЮФПВЩ РПНПЮШ ЧБН ОБКФЙ РТБЧЙМШОЩК РПДИПД.

    • вХДЕФ МЙ ЧБЫЕ РТЙМПЦЕОЙЕ ОБРЙУБОП ОБ Java? JAXP ТБВПФБЕФ У DOM, SAX Й JDOM; ЕУМЙ ЧЩ ВХДЕФЕ РЙУБФШ ЛПД ОБ Java, ЧЩ ДПМЦОЩ ЙУРПМШЪПЧБФШ JAXP, ЮФПВЩ ЙЪПМЙТПЧБФШ ЧБЫ ЛПД ПФ РПДТПВОПУФЕК ТЕБМЙЪБГЙЙ ТБЪМЙЮОЩИ РБТУЕТПЧ.
    • лБЛ ЧБЫЕ РТЙМПЦЕОЙЕ ВХДЕФ ТБЪЧПТБЮЙЧБФШУС? еУМЙ ЧЩ УПВЙТБЕФЕУШ ТБЪЧПТБЮЙЧБФШ ЧБЫЕ РТЙМПЦЕОЙЕ ЛБЛ БРМЕФ Java Й ИПФЙФЕ НЙОЙНЙЪЙТПЧБФШ ПВЯЕН ЧЩЗТХЦБЕНПЗП ЛПДБ, ЙНЕКФЕ Ч ЧЙДХ, ЮФП РБТУЕТЩ SAX НЕОШЫЕ, ЮЕН РБТУЕТЩ DOM. фБЛЦЕ РПНОЙФЕ, ЮФП ЙУРПМШЪПЧБОЙЕ JDOM ФТЕВХЕФ ПЮЕОШ НБМЕОШЛПЗП ПВЯЕНБ ЛПДБ Ч ДПРПМОЕОЙЕ Л РБТУЕТХ SAX ЙМЙ DOM.
    • рПУМЕ ФПЗП, ЛБЛ ЧЩ ТБЪПВТБМЙ XML-ДПЛХНЕОФ, ОХЦОП МЙ ЧБН ВХДЕФ ПВТБЭБФШУС Л ДБООЩН НОПЗП ТБЪ? еУМЙ ЧБН ОХЦОП ЧПЪЧТБЭБФШУС Л ТБЪПВТБООПК ЧЕТУЙЙ XML-ЖБКМБ, ЧПЪНПЦОП, DOM СЧМСЕФУС РТБЧЙМШОЩН ЧБТЙБОФПН. лПЗДБ ЗЕОЕТЙТХЕФУС УПВЩФЙЕ SAX, ФП ПФ ЧБУ (ТБЪТБВПФЮЙЛБ) ЪБЧЙУЙФ УПИТБОЕОЙЕ ЮЕЗП-МЙВП, ЮФП НПЦЕФ РПОБДПВЙФШУС РПЪЦЕ. еУМЙ ЧБН ОХЦОП ПВТБФЙФШУС Л УПВЩФЙА, ЛПФПТПЕ ЧЩ ОЕ УПИТБОЙМЙ, ЧБН РТЙДЕФУС ТБЪПВТБФШ ЖБКМ ЪБОПЧП. DOM УПИТБОСЕФ ЧУЕ ДБООЩЕ БЧФПНБФЙЮЕУЛЙ.
    • оЕ ОХЦОП МЙ ЧБН ЧУЕЗП ОЕУЛПМШЛП ЧЕЭЕК ЙЪ ЙУФПЮОЙЛБ XML? еУМЙ ЧБН ОХЦОП ЧУЕЗП ОЕУЛПМШЛП ЧЕЭЕК ЙЪ ЙУФПЮОЙЛБ XML, ЧПЪНПЦОП, SAX СЧМСЕФУС РТБЧЙМШОЩН ЧБТЙБОФПН. SAX ОЕ УПЪДБЕФ ПВЯЕЛФПЧ ДМС ЧУЕЗП Ч ЙУИПДОПН ДПЛХНЕОФЕ, ЧЩ НПЦЕФЕ УБНЙ ТЕЫЙФШ, ЮФП СЧМСЕФУС ЧБЦОЩН. рТЙ РПНПЭЙ SAX, ЧЩ НПЦЕФЕ РТПУНБФТЙЧБФШ ЛБЦДПЕ УПВЩФЙЕ Й ПРТЕДЕМСФШ, ПФОПУЙФУС МЙ ПОП Л ФПНХ, ЮФП ЧБН ОХЦОП, Й УППФЧЕФУФЧХАЭЙН ПВТБЪПН ЕЗП ПВТБВБФЩЧБФШ. дБЦЕ МХЮЫЕ, ЕУМЙ ЧЩ ОБЫМЙ ФП, ЮФП ЙУЛБМЙ, ЧБЫ ЛПД НПЦЕФ УЗЕОЕТЙТПЧБФШ ЙУЛМАЮЕОЙЕ, ЮФПВЩ ПУФБОПЧЙФШ Й РБТУЕТ SAX.
    • тБВПФБЕФЕ МЙ ЧЩ ОБ НБЫЙОЕ У ПЮЕОШ НБМЕОШЛПК РБНСФША? еУМЙ ФБЛ, SAX СЧМСЕФУС ОБЙМХЮЫЙН ДМС ЧБУ ЧБТЙБОФПН, ИПФС ЧЩ НПЦЕФЕ ТБУУНПФТЕФШ Й ЧУЕ ДТХЗЙЕ ЖБЛФПТЩ.

    тБЪХНЕЕФУС, API XML УХЭЕУФЧХАФ Й ДМС ДТХЗЙИ СЪЩЛПЧ, Ч ЮБУФОПУФЙ, УППВЭЕУФЧБ Perl Й Python ЙНЕАФ ПЮЕОШ ИПТПЫЙК ЙОУФТХНЕОФБТЙК XML.

    тБЪДЕМ 6. уФБОДБТФЩ XML

    пВЪПТ: уФБОДБТФЩ XML

    ч НЙТЕ XML УХЭЕУФЧХЕФ НОПЦЕУФЧП УФБОДБТФПЧ. ч ДПРПМОЕОЙЕ Л ВБЪПЧПНХ УФБОДБТФХ XML, ДТХЗЙЕ УФБОДБТФЩ ПРТЕДЕМСАФ УИЕНЩ, ФБВМЙГЩ УФЙМЕК, УЧСЪЙ, Web-УЕТЧЙУЩ, ВЕЪПРБУОПУФШ Й ДТХЗЙЕ ЧБЦОЩЕ ЬМЕНЕОФЩ. ч ЬФПН ТБЪДЕМЕ ТБУУНБФТЙЧБАФУС ОБЙВПМЕЕ РПРХМСТОЩЕ УФБОДБТФЩ Й ХЛБЪЩЧБЕФУС, ЗДЕ ЧЩ НПЦЕФЕ ОБКФЙ ДТХЗЙЕ УФБОДБТФЩ.

    уРЕГЙЖЙЛБГЙС XML

    ьФБ УРЕГЙЖЙЛБГЙС, ОБИПДСЭБСУС ОБ w3.org/TR/REC-xml, ПРТЕДЕМСЕФ ВБЪПЧЩЕ РТБЧЙМБ ДМС XML-ДПЛХНЕОФПЧ. чУЕ РТБЧЙМБ XML-ДПЛХНЕОФБ, ПВУХЦДБЧЫЙЕУС ТБОЕЕ Ч ЬФПН ХЮЕВОЙЛЕ, ПРТЕДЕМЕОЩ ЪДЕУШ.

    чДПВБЧПЛ Л ВБЪПЧПНХ УФБОДБТФХ XML, ДТХЗПК ЧБЦОПК ЮБУФША XML СЧМСЕФУС УРЕГЙЖЙЛБГЙС Namespaces. чЩ НПЦЕФЕ ОБКФЙ УФБОДБТФ ОБ РТПУФТБОУФЧБ ЙНЕО ФБЛЦЕ Ч W3C: w3.org/TR/REC-xml-names/.

    XML Schema

    сЪЩЛ XML Schema ПРТЕДЕМЕО Ч ФТЕИ ЮБУФСИ:

    • рТЙНЕТ, ТБУРПМПЦЕООЩК ОБ w3.org/TR/xmlschema-0, ЛПФПТЩК ДБЕФ ЧЧЕДЕОЙЕ Ч ДПЛХНЕОФЩ XML Й Ч ФП, ЮФП ПОЙ ДПМЦОЩ ДЕМБФШ;
    • уФБОДБТФ ОБ УФТХЛФХТХ ДПЛХНЕОФБ, ТБУРПМПЦЕООЩК ОБ w3.org/TR/xmlschema-1, ЛПФПТЩК ЙММАУФТЙТХЕФ, ЛБЛ ПРТЕДЕМСФШ УФТХЛФХТХ XML-ДПЛХНЕОФПЧ;
    • уФБОДБТФ ОБ ФЙРЩ ДБООЩИ, ТБУРПМПЦЕООЩК ОБ w3.org/TR/xmlschema-2, ЛПФПТЩК ПРТЕДЕМСЕФ ОЕЛПФПТЩЕ ПВЭЙЕ ФЙРЩ ДБООЩИ Й РТБЧЙМБ ДМС УПЪДБОЙС ОПЧЩИ ФЙРПЧ.

    ч ЬФПН ХЮЕВОЙЛЕ ЛТБФЛП ПВУХЦДБАФУС УИЕНЩ Ч пРТЕДЕМЕОЙЕ УПДЕТЦЙНПЗП ДПЛХНЕОФБ; ЕУМЙ ЧБН ОХЦОП РПДТПВОП ЪОБФШ ПВП ЧУЕН, ЮФП ЧЩ НПЦЕФЕ ДЕМБФШ РТЙ РПНПЭЙ УИЕН XML, МХЮЫЕ ЧУЕЗП ОБЮБФШ У РТЙНЕТБ.

    XSL, XSLT Й XPath

    тБУЫЙТСЕНЩК сЪЩЛ фБВМЙГ уФЙМЕК (Extensible Stylesheet Language — XSL) ПРТЕДЕМСЕФ ОБВПТ ЬМЕНЕОФПЧ (ОБЪЩЧБЕНЩИ ПВЯЕЛФБНЙ ЖПТНБФЙТПЧБОЙС), ЛПФПТЩЕ ПРЙУЩЧБАФ, ЛБЛ ДБООЩЕ ДПМЦОЩ ЖПТНБФЙТПЧБФШУС. дМС СУОПУФЙ ЬФПФ УФБОДБТФ ЮБУФП ОБЪЩЧБАФ XSL-FO, ЮФПВЩ ПФМЙЮБФШ ПФ XSLT. иПФС ПО РЕТЧПОБЮБМШОП ТБЪТБВПФБО ДМС ЗЕОЕТБГЙЙ ЧЩУПЛПЛБЮЕУФЧЕООЩИ РЕЮБФБЕНЩИ ДПЛХНЕОФПЧ, ЧЩ ФБЛЦЕ НПЦЕФЕ ЙУРПМШЪПЧБФШ ПВЯЕЛФЩ ЖПТНБФЙТПЧБОЙС ДМС ЗЕОЕТБГЙЙ БХДЙПЖБКМПЧ ЙЪ XML. уФБОДБТФ XSL-FO ОБИПДЙФУС ОБ w3.org/TR/xsl/.

    Extensible Stylesheet Language for Transformations, XSLT СЧМСЕФУС , УМПЧБТЕН XML, ЛПФПТЩК ПРЙУЩЧБЕФ, ЛБЛ РТЕПВТБЪПЧБФШ XML-ДПЛХНЕОФ ЧП ЮФП-ФП ЕЭЕ. уФБОДБТФ ОБИПДЙФУС ОБ w3.org/TR/xslt (ВЕЪ ЪБЛТЩЧБАЭЕК ЛПУПК ЮЕТФЩ).

    XPath, XML Path Language, — УЙОФБЛУЙУ, ЛПФПТЩК ПРЙУЩЧБЕФ НЕУФПОБИПЦДЕОЙС Ч XML-ДПЛХНЕОФБИ. чЩ ЙУРПМШЪХЕФЕ XPath Ч ФБВМЙГБИ УФЙМЕК XSLT ДМС ПРЙУБОЙС ФПЗП, ЛБЛХА ЮБУФШ XML-ДПЛХНЕОФБ ЧЩ ИПФЙФЕ РТЕПВТБЪПЧБФШ. XPath ЙУРПМШЪХЕФУС ФБЛЦЕ Й Ч ДТХЗЙИ УФБОДБТФБИ XML, ЧПФ РПЮЕНХ ПФ ПФДЕМЕО ПФ XSLT Ч ПФДЕМШОЩК УФБОДБТФ. XPath ПРТЕДЕМЕО ОБ w3.org/TR/xpath (ВЕЪ ЪБЛТЩЧБАЭЕК ЛПУПК ЮЕТФЩ).

    Document Object Model ПРТЕДЕМСЕФ, ЛБЛ XML-ДПЛХНЕОФ РТЕПВТБЪХЕФУС Ч УФТХЛФХТХ ДЕТЕЧБ Ч РБНСФЙ. DOM ПРТЕДЕМЕОБ Ч ОЕУЛПМШЛЙИ УРЕГЙЖЙЛБГЙСИ Ч W3C:

    • сДТП DOM ПРТЕДЕМСЕФ УБНХ DOM, УФТХЛФХТХ ДЕТЕЧБ, ЧЙДЩ ХЪМПЧ Й ЙУЛМАЮЕОЙС, ЛПФПТЩЕ ЧБЫ ЛПД НПЦЕФ РПМХЮБФШ РТЙ ДЧЙЦЕОЙЙ РП ДЕТЕЧХ. рПМОБС УРЕГЙЖЙЛБГЙС ОБИПДЙФУС ОБ w3.org/TR/DOM-Level-2-Core/.
    • уПВЩФЙС ПРТЕДЕМСЕФ УПВЩФЙС, ЛПФПТЩЕ НПЗХФ РТПЙУИПДЙФШ ОБ ДЕТЕЧЕ, Й ЛБЛ ЬФЙ УПВЩФЙС ПВТБВБФЩЧБАФУС. ьФБ УРЕГЙЖЙЛБГЙС ФБЛЦЕ РЩФБЕФУС РТЙНЙТЙФШ ТБЪМЙЮЙС НЕЦДХ ПВЯЕЛФОЩНЙ НПДЕМСНЙ, РПДДЕТЦЙЧБЕНЩНЙ Netscape Й Internet Explorer ДП ЧЕТУЙК 4 ЬФЙИ ВТБХЪЕТПЧ. ьФБ УРЕГЙЖЙЛБГЙС ОБИПДЙФУС ОБ w3.org/TR/DOM-Level-2-Events/.
    • уФЙМШ ПРТЕДЕМСЕФ, ЛБЛ НПЦОП ЙЪ РТПЗТБННЩ ПВТБФЙФШУС Л ФБВМЙГБН УФЙМЕК XSLT Й ФБВМЙГБН УФЙМЕК CSS. ьФБ УРЕГЙЖЙЛБГЙС ОБИПДЙФУС ОБ w3.org/TR/DOM-Level-2-Style/.
    • рТПИПЦДЕОЙЕ Й РПТСДПЛ ПРТЕДЕМСЕФ ЙОФЕТЖЕКУЩ, ЛПФПТЩЕ РПЪЧПМСАФ РТПЗТБННЕ РТПИПДЙФШ РП ДЕТЕЧХ Й ПРТЕДЕМСФШ РПТСДПЛ ХЪМПЧ Ч ДЕТЕЧЕ. чЩ ОБКДЕФЕ РПМОХА УРЕГЙЖЙЛБГЙА ОБ w3.org/TR/DOM-Level-2-Traversal-Range/.
    • рТЕДУФБЧМЕОЙС ПРТЕДЕМСАФУС ЛБЛ ЙОФЕТЖЕКУ AbstractView ДМС УБНПЗП ДПЛХНЕОФБ. уН. ДПРПМОЙФЕМШОХА ЙОЖПТНБГЙА Ч w3.org/TR/DOM-Level-2-Views/.

    SAX, JDOM Й JAXP

    Simple API for XML ПРТЕДЕМСЕФ УПВЩФЙС Й ЙОФЕТЖЕКУЩ, ЙУРПМШЪХЕНЩЕ ДМС ЧЪБЙНПДЕКУФЧЙС У SAX-УПЧНЕУФЙНЩН РБТУЕТПН XML. чЩ ОБКДЕФЕ РПМОХА УРЕГЙЖЙЛБГЙА SAX ОБ www.saxproject.org.

    рТПЕЛФ JDOM ВЩМ УПЪДБО Jason Hunter Й Brett McLaughlin Й ЦЙЧЕФ ОБ jdom.org/. оБ УБКФЕ JDOM ЧЩ ОБКДЕФЕ ЛПДЩ, РТЙНЕТЩ РТПЗТБНН Й ДТХЗЙЕ ЙОУФТХНЕОФЩ, ЛПФПТЩЕ РПНПЗХФ ЧБН ОБЮБФШ. (уФБФШЙ developerWorks П JDOM УН. Ч тЕУХТУЩ .)

    чБЦОПЕ ПВУФПСФЕМШУФЧП ПФОПУЙФЕМШОП SAX Й JDOM УПУФПЙФ Ч ФПН, ЮФП ПВБ ПОЙ РТЙЫМЙ ЙЪ УППВЭЕУФЧБ ТБЪТБВПФЮЙЛПЧ XML, Б ОЕ ЙЪ УФБОДБТФПЧ. йИ ЫЙТПЛПЕ РТЙЪОБОЙЕ СЧМСЕФУС ОБЗТБДПК БЛФЙЧОЩН ХЮБУФОЙЛБН УППВЭЕУФЧБ ТБЪТБВПФЮЙЛПЧ XML.

    чЩ ОБКДЕФЕ ЧУЕ, ЮФП ЙЪЧЕУФОП П JAXP ОБ java.sun.com/xml/jaxp/.

    уЧСЪЩЧБОЙЕ Й УУЩМЛЙ

    ч НЙТЕ XML ЕУФШ ДЧБ УФБОДБТФБ ДМС УЧСЪЩЧБОЙС Й УУЩМПЛ: XLink Й XPointer:

    • XLink, XML Linking Language, ПРТЕДЕМСЕФ ТБЪМЙЮОЩЕ УРПУПВЩ УЧСЪБФШ ЧНЕУФЕ ТБЪМЙЮОЩЕ ТЕУХТУЩ. чЩ НПЦЕФЕ ДЕМБФШ ПВЩЮОЩЕ УЧСЪЙ ФПЮЛБ-Ч-ФПЮЛХ (ЛБЛ Ч ЬМЕНЕОФЕ HTML ) ЙМЙ ТБУЫЙТЕООЩЕ УЧСЪЙ, ЛПФПТЩЕ НПЗХФ ЧЛМАЮБФШ Ч УЕВС НОПЦЕУФЧЕООЩЕ УЧСЪЙ, УЧСЪЙ ЮЕТЕЪ ФТЕФШЙ ФПЮЛЙ Й РТБЧЙМБ, ЛПФПТЩЕ ПРТЕДЕМСАФ, ЮФП ПЪОБЮБЕФ УМЕДПЧБОЙЕ РП ДБООПК УЧСЪЙ. уФБОДБТФ XLink ОБИПДЙФУС ОБ w3.org/TR/xlink/.
    • XPointer, XML Pointer Language, ЙУРПМШЪХЕФ XPath ЛБЛ УРПУПВ УУЩМБФШУС ОБ ДТХЗЙЕ ТЕУХТУЩ. пО ФБЛЦЕ ЧЛМАЮБЕФ Ч УЕВС ОЕЛПФПТЩЕ ТБУЫЙТЕОЙС XPath. чЩ ОБКДЕФЕ ЬФХ УРЕГЙЖЙЛБГЙА ОБ www.w3.org/TR/xptr/.

    вЕЪПРБУОПУФШ

    еУФШ ДЧБ ЪОБЮЙНЩИ УФБОДБТФБ, ЛПФПТЩЕ ПФОПУСФУС Л ВЕЪПРБУОПУФЙ XML-ДПЛХНЕОФПЧ. пДЙО — УФБОДБТФ XML Digital Signature (w3.org/TR/xmldsig-core/), ЛПФПТЩК ПРТЕДЕМСЕФ УФТХЛФХТХ XML-ДПЛХНЕОФБ ДМС ГЙЖТПЧЩИ РПДРЙУЕК. чЩ НПЦЕФЕ УПЪДБФШ ГЙЖТПЧХА РПДРЙУШ XML ДМС МАВПЗП ЧЙДБ ДБООЩИ, ВХДШ ЬФП XML-ДПЛХНЕОФ, HTML-ЖБКМ, ПВЩЮОЩК ФЕЛУФ, ДЧПЙЮОЩЕ ДБООЩЕ Й Ф.Д. чЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ГЙЖТПЧХА РПДРЙУШ ДМС РТПЧЕТЛЙ ФПЗП, ЮФП ПРТЕДЕМЕООЩК ЖБКМ ОЕ ВЩМ НПДЙЖЙГЙТПЧБО РПУМЕ РПДРЙУБОЙС. еУМЙ РПДРЙУБООЩЕ ЧБНЙ ДБООЩЕ СЧМСАФУС XML-ДПЛХНЕОФПН, ЧЩ НПЦЕФЕ ЧУФТПЙФШ XML-ДПЛХНЕОФ Ч УБН ЖБКМ РПДРЙУЙ, ЮФП ДЕМБЕФ ПВТБВПФЛХ ДБООЩИ Й РПДРЙУЙ ПЮЕОШ РТПУФПК.

    дТХЗПК УФБОДБТФ ПФОПУЙФУС Л ЫЙЖТПЧБОЙА XML-ДПЛХНЕОФПЧ. иПФС ЪБНЕЮБФЕМШОП, ЮФП XML-ДПЛХНЕОФЩ НПЗХФ ВЩФШ ОБРЙУБОЩ ФБЛ, ЮФП ЙИ НПЦЕФ ЮЙФБФШ Й РПОЙНБФШ ЮЕМПЧЕЛ, НПЗХФ ЧПЪОЙЛОХФШ ОЕРТЙСФОПУФЙ, ЕУМЙ ДПЛХНЕОФ РПРБДЕФ Ч РМПИЙЕ ТХЛЙ. уФБОДБТФ XML Encryption (w3.org/TR/xmlenc-core/) ПРТЕДЕМСЕФ, ЛБЛ ЮБУФЙ XML-ДПЛХНЕОФБ НПЗХФ ВЩФШ ЪБЫЙЖТПЧБОЩ.

    йУРПМШЪХС ЧНЕУФЕ ЬФЙ УФБОДБТФЩ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ XML-ДПЛХНЕОФЩ Ч ЛПОЖЙДЕОГЙБМШОПН ТЕЦЙНЕ. с НПЗХ РТЙДБФШ ГЙЖТПЧХА РПДРЙУШ ЧБЦОПНХ XML-ДПЛХНЕОФХ, УЗЕОЕТЙТПЧБЧ РПДРЙУШ, ЛПФПТБС ВХДЕФ ЧЛМАЮБФШ Ч УЕВС УБН XML-ДПЛХНЕОФ. с НПЗХ ЪБФЕН ЪБЫЙЖТПЧБФШ ДПЛХНЕОФ (ЙУРПМШЪХС УЧПК ЪБЛТЩФЩК ЛМАЮ Й ЧБЫ ПФЛТЩФЩК ЛМАЮ) Й РПУМБФШ ЕЗП ЧБН. лПЗДБ ЧЩ РПМХЮЙФЕ ЕЗП, ЧЩ НПЦЕФЕ ТБУЫЙЖТПЧБФШ ДПЛХНЕОФ РТЙ РПНПЭЙ ЧБЫЕЗП ЪБЛТЩФПЗП Й НПЕЗП ПФЛТЩФПЗП ЛМАЮЕК, ЮФП ДБУФ ЧБН ЧПЪНПЦОПУФШ ХВЕДЙФШУС Ч ФПН, ЮФП ЙНЕООП С РПУМБМ ЧБН ДПЛХНЕОФ. (еУМЙ РПОБДПВЙФУС, ЧЩ УНПЦЕФЕ ФБЛЦЕ РПДФЧЕТДЙФШ, ЮФП С РПУМБМ ДПЛХНЕОФ.) тБУЫЙЖТПЧБЧ ДПЛХНЕОФ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ГЙЖТПЧХА РПДРЙУШ, ЮФПВЩ ХВЕДЙФШУС, ЮФП ДПЛХНЕОФ ОЕ ВЩМ НПДЙЖЙГЙТПЧБО ЛБЛЙН-ФП УРПУПВПН.

    Web-УЕТЧЙУЩ

    Web-УЕТЧЙУЩ СЧМСАФУС ЧБЦОЩН ОПЧЩН ЧЙДПН РТЙМПЦЕОЙК. Web-УЕТЧЙУ — ЬФП ЮБУФШ ЛПДБ, ЛПФПТБС НПЦЕФ ВЩФШ ПВОБТХЦЕОБ, ПРЙУБОБ Й БДТЕУПЧБОБ У РПНПЭША XML. ч ЬФПК ПВМБУФЙ ОБВМАДБЕФУС ЪОБЮЙФЕМШОБС БЛФЙЧОПУФШ, ОП ФТЕНС ЗМБЧОЩНЙ УФБОДБТФБНЙ XML ДМС Web-УЕТЧЙУПЧ СЧМСАФУС:

    • SOAP: йУИПДОЩК Simple Object Access Protocol, SOAP ПРТЕДЕМСЕФ ЖПТНБФ XML-ДПЛХНЕОФБ, ЛПФПТЩК ПРЙУЩЧБЕФ, ЛБЛ ЧЩЪЧБФШ НЕФПД ОБ ХДБМЕООПК ЮБУФЙ ЛПДБ. нПЕ РТЙМПЦЕОЙЕ УПЪДБЕФ XML-ДПЛХНЕОФ, ЛПФПТЩК ПРЙУЩЧБЕФ НЕФПД, ЧЩЪЩЧБЕНЩК НОПА, РЕТЕДБЧБС ЕНХ ЧУЕ ОЕПВИПДЙНЩЕ РБТБНЕФТЩ, Б ЪБФЕН ПОП РПУЩМБЕФ ЬФПФ XML-ДПЛХНЕОФ РП УЕФЙ Ч ЬФХ ЮБУФШ ЛПДБ. лПД РПМХЮБЕФ XML-ДПЛХНЕОФ, ЙОФЕТРТЕФЙТХЕФ ЕЗП, ЧЩЪЩЧБЕФ НЕФПД, ЪБРТПЫЕООЩК НОПА, Б ЪБФЕН РПУЩМБЕФ ОБЪБД XML-ДПЛХНЕОФ, ПРЙУЩЧБАЭЙК ТЕЪХМШФБФЩ. чЕТУЙС 1.1 УРЕГЙЖЙЛБГЙЙ SOAP ОБИПДЙФУС ОБ w3.org/TR/SOAP/. рПУЕФЙФЕ w3.org/TR/, ЮФПВЩ РПЪОБЛПНЙФШУС У ДЕСФЕМШОПУФША W3C, УЧСЪБООПК У SOAP.
    • WSDL: Web Services Description Language — ЬФП УМПЧБТШ XML, ЛПФПТЩК ПРЙУЩЧБЕФ Web-УЕТЧЙУЩ. еУФШ ЧПЪНПЦОПУФШ ОБРЙУБФШ ЛПД, ЛПФПТЩК РТЙОЙНБЕФ ДПЛХНЕОФ WSDL Й ЧЩЪЩЧБЕФ Web-УЕТЧЙУ, ЛПФПТЩК ОЙЛПЗДБ ТБОШЫЕ ОЕ ЧЙДЕМ. йОЖПТНБГЙС Ч ЖБКМЕ WSDL ПРТЕДЕМСЕФ ЙНС Web-УЕТЧЙУБ, ЙНЕОБ ЕЗП НЕФПДПЧ, БТЗХНЕОФЩ ЬФЙИ НЕФПДПЧ Й ДТХЗЙЕ РПДТПВОПУФЙ. чЩ НПЦЕФЕ ОБКФЙ РПУМЕДОАА УРЕГЙЖЙЛБГЙА WSDL ОБ w3.org/TR/wsdl (ВЕЪ ЪБЛТЩЧБАЭЕК ЛПУПК ЮЕТФЩ).
    • UDDI: рТПФПЛПМ Universal Description, Discovery, and Integration ПРТЕДЕМСЕФ ЙОФЕТЖЕКУ SOAP ДМС ТЕЕУФТБ Web-УЕТЧЙУПЧ. еУМЙ ЧЩ ЙНЕЕФЕ ЛПД, ЛПФПТЩК ЧЩ ИПФЙФЕ ТБЪЧЕТОХФШ ЛБЛ Web-УЕТЧЙУ, УРЕГЙЖЙЛБГЙС UDDI ПРТЕДЕМСЕФ, ЛБЛ ДПВБЧЙФШ ПРЙУБОЙЕ ЧБЫЕЗП УЕТЧЙУБ Ч ТЕЕУФТ. еУМЙ ЧЩ ЙЭЕФЕ ЛПД, ЛПФПТЩК ПВЕУРЕЮЙЧБЕФ ПРТЕДЕМЕООХА ЖХОЛГЙА, УРЕГЙЖЙЛБГЙС UDDI ПРТЕДЕМСЕФ, ЛБЛ ЪБРТПУЙФШ ТЕЕУФТ, ЮФПВЩ ОБКФЙ ФП, ЮФП ЧЩ ИПФЙФЕ. йУФПЮОЙЛПН ЧУЕЗП, УЧСЪБООПЗП У UDDI СЧМСЕФУС uddi.org.

    дТХЗЙЕ УФБОДБТФЩ

    уХЭЕУФЧХЕФ НОПЗП ДТХЗЙИ УФБОДБТФПЧ XML, П ЛПФПТЩИ НЩ ОЕ ЗПЧПТЙН ЪДЕУШ. чДПВБЧПЛ Л УФБОДБТФБН ЫЙТПЛПЗП РТЙНЕОЕОЙС, РПДПВОЩН Scalable Vector Graphics (www.w3.org/TR/SVG/) Й SMIL, Synchronized Multimedia Integration Language (www.w3.org/TR/smil20/), ЕУФШ НОПЗП УФБОДБТФПЧ, ПФОПУСЭЙИУС Л ПФДЕМШОЩН ПФТБУМСН. оБРТЙНЕТ, ЛПОУПТГЙХН HR-XML ПРТЕДЕМЙМ ОЕУЛПМШЛП УФБОДБТФПЧ XML ДМС ФТХДПЧЩИ ТЕУХТУПЧ, ЧЩ НПЦЕФЕ ОБКФЙ ЬФЙ УФБОДБТФЩ ОБ hr-xml.org.

    оБЛПОЕГ, ИПТПЫЙН ЙУФПЮОЙЛПН УФБОДБТФПЧ XML СЧМСЕФУС XML Repository ОБ xml.org/xml/registry.jsp. ьФПФ УБКФ РТЕДУФБЧМСЕФ УПФОЙ УФБОДБТФПЧ ДМС ЫЙТПЛПЗП УРЕЛФТБ ПФТБУМЕК.

    тБЪДЕМ 7. рТБЛФЙЮЕУЛЙЕ РТЙНЕТЩ

    рТЙНЕТЩ ЙЪ ТЕБМШОПК ЦЙЪОЙ

    уЕКЮБУ, С ОБДЕАУШ, ЧЩ ХЦЕ ХВЕДЙМЙУШ, ЮФП XML ЙНЕЕФ ЗТБОДЙПЪОЩК РПФЕОГЙБМ ДМС ФПЗП, ЮФПВЩ ТЕЧПМАГЙПОЙЪЙТПЧБФШ УРПУПВЩ ТБВПФЩ ЬМЕЛФТПООПЗП ВЙЪОЕУБ. б РПУЛПМШЛХ РПФЕОГЙБМ ВПМШЫПК, НЩ ЙНЕЕН ТЕБМШОЩЕ ТЕЪХМШФБФЩ ОБ ТЩОЛЕ. ч ЬФПН ТБЪДЕМЕ ПВУХЦДБАФУС ФТЙ РТБЛФЙЮЕУЛЙИ РТЙНЕТБ, Ч ЛПФПТЩИ ПТЗБОЙЪБГЙЙ ЙУРПМШЪПЧБМЙ XML ДМС ХУПЧЕТЫЕОУФЧПЧБОЙС УЧПЙИ ВЙЪОЕУ-РТПГЕУУПЧ Й ХМХЮЫЕОЙС ЙИ ТЕЪХМШФБФПЧ.

    чУЕ РТБЛФЙЮЕУЛЙЕ РТЙНЕТЩ, ПВУХЦДБЕНЩЕ ЪДЕУШ, РТЙЫМЙ ЙЪ РТПЗТБННЩ IBM jStart. лПНБОДБ jStart УХЭЕУФЧХЕФ, ЮФПВЩ РПНПЗБФШ РПФТЕВЙФЕМСН ЙУРПМШЪПЧБФШ ОПЧЩЕ ФЕИОПМПЗЙЙ ДМС ТЕЫЕОЙС РТПВМЕН. еУМЙ РПФТЕВЙФЕМШ УПЗМБЫБЕФУС У ХУМПЧЙСНЙ jStart, ПО РПМХЮБЕФ ЛПОУХМШФБГЙЙ Й УЕТЧЙУ ТБЪТБВПФЛЙ ПФ IBM УП УЛЙДЛПК, У РПОЙНБОЙЕН ФПЗП, ЮФП ТЕЪХМШФЙТХАЭЙК РТПЕЛФ НПЦЕФ ВЩФШ ЙУРПМШЪПЧБО ЛБЛ РТБЛФЙЮЕУЛЙК РТЙНЕТ. еУМЙ ЧЩ ИПФЙФЕ ХЧЙДЕФШ ВПМШЫЕ РТБЛФЙЮЕУЛЙИ РТЙНЕТПЧ, ЧЛМАЮБС РТЙНЕТЩ Web-УЕТЧЙУПЧ Й ДТХЗЙИ ОПЧЩИ ФЕИОПМПЗЙК, РПУЕФЙФЕ Web-УФТБОЙГХ jStart ibm.com/software/jstart.

    ъОБКФЕ, ЮФП ЛПНБОДБ jStart ВПМШЫЕ ОЕ ЪБЛМАЮБЕФ УПЗМБЫЕОЙК РП РТПЕЛФБН XML; УЕКЮБУ ЛПНБОДБ ЖПЛХУЙТХЕФУС ОБ УПЗМБЫЕОЙСИ РП Web-УЕТЧЙУБН. Web-УЕТЧЙУЩ ЙУРПМШЪХАФ XML УРЕГЙЖЙЮЕУЛЙН ПВТБЪПН, ПВЩЮОП ЮЕТЕЪ УФБОДБТФЩ SOAP, WSDL Й UDDI, ХРПНСОХФЩЕ ЧЩЫЕ.

    рТПЧЙОГЙС нБОЙФПВБ

    тЙУХОПЛ 2. рТПЧЙОГЙС нБОЙФПВБ

    рТБЧЙФЕМШУФЧП РТПЧЙОГЙЙ нБОЙФПВБ УПЪДБЕФ тЕЕУФТ юБУФОЩИ чМБДЕОЙК, ЮФПВЩ ПВЕУРЕЮЙФШ ЧМБДЕМШГЕЧ УПВУФЧЕООПУФЙ ТЕБМШОЩН ЛТХЗМПУХФПЮОЩН Internet-УЕТЧЙУПН. пУОПЧОЩНЙ РТЕЙНХЭЕУФЧБНЙ ЬФПЗП РТЙМПЦЕОЙС СЧМСАФУС ВПМЕЕ ВЩУФТЩК Й ВПМЕЕ ХДПВОЩК ДПУФХР Л ДБООЩН П УПВУФЧЕООПУФЙ, ХНЕОШЫЕОЙЕ ТХЮОЩИ ПРЕТБГЙК Ч РТПГЕУУЕ ХРТБЧМЕОЙС УПВУФЧЕООПУФША, ХНЕОШЫЕОЙЕ ЮЙУМБ ЪЧПОЛПЧ Ч РТБЧЙФЕМШУФЧЕООЩК ГЕОФТ ПВУМХЦЙЧБОЙС. дТХЗЙНЙ УМПЧБНЙ, ДБЧБФШ РПФТЕВЙФЕМСН МХЮЫЙК УЕТЧЙУ, РТЙ ЬФПН УВЕТЕЗБС РТБЧЙФЕМШУФЧЕООЩЕ ДЕОШЗЙ Й ХНЕОШЫБС ОБЗТХЪЛХ ОБ РТБЧЙФЕМШУФЧП.

    рТЙМПЦЕОЙЕ ВЩМП ТБЪТБВПФБОП ЛБЛ n -ХТПЧОЕЧПЕ РТЙМПЦЕОЙЕ У ЙОФЕТЖЕКУПН, ПФДЕМЕООЩН ПФ МПЗЙЛЙ ОБ УФПТПОЕ УЕТЧЕТБ. дБООЩЕ ДМС ЛБЦДПК ФТБОЪБЛГЙЙ ОХЦОП РТЕПВТБЪПЧБФШ ОЕУЛПМШЛЙНЙ ТБЪМЙЮОЩНЙ УРПУПВБНЙ, Ч ЪБЧЙУЙНПУФЙ ПФ ФПЗП, ЛБЛ ПОЙ ДПМЦОЩ ВЩФШ ПФПВТБЦЕОЩ ОБ ХУФТПКУФЧЕ, РТЕДУФБЧМЕОЩ Ч РТЙМПЦЕОЙЙ ЙМЙ ЖПТНБФЙТПЧБОЩ ДМС УЕТЧЕТОПК УЙУФЕНЩ ПВТБВПФЛЙ. дТХЗЙНЙ УМПЧБНЙ, РТЙМПЦЕОЙЕ ВЩМП РТЕЧПУИПДОЩН РПЧПДПН ДМС ЙУРПМШЪПЧБОЙС XML.

    лБЛ Й Ч МАВПН РТЙМПЦЕОЙЙ, РПМШЪПЧБФЕМШУЛЙК ЙОФЕТЖЕКУ РТЙМПЦЕОЙС ВЩМ ЮТЕЪЧЩЮБКОП ЧБЦЕО. юФПВЩ ХРТПУФЙФШ РЕТЧХА ТЕБМЙЪБГЙА, ОЕПВИПДЙНЩЕ XML-ДБООЩЕ РТЕПВТБЪПЧЩЧБМЙУШ Ч HTML. ьФП ДБЧБМП РПМШЪПЧБФЕМШ ЧПЪНПЦОПУФШ ЙУРПМШЪПЧБФШ ВТБХЪЕТ ДМС ЙОФЕТЖЕКУБ РТЙМПЦЕОЙС. тЕЕУФТ ВЩМ РПУФТПЕО У РПНПЭША VisualAge for Java, Ч ЮБУФОПУФЙ, ЛПНРПОЕОФБ Visual Servlet Builder. пО ФБЛЦЕ ЙУРПМШЪПЧБМ Enterprise Java Beans (EJB), ЧЛМАЮБС ВЙОЩ УЕБОУБ Й ВЙОЩ УХЭОПУФЙ.

    зЕОЕТБГЙС ТБЪМЙЮОЩИ РПМШЪПЧБФЕМШУЛЙИ ЙОФЕТЖЕКУПЧ РТЙ РПНПЭЙ XML

    лТПНЕ ЙОФЕТЖЕКУБ HTML, РМБОЙТХЕФУС ФБЛЦЕ ЙОФЕТЖЕКУ Java-ЛМЙЕОФБ Й ЬМЕЛФТПООЩК ЙОФЕТЖЕКУ B2B. дМС ЧУЕИ ЬФЙИ ЙОФЕТЖЕКУПЧ УФТХЛФХТЙТПЧБООЩЕ ДБООЩЕ XML РТЕПВТБЪХАФУС Ч УППФЧЕФУФЧХАЭЙЕ УФТХЛФХТЩ Й ДПЛХНЕОФЩ. оБЮБМШОБС ЧЩЗТХЪЛБ УЕТЧЙУБ РПЪЧПМСЕФ ПДОПНХ ВЙЪОЕУ-РБТФОЕТХ, Canadian Securities Registration Systems, РПУЩМБФШ ДБООЩЕ ФТБОЪБЛГЙЙ XML, ЙУРПМШЪХС Secure Sockets Layer. дБООЩЕ ФТБОЪБЛГЙЙ XML РТЕПВТБЪХАФУС Ч УППФЧЕФУФЧХАЭЙК ЖПТНБФ ДМС ФТБОЪБЛГЙК ОБ УФПТПОЕ УЕТЧЕТБ.

    лПОЕЮОЩН ТЕЪХМШФБФПН СЧЙМПУШ ФП, ЮФП РТПЧЙОГЙС нБОЙФПВБ УПЪДБМБ ЗЙВЛПЕ ОПЧПЕ РТЙМПЦЕОЙЕ, Й ЕЗП ЛПОЕЮОЩЕ РПМШЪПЧБФЕМЙ НПЗХФ ПВТБЭБФШУС Л ТЕЕУФТХ УПВУФЧЕООПУФЙ ВПМЕЕ МЕЗЛП Й ВЩУФТП. рПУЛПМШЛХ РТПЧЙОГЙС ЙУРПМШЪХЕФ XML Ч ЛБЮЕУФЧЕ ЖПТНБФБ ДБООЩИ, РТБЧЙФЕМШУФЧЕООБС IT-ЛПНБОДБ ЙНЕЕФ ВПМШЫХА ЗЙВЛПУФШ Ч ТБЪТБВПФЛЕ ОПЧЩИ ЙОФЕТЖЕКУПЧ Й НЕФПДПЧ ДПУФХРБ. уБНПЕ МХЮЫЕЕ, ЮФП УЙУФЕНЩ ОБ УФПТПОЕ УЕТЧЕТБ ОЕ ЙЪНЕОЙМЙУШ ЧППВЭЕ.

    вБОЛ First Union ОБ XML

    тЙУХОПЛ 3. вБОЛ First Union ОБ XML

    First Union National Bank, ПДЙО ЙЪ УБНЩИ ВПМШЫЙИ ВБОЛПЧ Ч уыб, ОБИПДЙФУС Ч РТПГЕУУЕ ТЕЙОЦЕОЙТЙОЗБ НОПЗЙИ УЧПЙИ РТЙМПЦЕОЙК РТЙ РПНПЭЙ Java Й XML. лБЛ Й Х ВПМШЫЙОУФЧБ ВПМШЫЙИ ЛПНРБОЙК, ЕЗП УТЕДБ ЗЕФЕТПЗЕООБ У УЕТЧЕТБНЙ OS/390, AIX, Solaris, HP/9000 Й Windows NT Й ЛМЙЕОФБНЙ Windows NT, Windows 98, Solaris Й AIX. йНЕС ФБЛХА УТЕДХ, First Union ЧЩВТБМ Java ДМС РМБФЖПТНЕООП-ОЕЪБЧЙУЙНЩИ ЛПДПЧ Й XML ДМС РМБФЖПТНЕООП-ОЕЪБЧЙУЙНЩИ ДБООЩИ.

    уЙУФЕНБ ОБ ВБЪЕ УППВЭЕОЙК

    тБУРТЕДЕМЕООПЕ РТЙМПЦЕОЙЕ ВБОЛБ РПУФТПЕОП ОБ ЙОЖТБУФТХЛФХТЕ ПВНЕОБ УППВЭЕОЙСНЙ У ЙУРПМШЪПЧБОЙЕ ДМС ДПУФБЧЛЙ УППВЭЕОЙК IBM’s MQSeries ДМС УЙУФЕНЩ OS/390. уПДЕТЦБОЙЕ УППВЭЕОЙЕ ВБЪЙТХЕФУС ОБ УРЕГЙЖЙЛБГЙЙ, ОБЪЩЧБЕНПК Common Interface Message (CIM), УПВУФЧЕООПН УФБОДБТФЕ First Union. й ЛМЙЕОФУЛЙЕ, Й УЕТЧЕТОЩЕ ЛПНРПОЕОФЩ РТЙМПЦЕОЙС ЪБЧЙУСФ ПФ ЖПТНБФБ УППВЭЕОЙС. л РТПФПЛПМХ ПВНЕОБ УППВЭЕОЙСНЙ ДПВБЧМЕОП ЙУРПМШЪПЧБОЙЕ XML, ЛБЛ ЖПТНБФБ ДБООЩИ, ЙЪПМЙТХАЭЕЗП ПВЕ УФПТПОЩ РТЙМПЦЕОЙС ПФ ВХДХЭЙИ ЙЪНЕОЕОЙК.

    йУРПМШЪПЧБОЙЕ ЙОУФТХНЕОФПЧ XML ДМС БЧФПНБФЙЪБГЙЙ РПФПЛПЧ ДБООЩИ

    рТЙ ТБЪТБВПФЛЕ ЬФПЗП РТЙМПЦЕОЙС ОБ ВБЪЕ XML First Union Й ЛПНБОДБ IBM УПЪДБМЙ УМХЦВХ, ЛПФПТБС ЛПОЧЕТФЙТХЕФ CIM Ч XML-ДПЛХНЕОФ. дТХЗБС ЮБУФШ РТЙМПЦЕОЙС ЛПОЧЕТФЙТХЕФ XML-ЪБРТПУ Ч ПРТЕДЕМЕООЩК ЖПТНБФ УЕТЧЕТОЩИ УЙУФЕН ПВТБВПФЛЙ. оБЛПОЕГ, ФТЕФШС УМХЦВБ ЛПОЧЕТФЙТХЕФ ПРЙУБОЙС ОБ COBOL Ч DTD. тБЪ ПРЙУБОЙС ЛПОЧЕТФЙТПЧБОЩ Ч DTD, First Union НПЦЕФ ЙУРПМШЪПЧБФШ DTD Й РБТУЕТ XML4J ДМС БЧФПНБФЙЮЕУЛПК РТПЧЕТЛЙ РТБЧЙМШОПУФЙ XML-ДПЛХНЕОФБ, ВБОЛ, УМЕДПЧБФЕМШОП, НПЦЕФ ВЩФШ ХЧЕТЕО, ЮФП XML-ДПЛХНЕОФ УППФЧЕФУФЧХЕФ УФТХЛФХТЕ ДБООЩИ COBOL, ЮЕЗП ПЦЙДБЕФ OS/390. йУРПМШЪПЧБОЙЕ ФЕИОПМПЗЙЙ Java Й XML ПЛБЪБМПУШ ПЮЕОШ ХУРЕЫОЩН ДМС First Union. рП УМПЧБН Bill Barnett, НЕОЕДЦЕТБ зТХРРЩ йОФЕЗТБГЙЙ тБУРТЕДЕМЕООЩИ пВЯЕЛФПЧ Ч First Union, «лПНВЙОБГЙС Java Й XML ДЕКУФЧЙФЕМШОП УРБУЙФЕМШОБ ДМС ОБУ. вЕЪ ФБЛПК РМБФЖПТНЕООП-ОЕЪБЧЙУЙНПК УТЕДЩ, ЛБЛ Java, Й ОЕЪБЧЙУЙНПУФЙ РТПФПЛПМБ ПВНЕОБ УППВЭЕОЙСНЙ, РПМХЮЕООПК ПФ ЙУРПМШЪПЧБОЙС XML, НЩ ОЕ НПЗМЙ ВЩФШ ХЧЕТЕОЩ, ЮФП ОБЫБ ТБУРТЕДЕМЕООБС ЙОЖТБУФТХЛФХТБ УНПЦЕФ ТБЪЧЙЧБФШУС, ЮФПВЩ ХДПЧМЕФЧПТСФШ ФТЕВПЧБОЙСН ОБЫЕК РПУФПСООП ТБУФХЭЕК НБУУЩ РПФТЕВЙФЕМЕК.»

    Hewitt Associates LLC

    тЙУХОПЛ 4. Hewitt Associates LLC

    Hewitt Associates LLC — ЗМПВБМШОБС ЛПОУХМШФБФЙЧОБС ЖЙТНБ РП НЕОЕДЦНЕОФХ, ЛПФПТБС УРЕГЙБМЙЪЙТХЕФУС ОБ ТЕЫЕОЙСИ РП ФТХДПЧЩН ТЕУХТУБН. лПНРБОЙС ЙНЕЕФ ВПМЕЕ 200 ЛПТРПТБФЙЧОЩИ ЛМЙЕОФПЧ ЧП ЧУЕН НЙТЕ; ЬФЙ ЛПНРБОЙЙ ТЕБМШОП ЙНЕАФ ВПМЕЕ 10 НМО. УПФТХДОЙЛПЧ.

    дП ЪБЛМАЮЕОЙС УПЗМБЫЕОЙС У jStart Hewitt УФТПЙМБ УПВУФЧЕООЩЕ ЪБЛБЪОЩЕ ТЕЫЕОЙС, ЛПЗДБ ЕЕ ЛМЙЕОФЩ ЪБРТБЫЙЧБМЙ ДБООЩЕ П ФТХДПЧЩИ ТЕУХТУБИ. ьФЙ ЪБЛБЪОЩЕ ТЕЫЕОЙС ПВЩЮОП ВЩМЙ РЕТЕИПДОЙЛБНЙ Л УХЭЕУФЧХАЭЙН ХОБУМЕДПЧБООЩН РТЙМПЦЕОЙСН Hewitt, Ч ОЕЛПФПТЩИ УМХЮБСИ ТЕЫЕОЙС ТБВПФБМЙ У ТЕБМШОЩНЙ РПФПЛБНЙ ВБКФПЧ. ьФЙ ЪБЛБЪОЩЕ ТЕЫЕОЙС ПЮЕОШ ДПТПЗП ПВИПДЙМЙУШ Ч ТБЪТБВПФЛЕ, ФЕУФЙТПЧБОЙЙ Й ЧОЕДТЕОЙЙ, ЮФП РТЙЧЕМП Л ФПНХ, ЮФП Hewitt УФБМБ ТБУУНБФТЙЧБФШ ЧПЪНПЦОПУФШ РТЙНЕОЕОЙС Web-УЕТЧЙУПЧ.

    уРБУЕОЙЕ Ч Web-УЕТЧЙУБИ!

    юФПВЩ ТЕЫЙФШ ЬФЙ РТПВМЕНЩ, Hewitt Й ЛПНБОДБ jStart ТБВПФБМЙ ЧНЕУФЕ ДМС УПЪДБОЙС Web-УЕТЧЙУПЧ ДМС ОХЦД РПФТЕВЙФЕМЕК Hewitt. Web-УЕТЧЙУЩ СЧМСАФУС ОПЧЩН ЧЙДПН РТЙМПЦЕОЙК, ЛПФПТЩЕ ЙУРПМШЪХАФ XML ОЕУЛПМШЛЙНЙ ЙОФЕТЕУОЩНЙ УРПУПВБНЙ:

    • рТЕЦДЕ ЧУЕЗП, Web-УЕТЧЙУЩ ПВЩЮОП ЙУРПМШЪХАФ SOAP, УФБОДБТФ XML ДМС РЕТЕНЕЭЕОЙС XML-ДБООЩИ ЙЪ ПДОПЗП НЕУФБ Ч ДТХЗПЕ.
    • чП-ЧФПТЩИ, ЙОФЕТЖЕКУЩ, ПВЕУРЕЮЙЧБЕНЩЕ Web-УЕТЧЙУБНЙ (ЙНЕОБ НЕФПДПЧ, РЕТЕНЕФТЩ, ФЙРЩ ДБООЩИ Й Ф.Д.) ПРЙУЩЧБАФУС РТЙ РПНПЭЙ XML.
    • дБМЕЕ, ПРЙУБОЙЕ Web-УЕТЧЙУБ НПЦЕФ ВЩФШ УПИТБОЕОП Й ЧЩВТБОП ЙЪ ТЕЕУФТБ UDDI; ЧУС ЙОЖПТНБГЙС, ЛПФПТБС РПУФХРБЕФ Ч ТЕЕУФТ ЙМЙ ЧЩИПДЙФ ЙЪ ОЕЗП ЖПТНБФЙТПЧБОБ ЛБЛ XML.
    • оБЛПОЕГ, УБНЙ ДБООЩЕ, ПВЕУРЕЮЙЧБЕНЩЕ Web-УЕТЧЙУПН СЧМСАФУС XML.

    Hewitt РТЕДУФБЧЙМБ ДЧБ РТЙМПЦЕОЙС, ЛПФПТЩЕ ЙММАУФТЙТХАФ ЧПЪНПЦОПУФШ РЕТЕДБЧБФШ ДБООЩЕ ВПМЕЕ ЗЙВЛЙН УРПУПВПН:

    • рТЙ РПНПЭЙ Secure Participant Mailbox БЧФПТЙЪЙТПЧБООЩЕ РПМШЪПЧБФЕМЙ НПЗХФ ЪБРТБЫЙЧБФШ ПФЮЕФЩ, УПДЕТЦБЭЙЕ РЕТУПОЙЖЙГЙТПЧБООХА ЙОЖПТНБГЙА П УПФТХДОЙЛБИ.
    • рТЙ РПНПЭЙ With the Retirement Access B2B Connection БЧФПТЙЪЙТПЧБООЩЕ РПМШЪПЧБФЕМЙ НПЗХФ РПМХЮБФШ РПДТПВОПУФЙ ЖЙОБОУПЧПК ЙОЖПТНБГЙЙ ЛМЙЕОФБ.

    пВБ ЬФЙ РТЙМПЦЕОЙС ЧЩВЙТБАФ ДБООЩЕ ЙЪ УХЭЕУФЧХАЭЙИ ХОБУМЕДПЧБООЩИ УЙУФЕН, ЙУРПМШЪХАФ XML ДМС ЖПТНБФЙТПЧБОЙС ДБООЩИ Й ДПУФБЧМСАФ ЖПТНБФЙТПЧБООХА ЙОЖПТНБГЙА ЮЕТЕЪ Web. рПУЛПМШЛХ ЬФЙ РТЙМПЦЕОЙС РПУФТПЕОЩ ОБ ПФЛТЩФЩИ УФБОДБТФБИ, Hewitt НПЦЕФ ДПУФБЧМСФШ ЙИ ВЩУФТП. мХЮЫЕ ЧУЕЗП ФП, ЮФП ЗЙВЛПУФШ ЬФЙИ РТЙМПЦЕОЙК РПНПЗБЕФ Hewitt ЧЩДЕМЙФШУС УТЕДЙ УЧПЙИ ЛПОЛХТЕОФПЧ.

    «нЩ ЧЙДЙН Ч Web-УЕТЧЙУБИ УТЕДУФЧП ПВЕУРЕЮЙФ ПФЛТЩФЩК, ОЕУРЕГЙБМЙЪЙТПЧБООЩК ДПУФХР Л ОБЫЙН ВЙЪОЕУ-УЕТЧЙУБН ЮЕТЕЪ ЧЕЪДЕУХЭХА УЕФШ ДБООЩИ,» — ЗПЧПТЙФ Tim Hilgenberg, зМБЧОЩК уФТБФЕЗ РП фЕИОПМПЗЙСН Ч Hewitt. лПОЕЮОЩК ТЕЪХМШФБФ: Hewitt ТБЪТБВПФБМ ВПМЕЕ ЗЙВЛЙЕ РТЙМПЦЕОЙЕ ВЩУФТЕЕ Й ДЕЫЕЧМЕ, ЛМЙЕОФЩ РПМХЮЙМЙ МХЮЫЙК ДПУФХР Л ЙИ ДБООЩН, Б УХЭЕУФЧХАЭЙЕ ХОБУМЕДПЧБООЩЕ РТЙМПЦЕОЙС Hewitt ОЕ ЙЪНЕОЙМЙУШ.

    йФПЗ РП РТБЛФЙЮЕУЛЙН РТЙНЕТБН

    чП ЧУЕИ ЬФЙИ РТБЛФЙЮЕУЛЙИ РТЙНЕТБИ ЛПНРБОЙЙ ЙУРПМШЪПЧБМЙ XML ДМС УПЪДБОЙС УЙУФЕНОП-ОЕЪБЧЙУЙНПЗП ЖПТНБФБ ДБООЩИ. XML-ДПЛХНЕОФЩ, РТЕДУФБЧМСАЭЙЕ УФТХЛФХТЙТПЧБООЩЕ ДБООЩЕ, НПЗХФ ВЩФШ РЕТЕНЕЭЕОЩ У ПДОПК УЙУФЕНЩ ЙМЙ РТПГЕУУБ ОБ ДТХЗХА. лМЙЕОФУЛЙЕ Й УЕТЧЕТОЩЕ РТЙМПЦЕОЙС НЕОСАФУС, Б XML-ДБООЩЕ, РЕТЕНЕЭБАЭЙЕУС НЕЦДХ ОЙНЙ ОЕЙЪНЕООЩ. вПМЕЕ ФПЗП, ЛПЗДБ ЛМЙЕОФУЛЙЕ Й УЕТЧЕТОЩЕ РТЙМПЦЕОЙС РЕТЕНЕЫЙЧБАФУС, ЙУРПМШЪПЧБОЙЕ XML РТЕДПИТБОСЕФ УХЭЕУФЧХАЭЙЕ РТЙМПЦЕОЙС ПФ МАВЩИ ЙЪНЕОЕОЙК. рП НЕТЕ ФПЗП, ЛБЛ Web-УЕТЧЙУЩ УФБОПЧСФУС ВПМЕЕ ПВЭЙНЙ, XML ФБЛЦЕ ВХДЕФ ЙУРПМШЪПЧБФШУС ДМС РЕТЕДБЮЙ ДБООЩИ.

    Язык XML практика и теория

    Данный раздел посвящен работе с XML. В нём будет собран, как теоретический, так и практический материал. Будут рассмотрены основные операции с XML файлами, а так же взаимодействие с LINQ и многое другое.

    Создание XML файла

    XML (Extensible Markup Language) — расширяемый язык разметки, применяется для создания баз данных, web страниц, используется для обмена информацией между программами, применяется в таких технологиях, как Ajax, SOAP, а так же является основой языка XAML, с которым Вы можете встретиться при работе с WPF.

    Для создания xml файла нам всего лишь необходимо внести

    Структура XML файла

    Любой XML файл, начинается с объявления декларации.

    Декларация

    Декларация xml файла включает в себя:

    Версию (version) — номер версии языка XML, 1.0 и 1.1

    Если Вы используете xml version 1.0, то строку декларации можно не указывать, если Вы используете версию 1.1, то необходимо обязательно указать данную строку.

    Кодировку (encoding) — указывает кодировку файла

    Данной записью Вы не устанавливаете кодировку физическому файлу! А только лишь даёте понять программе, которая будет обрабатывать данный файл, в какой кодировке, содержаться данные внутри файла. При этом Вы должны гарантировать, что кодировка документа и кодировка, указанная в строке декларации совпадают.

    Чтобы установить кодировку документу, Вы можете воспользоваться, к примеру, программой Notepad++

    Элементы xml файла

    Язык XML состоит из элементов.

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

    В одном файле может содержаться любое количество элементов.

    Как упоминалось ранее, элемент состоит из тегов.

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

    Теги бывают: парные и одиночные.

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

    При построение XML документа очень важно соблюдать правильность вложенности тегов:

    XML регистро-зависимый язык

    Комментарии

    Комментарии в XML документе, используют такой же синтаксис, как в языке HTML.

    После объявления декларации и знакомства с основными составляющими языка XML, переходим к наполнению нашего файла.

    Корневой элемент

    Первым всегда указывается корневой элемент (root element), в одном XML документе может быть только один корневой элемент!

    В данном примере, создано два корневых элемента

      не правильно

        правильно

      Во втором примере создан один корневой элемент «Root», который содержит обычный элемент «Admin».

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

      «library» корневой элемент содержащий элемент book, который содержит вложенные элементы: title, author, year.

      Атрибуты xml файла

      Атрибуты устанавливают в открывающем теге любого элемента.

      Синтаксис: имя = «значение», заключенное в двойные кавычки.

      Атрибутов может быть любое количество, но они не должны повторяться, а их имена не должны содержать пробелов.

      Ошибка, присутствуют два повторяющихся атрибута «id», а так же между id и number содержится пробел.

      После того, как XML документ создан, его необходимо сохранить, при этом не забывайте изменить расширение файла.

      Визуальный XML редактор Syntext Serna

      Введение

      С тех далеких времен как был изобретен язык разметки XML, он успел проникнуть во все сферы нашей повседневной компьютерной жизни. Мы его уже практически не замечаем; или по крайней мере старательно делаем вид. Вот тут он используется для хранения конфигурационных данных, а здесь он используется для удаленного вызова процедур (XML RPC). А вот тут он уже во всю стал основой для XHTML.

      Эти три буквы, изменившие мир, можно любить или ненавидеть. Но есть, как минимум, одна область IT, в которой XML произвел не только переворот сравнимый по масштабности с революцией, но и стал его непоколебимым фундаментом. Я говорю о создании и поддержке документации.

      Вы же ведь слышали о DocBook или fb2, не так ли?

      Внимание: в статье присутствует графический материал.

      Документация в XML. Почему?

      Хранение и последующая поддержка документации в XML предоставляет ряд преимуществ по сравнению с традиционными средствами (например, MS Word). Давайте кратко пробежимся по ним.

      Открытый формат

      Любой формат данных, основанный на XML, так или иначе является открытым. Открытым в нескольких смыслах.

      • Что если возникла необходимость в быстром (!) изучении содержимого XML документа? Это вам не бинарный блоб от Microsoft. Поэтому нет ничего проще чем открыть ваш документ в первом попавшемся текстовом редакторе. Будь-то продвинутый Emacs, либо аскетичный до глубины души Блокнот.
      • А как насчет небольшой магии? Используя существующие инструменты всегда можно преобразовать документ в XML в любой другой формат. Скажем в PDF или другой XML.
      • Иногда того что уже существует становится недостаточно. Если бы мы имели дело с автомобилем и нас перестали устраивать его грузовые качества, нам пришлось бы заниматься либо его тюнингом, либо поиском более совершенной модели “железного коня”. В случае с документами в XML у нас практически всегда развязаны руки для его последующего (причем неоднократного) расширения.

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

      Структурированность

      XML был рожден чтобы привнести хотя бы немного порядка в этот мир хаоса. Понятия “структура” и “последовательность” являются одними из фундаментальных основ формата. Благодаря набору достаточно строгих правил формирования документа обеспечивается структурированность данных представленных с помощью XML.

      Отделение содержимого от оформления

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

      Возможности повторного использования (re-use) контента

      Если сравнить XML со строительными кирпичиками, то околосвязанные с ним технологии можно смело называть цементным раствором. В качестве цемента здесь выступают XInclude или даже стандартный механизм сущностей (Entities; как внешних, так и внутренних). Так, например, благодаря им документ может формироваться из сумасшедшего количества других документов или их отдельных частей. Изменение одного из составных блоков немедленно отразится в финальном документе. И больше никаких copy & paste! Поистине разделяй и властвуй.

      Совместная разработка документа

      Возможность собирать финальную версию документа из нескольких файлов (будь-то из самодостаточных документов или просто из разрозненных кусков текста), позволяет каждому участнику команды работать в момент времени исключительно со своим “кирпичиком”, не мешая при этом другим: не создавая коллизии в редактируемом документе.

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

      И в придачу к этому, XML документы очень неплохо хранятся в системах контроля версий.

      Множество готовых инструментов и технологий

      Можно проверить документ на соответствие (прим: сленговое “провалидировать”) заданной структуре с помощью DTD/XML Schema/RelaxNG. А если хочется, то и преобразовать документ в XML с другой структурой используя XSLT. Да и в конце-концов, порой бывает просто полезно сделать выборку наиболее интересных и важных участков документа с помощью XPath.

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

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

      Наиболее известные форматы

      DocBook — один из самых первых, получивших широкое распространение, форматов для технической документации. С известным постоянством применяется в среде Linux. Используется, например, для формирования документации по API для библиотек GTK+ и GNOME.

      S1000D — стандарт хранения технических знаний в области авиа- и кораблестроении. Нашел применение как в NATO, так и в гражданских авиакомпаниях (в том числе и российских).

      fb2 (FictionBook) — популярный формат представления электронных книг. Владельцы электронных читалок, поддерживающих fb2, наверняка, уже не раз успели оценить преимущества от его использования.

      DITA — целая расширяемая (с фантастической обратной совместимостью!) архитектура, разработанная “Голубым Гигантом” (IBM), охватывающая весь цикл разработки, выпуска и доставки технической документации. С легкостью адаптируется для использования в различных сферах деятельности, а не только IT.

      Syntext Serna

      При все этом стоит отметить, что документацию пишут отнюдь не хакеры и программисты; они-то как раз делают это гораздо реже всех. А пишут ее относительно рядовые пользователи компьютеров, владеющие соответствующими лингвистическими знаниями и опытом. Зачем им, чтобы написать пару предложений текста создавать какие-то тэги, проверять их правильность, а также постоянно следить за правильной вложенностью элементов?

      Именно поэтому появился смысл в инструменте, скрывающим все сложности работы с XML и при этом четко подчеркивающим все его преимущества. Одним из таких редакторов стала Syntext Serna — визуальный (WYSIWYG) XML процессор для создания и поддержки технической документации в формате XML.

      Несмотря на приличную распространенность Syntext Serna в соседнем полушарии, в России о данном XML редакторе слышали мало. Для меня же Serna стала не только открытием, но и по-настоящему любимым редактором * ; ко всему прочему я считаю Syntext Serna гениальным программным продуктом. И вот почему.

      * Так, например, я достаточно активно применяю DocBook для формирования технических заданий к ПО. И создавать их в Serna гораздо эффективней, несмотря на использование любимого мной Emacs для всего остального.

      Общие характеристики

      Кроссплатформенность

      Разработан с использованием библиотеки Nokia (Trolltech) Qt. Благодаря этому вполне успешно работает на следующих платформах:

      • Windows;
      • GNU/Linux;
      • Mac OS X;
      • и даже Solaris/SPARC.

      Примечание: здесь и далее графический материал взят с сайта разработчика; гарантирую, что на момент написания данного материала, он полностью соответствует действительности.

      Вот так выглядит, к примеру, в Linux:

      И практически ничто не может помешать быть ему таким в Mac OS X:

      Free и Open Source

      Я больше приверженец, чем просто сторонник идеи, что ПО должно быть Свободным. Не без удовольствия отмечаю, что разработчики редактора придерживаются аналогичного мнения.

      Syntext Serna существует в двух редакциях: Open Source (Serna Free) и Enterprise (Serna Enterprise). Serna Free доступна и распространяется в рамках лицензии GNU GPL v3. Serna Enterprise, соответственно, стоит некоторого количества зеленых бумажных купюр и является закрытой. Исходный код Свободной версии вполне себе доступен на сайте разработчика.

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

      What You See Is What You Get (WYSIWYG)

      Писателю, творящему документацию в Serna, чисто теоретически даже не надо знать об XML. И уж тем более заниматься набором тэгов вручную. Ему достаточно просто понимать, что документ имеет фиксированную структуру, состоящую из элементов. Элемент имеет не только имя, но и семантику.

      Более того создаваемый текст не отображается для писателя скучной сплошной портянкой букв и фраз. В зависимости от типа редактируемого документа, каждый элемент текста визуально форматируется согласно своей сущности. Если писатель решит, что набранный им участок текста имеет назначение привлечь внимание читателя (упрощенно говоря, “обернут” в элемент aka “bold font”), то он [текст] будет выделен жирным цветом. А если ссылается на некий ресурс в Интернет ( для DITA), то он не только отобразится как ссылка, но и будет еще при этом кликабельным (как из самого редактора, так и из сформированного из него PDF).

      Важно: отображение документов выполняется в редакторе с помощью применения “на лету” XSLT/XSL(-FO)-стилей. Соответственно, написав, однажды XSLT/XSL(-FO)-стиль, его можно использовать как для отображения в самом редакторе, так для генерации из него, например, PDF. А это в свою очень хранит практически неисчерпаемый потенциал для последующего расширения функционала редактора * .

      * И это все настраивается во всех возможных направлениях (см. Расширение функционала).

      Поддержка основных форматов

      По-умолчанию Syntext Serna поддерживает “из коробки” форматы DocBook, DITA, XHTML, TEI P4, NITF.

      Важно: Однако “основных” совсем не значит, что этим этим все и ограничено. Serna предоставляет прекрасные средства, чтобы добавить поддержку любого пользовательского XML формата.

      Контекстная помощь по элементам

      Разработчик документации не обязан помнить полностью структуру документа. Тут ему на помощь приходит встроенная контекстная помощью элементам.
      В зависимости от текущей позиции курсора, Serna не только покажет какие элементы доступны для вставки, но и предоставит по ним справочную информацию с их описанием (с возможностью перехода в соответствующий раздел справочной документации).

      Валидация документа “на лету”

      Serna поддерживает DTD и XML Schema. С помощью них Serna не только не позволит добавить неверный элемент да и еще в неправильное место, но и сообщит в случае необходимости о нарушении структуры документа при работе с ним.

      Благодаря поддержке XML Schema, Syntext Serna в любой момент времени “знает”, какой элемент доступен для вставки в текущую курсорную позицию.

      Поддержка XML Entity и XInclude

      Помните выше про повторное использование контента? Это оно самое. Достаточно один раз создать участок текста, который предполагается использовать в нескольких местах, и вставить его требуемые в документе места. А чуть позже, изменив содержимое такой вставки, оно мгновенно обновится во всем документе!

      Создание HTML и PDF

      Используя внешние утилиты (поставляемые с Syntext Serna, или пользовательские), нет проблем, чтобы преобразовать редактируемый документ в PDF, HTML или в что-то еще буквально “в один клик” непосредственно из самого редактора. Такое “конвертирование” выполняется с помощью XSLT * .

      * Без наличия XSLT-стиля для документа, естественно, ничего не выйдет. Для DocBook и DITA такие свободно-распространяемые XSLT-стили уже включены в поставку.

      Расширение функционала

      Знакомые с объектно-ориентированным дизайном наверняка знают о существовании такого прекрасного принципа как OCP (Open-Closed Principle: “открыто для расширения, закрыто для модификации”). Для Syntext Serna он стал одним из ее краеугольных камней.

      Поддержка новых форматов

      Нет ничего проще, чем добавить поддержку нового (или изменить существующий) XML формата в Serna. Для этого достаточно создать профиль нового формата, указав:

      • (опционально-желательно) XML Schema формата по которой будет происходить валидация документа. Без этого, например, не взлетит в редакторе контекстная помощь;
      • (обязательно) XSLT/XSL(-FO)-стиль для отображения. Без него пользователь не только не сможет просмотреть документ, но и отредактировать его;
      • (опционально) Различные опции, меняющие поведение приятных для использования плюшек редактора.
      Создание “макросов”

      Syntext Serna предоставляет функциональность “контекстно-зависимой” вставки, близкой по сути к так называемым “макросам”: возможность простого создания кнопок, которые вставляют в редактируемый документ часто используемые тэги и фрагменты содержимого.

      Так, например, используя данную точку расширения, можно реализовать “стандартную” панель выделения текста (bold, italic, underline) в документах XML; что собственно и сделано для форматов DITA и DocBook (всегда можно посмотреть как это реализовано в самом редакторе и добавить аналогичное для вашего формата документов).

      Пользовательский интерфейс

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

      Это бывает полезно, когда требуется изменить эргономику пользовательского интерфейса или сделать доступными в виде кнопок часто используемые функции.

      Пожалуй это тот самый лакомый кусочек Syntext Serna, предоставляющий самые немыслимые возможности для расширения функциональности редактора.

      Syntext Serna предоставляет API для языков C++ и Python. Данные интерфейсы расширения покрывают примерно 95% функциональных возможностей рассматриваемого XML редактора. Если проводить черту сравнения, то возможности API Serna можно даже попробовать в относительно равной степени сравнить с API операционной системы Emacs.

      Используя API, можно интегрировать Serna практически с любой системой управления содержимым (CMS). Даже достаточно сложной; например, c EMC Documentum. Что собственно успешно и делается. Также, благодаря интегрированной в редактор библиотеке PyQt, не возникает видимых трудностей в разработке новых функциональных диалогов.

      Для каждой из точек расширения функционала редактора доступна самодостаточная документация с примерами. При необходимости в более “жизненных” примерах, всегда можно заглянуть в исходники Syntext Serna — она более чем на 80% состоит из этих кирпичиков.

      Другие возможности одной строкой

      Интересные факты

      • Syntext Serna является разработкой преимущественно российских разработчиков;
      • Когда-то Syntext Serna была закрытым и платным продуктом;
      • Автор данного текста принимал самое непосредственное участие в жизни и разработке Syntext Serna на протяжении нескольких лет; а также проповедовал идеи Open Source в компании Syntext;
      • Некоторые крупнейшие игроки российского Интернет-рынка не без видимого удовольствия используют Syntext Serna в своих рабочих окружениях;
      • Syntext Serna не предназначена для редактирования конфигурационных файлов в XML, хотя вполне себе способна на это;
      • Syntext Serna написана на C++ и в ее исходниках можно найти реализации многих интересных алгоритмов;
      • Вебсайт компании-разработчика создан с помощью Syntext Serna и плагина для нее под названием DITA WebKit.

      Предисловие

      1. Документация в XML не является панацеей, а Syntext Serna не является универсальным (хотя и стремится к этому) средством решения проблем связанных с созданием и поддержкой технической документации;

      В любом случае, просто попробуйте XML вместе Syntext Serna и сделайте свой выбор.
      И обязательно испытайте альтернативы:

      • oXygen XML Editor, www.oxygenxml.com (Windows);
      • XML Mind, www.xmlmind.com/xmleditor (Java).

      2. Syntext Serna поставляется с примерами готовых документов, демонстрирующих ее возможности. Воспользуйтесь соответствующим пунктом в меню Help, чтобы посмотреть их.

      3. А если взять какую-нибудь бесплатную систему управления контентом типа Alfresco и подружить ее с Syntext Serna, то можно получить неплохое решение для электронного документоборота.

      4. Не стесняйтесь сообщать разработчикам о найденных багах. Очень вероятно что вам даже ответят на русском языке.

      5.(пользователям Linux). Несмотря на доступность исходников, рекомендую для начального знакомства с редактором использовать готовые сборки. Предпосылки для этого следующие:

      • Опыт показывает, что “фирменные” сборки бывают иногда стабильней своих “самособранных” аналогов;
      • На данный момент процесс сборки Serna из исходников несколько нетривиален; несмотря на наличие довольно подробной инструкции;
      • Дистрибутивные сборки проходят через QA компании-разработчика.

      Язык xml введение

      Спецкурс проходит при кафедре теоретической и прикладной лингвистики филологического факультета МГУ в сентябре-декабре 2007 г. Спецкурс рассчитан на студентов всех курсов.

      Задания

      Примечание. Если при просмотре одного из файлов на сайте код не отображается, выберите в меню «Вид» команду «Просмотр HTML-кода».
      Задание является обязательным для получения зачёта.

      Задание № 2. Условный оператор и простые функции
      [инструкция к заданию, RTF, 40 Kb]
      Задание является обязательным для получения зачёта.

      Материалы

      Изучить язык XML и связанные с ним технологии вполне можно самостоятельно благодаря многочисленным справочным материалам и учебным пособиям, доступным в Интернете. В частности, можно порекомендовать учебники, размещённые на сайте w3schools.com. Это целый комплекс учебных материалов, лёгких в освоении и достаточных для первоначального знакомства с предметом:

      Инструменты

      XML-редактор/валидатор, не требующий инсталляции

      FOXE (FirstObject.com XML Editor) — чрезвычайно простой, компактный, быстродействующий XML-редактор. Не требует установки — просто распакуйте exe-файл (менее 900 Кб!) и запустите. Поддерживает Unicode (UTF-8). Проверяет правильность синтаксиса документа, осуществляет валидацию относительно DTD / Schema.

      XML-редактор/валидатор с поддержкой XSL

      Exchanger XML Lite — мощный XML-редактор с большим набором функций, в т. ч. встроенным механизмом применения трансформаций XSLT. Требует инсталляции с правами администратора. Требует наличия Java Virtual Machine версии не менее 1.4.2.

      Как проверить работу трансформации, если нет редактора с поддержкой XSLT?

      • Проверьте, что в заголовке XML-документа стоит ссылка на трансформацию:
    • Щёлкните документ XML в проводнике правой кнопкой и в открывшемся меню выберите «Открыть с помощью. «; в списке программ выберите Internet Explorer.

    Он-лайн валидатор

    Он-лайн валидатор поможет проверить правильность XML-документа, если DTD встроена или доступна в Интернете:
    http://www.stg.brown.edu/service/xmlvalid/

    Аннотация

    Многие виды лингвистических данных относятся к полуструктурированным : они слишком неупорядоченны, чтобы описывать их в виде таблиц, но вместе с тем обладают явной структурой, которую легко формализовать (например, с помощью регулярных выражений). Именно для работы с такими данными оптимально подходит язык разметки XML (eXtensible Markup Language). Точнее говоря, XML — это метаязык , на котором пользователь может описать свой язык для каждой конкретной задачи. На самом деле, часто его можно и не описывать , а сразу писать на нём :

    Введение в язык XML
    А. В. Архипов
    Многие виды лингвистических данных относятся
    к полуструктурированным .

    Одним из базовых принципов XML является чёткое разграничение оформления и содержания (этим он выгодно отличается от HTML) — элементы XML несут содержательную нагрузку, задаваемую пользователем . Для работы с данными, описанными в формате XML, разработан богатый инструментарий — механизмы навигации в структуре документов (XPointer, XPath), стили для визуализации (XSL), средства для трансформаций (XSLT) и др. Важно, что обработка XML-документов встроена во все современные операционные системы; кроме того, существуют высококачественные бесплатные приложения, работающие с XML.

    XML-разметка позволяет автоматизировать многие этапы обработки данных. Так, в ходе спецкурса мы увидим, как с помощью XML-трансформаций можно преобразовывать глоссированные тексты в формате Toolbox в красиво оформленные веб-страницы и документы OpenOffice / MS Word. В конце курса планируется познакомить слушателей с переходом от XML-документов к онлайновым базам данных MySQL.

    Введение в XML

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

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

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

    Приведем небольшой пример, написанный как на HTML, так и на XML.

    Пусть у нас есть небольшая таблица, в одной из ячеек которой помещен некоторый текст.

    Table border = 0 >

    H1 align =” center ”> Этот текст находится внутри HTML h1 >

    table border =” 0 ”>

    h1 align =” center ”> Этот текст находится внутри XML h1 >

    Теперь, взглянув на эти примеры, можно заметить отличия разметки XML от привычного нам HTML. Главное отличие состоит в том, что язык XML чувствителен к регистру символов, это касается как имен тегов, так и значений атрибутов. То есть

    .

    Также существенным отличием языка XML от HTML является тот факт, что каждое значение атрибута должно быть заключено в кавычки. Каждый элемент должен иметь закрывающий тег (пример: — в HTML такое написание допустимо, в XML элемент линии должен иметь закрывающий тэг: ).

    Имена и символы

    Символы в языке XML представляют собой числа, определенные в наборе символов 16-bit+ Unicode 2.1. Данный способ кодирования соответствует стандарту ISO/IEC 10646, описанному на сайте по адресу: //www.iso.ch.

    В языке XML все имена должны начинаться с буквы, символа нижнего подчеркивания ( _ ) или двоеточия (:) и продолжаться только допустимыми для имен символами. К числу последних относятся все вышеперечисленные символы, а также цифры, знак дефиса (-) или точки ( . ). Имена не могут начинаться со строк “xml”, “XML”, “xML”, “xmL”, “XMl”, “Xml”, “XmL”.

    Пример. Это правильные имена: Book, BOOK, myname: Catalog, Книга.

    Это не правильные имена: -BOOK, 101Далматинец, XMLForever, Лена+Петя=Любовь.

    Правильно оформленный документ XML состоит из трех главных частей:

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

    Рассмотрим стандартный пример простого документа XML.

    Здесь можно размещать комментарии и команды обработки

    book category BestSeller «>

    Title > Книга для тебя Title >

    Author >Иванов Author >

    Здесь разрешается размещать комментарии и команды обработки

    Рассмотрим подробнее структуру приведенную выше.

    Каждый документ XML начинается со следующего элемента: . Здесь мы объявляем, что документ является документов XML с кодировкой Windows-1251. Впрочем, кодировка может быть любая в зависимости от кодировки текста.

    Итак, пролог состоит из следующих атрибутов:

    • version – обязательный атрибут, значение которого должно быть равно 1.0 для поддержки следующих версий;
    • encoding – необязательный атрибут, указывающий на кодировку документа XML. Если атрибут не указан, то по умолчанию предполагается кодировка UTF-8 или UTF-16, в зависимости от формата начальной строки “ .

    Данный элемент «говорит», что представленная структура документа XML определяется внешней декларацией books.dtd, находящейся по адресу //yourserver.com/ .

    Тело состоит из элементов. Элементы – это основные строительные блоки разметки XML. Элементы могут содержать подэлементы, символьные данные, ссылки на символы, ссылки на объекты, команды PI (команды обработки), комментарии, разделы CDATA. Все данные XML, кроме комментариев, команд обработки и пустого пространства, должны содержаться внутри элементов.

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

    ), некий гибрид открывающего и закрывающего тэга, как показано в примере.

    Все элементы должны быть вложены друг в друга. Это выглядит примерно так:

    Таким образом, мы получаем некую иерархическую древовидную структуру с единственным корневым узлом, называемым корнем документа. Корень в документе может быть только один. Такой принцип составления документа можно сравнить с системным реестром Windows, т.е. со структурой типа иерархическая база данных.

    Для сравнения приведем два примера, как нельзя составлять документы XML.

    Здесь все очевидно. В первом примере мы видим отсутствие вложенности тэгов, а во втором – в документе существуют два корня.

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

    Атрибуты подчиняются тем же правилам, что и строковые константы, т.е. значения атрибутов должны быть заключены в двойные или одинарные кавычки, они могут содержать ссылки на объекты, ссылки на символы и/или текстовую информацию

    Пример: . В данном случае мы имеем элемент “Book” с атрибутом “category”, значением которого является слово “Fantasy”.

    В рекомендациях комитета W3C по XML 1.0 определены следующие специальные атрибуты: xml:space и xml:lang.

    Атрибут xml:space служит для указания приложению сохранять пустые пространства. Данный атрибут можно сравнить с тэгом

    в HTML, используемым для сохранения форматирования документа.

    Атрибут xml:lang введен для указания приложению о существовании текста со специфической кодировкой, где надо учитывать порядок сортировки символов, способы разделения слов при полнотекстовом индексировании и т.д. Указывая данный атрибут, мы даем понять приложению, какой язык использует элемент с данным атрибутом. Значением атрибута xml:lang является специльный двухбуквенный код, обозначающий соответствующий язык: fr для французского, ja для японского. Также двухбуквенный код может сопровождаться подкодами: en-US – американский английский, az-cyrillic – азербайджанская кириллица.

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

    В этом и заключается основная проблема эпилога.

    Большинство анализаторов XML (если не все) конец документа определяют по завершающему тэгу. Соответственно, вся та часть, что находится после завершающего тэга, анализатором будет игнорирована.

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

    . мио пишет 06.03.2002 @ 18:50

    Теперь можно задуматься.
    Если у нас есть просто данные, которыми мы манипулируем (аунтефикация пользователей к примеру), то всё нормально, если не . СКОРОСТЬ парсинга.

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

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

    Итак. Теперь у Нас есть сервер.

    Играем дальше.
    Для чего вы делаете свой сайт? Вы часто его обновляете? И последний вопрос — зачем вы генерите всё время одно и тоже, если оно не изменилось ? Быстро ? Думаете ? Кому ? Вам или серверу? А если возьмём 10,000 обращений к серверу за секунду? не вылетел ? — повезло)
    Итак. Зачем мы используем динамику ? — потому что так проще. Зачем утруждать себя, чтобы генерировать HTML`ки, если можно просто его генерить. Ну да. Так намного проще.

    Задача: описать структуру сайта, описать дейсвия (сценарии обработки действий), и, при изменении данных — сгенерировать новую структуру.

    Опять же возможен серверный вариант.
    Мы описываем действия гостевой, объясняем, что такое добавление сообщения, объясняем, как обрабатывать данные, как разбивать на страницы, описываем шаблоны и всё. Забудьте пхп и перл) Забудьте всё.
    Матрицы нет, есть только ложка.
    Зайдите в администрирование и нажмите инстал. Радуйтесь.
    Оно работает. Вы свободны.

    все события и имены вымышлены, они даже не могли существовать в реальности.

    А если серьёзно, если какие нибудь у кого то мысли будут, пишите на мыло, отвечу) если смогу)

    мда . люди . дошли . наконец таки .
    XML forever . и что?

    Всё равно оформляя таким способом документы, мы понимает, что всё равно пока они не пригодны для отображения. А качать и устанавливать плагины всевозможные не хочется.

    О чём я ?
    Люди, пока не появится нормального средства отображения XML или хотя бы не будет нормального парсера, XML будет непригоден для документов.

    Зачем можно использовать XML:
    — база
    — структура сайта
    — статистика
    — и всё что угодно, но не сами документы.

    Когда XML стал появляться в массах (ну появляться в массах он стал намного раньше), в том смысле, что по XML стали появляться описания, книжки всякие, он привлёк сразу одним — структура, удобная для восприятия.

    Тогда и пришла в голову мысль, преобразовывать данные к XML структуре.

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

    Что имеем? Модуль на Си, позволяющий на лету обрабатывать XML, преобразовывать его в хешь, и дальше — что хотим, то и делаем.
    С данными проблемы не должно быть.

    Итак. База пользователей:

    us:admin
    681833614

    . мио пишет 06.03.2002 @ 19:30
    . Nom-Shar пишет 07.03.2002 @ 13:29
    . advocat пишет 07.03.2002 @ 20:42
    . Dolce пишет 08.03.2002 @ 00:19

    Ну, PHP имеено и надо с XML как-то юзать. Прикинь, у тя есть классная прогга, с config.inc.php файлом на 300 опций, ну просто ВСЁ мона настроить. мона либо в нём копаться и пытаться всё мастерить, либо через XML пропарсить и красиво через интерфейс позволить свою проггу настроить. гг. мелочь конечно, но приятно.

    Начнём с того, что XML существовал за долго до HTML. вообще — HTML = кастрированный XML :)

    . мио пишет 09.03.2002 @ 15:32

    мда . люди . вы о чём говорите ?
    вы поймите, что XML — это не язык программирования как таковой, это либо язык разметки, либо язык, но который ВЫ сами можете расширить, но сам по себе он просто пустой)

    Я предложил использовать XML лишь как структуру, которую сам расширил, я написал для себя язык, который состоит из языка скриптования, таблиц и данных в XML, ну и парсера для HTML`а.
    А ваш PHP, как был, так и останется обычным языком для простых скриптов.

    Я предложил использовать его только лишь как структуру, для расширения того же php или perl.
    Т.е. вам надо один раз написать правила, и пользоваться.
    Я предложил язык, который описывает не ЧТО ДЕЛАТЬ, а КАК ДЕЛАТЬ. Тогда язык не играет значения, тогда важней сам алгоритм. Попробуй логически описать, как добавить в гостевую собщение, и как разбить на страницы. Получилось? Тогда Welcome Are You.

    Всегда с вами . мио)))

    . Neo пишет 09.03.2002 @ 23:27
    . мио пишет 11.03.2002 @ 16:05

    нео, зато ты крут)
    наверное ас в серверных технологиях)

    ты просто наверное совершенство)

    . denz пишет 13.03.2002 @ 12:02
    . Саша пишет 13.03.2002 @ 15:12
    . teo пишет 14.03.2002 @ 11:01

    PHP,ASP,Perl — их много, и все позволяют обрабатывать XML, так что PHP здесь не при чем. Это из другой оперы совсем.
    Я например использую ASP IIS5 для обработки XML. В будущем перепишу небольшие модули ASP на Java и оставлю без изменений XSL шаблоны. И все будет работать.
    Основная логика работы в XSLT лежит. И не недо заморачиваться способом реализации.

    Илон Маск рекомендует:  Faq прозрачная форма
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL