Xml язык программирования. Основы XML для начинающих. Объектная модель документа DOM

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

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

Язык XML привлекает к себе много внимания со стороны разработчиков и пользователей Интернет. Появляются новые языки, созданные на основе XML, возникают Web-сервера, использующие эту технологию для организации хранящейся на них информации. Полные спецификации XML и связанных с ним языков доступны на официальной странице W3C - www.w3.org

Годом рождения XML можно считать 1998 год, когда спецификация языка была утверждена. А началось всё с появления в 1986 году языка SGML. Хотя понятие гипертекста было введено В.Бушем еще в 1945 году и, начиная с 60-х годов, стали появляться приложения, использующие гипертекстовые данные, всплеск активности вокруг этой технологии начался тогда, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра текста. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Язык SGML предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD- описаниями, которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. Но в виду своей сложности, SGML использовался, в основном, для описания синтаксиса других языков, наиболее известным из которых является HTML.

HTML является упрощенной версией языка разметки SGML. Гораздо более простой и удобный, чем SGML, язык HTML позволяет определять оформление элементов документа и имеет некий ограниченный набор инструкций - тэгов, при помощи которых осуществляется процесс разметки. Инструкции HTML, в первую очередь, предназначены для управления процессом вывода содержимого документа на экране программы-клиента и определяют этим самым способ представления документа, но не его структуру. В качестве элемента гипертекстовой базы данных, описываемой HTML, используется текстовый файл, который может легко передаваться по сети с использованием протокола HTTP. Эта особенность, а также то, что HTML является открытым стандартом и огромное количество пользователей имеет возможность применять возможности этого языка для оформления своих документов, безусловно, повлияли на рост популярности HTML и сделали его сегодня главным механизмом представления информации в Web

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

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

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

rose,

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

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

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

Что такое XML?

Термин XML обозначает особую разновидность гипертекстовых документов. Чем же плохи обычные текстовые документы и что особенного есть в XML-документах?

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

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

Пример типичного XML-документа

ПРАЙМ-ТАСС

</p><p>Первый серийный самолет "Ту-214" производства КАПО</p><p>совершил первый испытательный полет</p><p>самолета Ту-214, выпущенный в серийном исполнении</p><p>на Казанском авиационно-производственном объединении</p><p>/КАПО/, совершил первый испытательный полет. Об</p><p>этом ПРАЙМ-ТАСС сообщили в Финансовой лизинговой</p><p>компании /ФЛК/.</p><p>Самолет изготовлен для хабаровской авиакомпании</p><p>"Дальавиа" в рамках соглашения, заключенного в 2000</p><p>году между "Дальавиа" и ФЛК, предусматривающего передачу в</p><p>лизинг двух Ту-214, производимых на КАПО. Ту-214</p><p>предназначен для перевозки 164 пассажиров на расстояние</p><p>7,2 тыс км на маршрутах Москва-Хабаровск, а также в Корею</p><p>Общие затраты на подготовку производства самолета составили</p><p>1,2 млрд руб. Из бюджета страны на эти цели было выделено</p><p>всего 1,5 млн руб. Подготовка к производству велась за счет</p><p>средств КАПО и бюджета Татарстана, а также полного</p><p>освобождения предприятия от республиканского и местных</p><p>налогов. Из республиканского бюджета на сертификацию</p><p>самолета было выделено 97 млн руб, а также 275 млн руб</p><p>для запуска механизма лизинга.</p><p>Предварительная стоимость Ту-214 составляет 22-25 млн долл.</p><p></InfoItem></p><p></InfoPacket></p> </td> </tr></table><p>Первые две строчки в этом примере должны присутствовать. Первая строчка означает, что данный документ является XML-документом, а вторая указывает на специальный ресурс <u>http://xml.prime-tass.ru/dtd/UIF.dtd </u>, в котором содержатся правила оформления данного XML-документа). Более подробную информацию по этим "волшебным словам" и не только можно получить на сайте <u>http://www.w3.org </u>.</p><p>Остальные строчки имеют явно выраженную иерархическую структуру, в которой есть один корневой тег <b><InfoPacket> </b>, а остальные теги вложены в него. Все эти теги встечаются парами, например, <b><InfoPacket> </b> и <b></InfoPacket> </b>, или <b><Text> </b> и <b></Text> </b>. Первые - обозначают открывающийся тег, вторые - парный ему закрывающийся. В XML-документе каждый открывающийся тег обязан иметь парный ему закрывающийся.</p><p>Тег <b><InfoPacket> </b> является самым главным тегом - корнем иерархической структуры и предназначен для хранения вложенных в него остальных тегов. Таким образом, он представляет собой своеобразный "конверт" или "обертку" - информационный пакет. В него вложены теги <b><Source> </b>, <b><Time> </b> и <b><InfoItem> </b>. Тег <b><Source> </b> содержит сведения об источнике информации, заключенной в данном информационном пакете ("адрес отправителя"). В теге <b><Time> </b> указано время создания информационного пакета ("время заклеивания конверта"). И, наконец, в теге <b><InfoItem> </b> находится собственно "письмо" - фактическое смысловое наполнение информационного пакета. Что же содержится в этом "письме"? В нем находятся теги <b><Time> </b>, <b><Title> </b> и <b><Text> </b>. В теге <b><Time> </b>, вложенном в тег <b><InfoItem> </b> указано когда наше "письмо" было написано, т.е. время написания содержимого <b><InfoItem> </b>. Не следует путать это время с моментом "заклеивания конверта" (созданием информационного пакета <b><InfoPacket> </b>). Обычно сначала пишут "письмо", а потом "заклеивают конверт" с ним. Кстати, если получателей несколько, то придется "заклеить" несколько "конвертов" с одинаковыми копиями "письма". Или возможна ситуация, когда нужно положить в один конверт несколько "писем" для одного получателя. В этом случае придется поместить внутри тега <b><InfoPacket> </b> несколько тегов <b><InfoItem> </b>. Кроме тега <b><Time> </b> в <b><InfoItem> </b> вложен тег <b><Title> </b>, в котором написан заголовок документа или "письма", если продолжить нашу аналогию. И, наконец, остался тег <b><Text> </b>, который несколько раз встречается внутри тега <b><InfoItem> </b>. Этот тег <b><Text> </b> обозначает просто абзацы документа.</p><p>Осталось только сказать, что означают и для чего нужны записи, типа <b>type="datetime" </b> или <b>type="string" </b> внутри названий тегов <b><Source> </b>, <b><Time> </b> и <b><Title> </b> и почему их нет в тегах <b><Text> </b>. Такого рода записи в XML называются атрибутами тегов. В <a href="/chto-takoe-inkapsulyaciya-dannyh-v-sluchae-php-metody-klassa-dostupa.html">данном случае</a> мы имеем один атрибут <b>type </b>, который принимает значения <b>"datetime" </b> и <b>"string" </b>. Значения атрибутов в XML всегда заключаются в кавычки. Атрибут <b>type </b> нужен для того, чтобы точно указать как следует интерпретировать последовательность символов, заключенную внутри тега с этим атрибутом. Значение <b>"datetime" </b> означает, что значение тега нужно интерпретировать как дату и время, а значение <b>"string" </b> - как обычную строку. У тега <b><Text> </b> атрибут <b>type </b> отсутствует, т.к. по смыслу этого тега и так ясно, что в этом теге содержится текстовая строка.</p><p>XML - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента <i>rose </i>в документе необходимо использовать тэг <i><flower> </i>;, то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты, подобные следующему:</p><p><flower>rose</flower></p><p>Набор тэгов может быть легко расширен. Если, предположим, мы хотим также указать, что описание цветка должно по смыслу идти внутри описания оранжереи, в которой он цветет, то просто задаем новые тэги и выбираем порядок их следования:</p><p><conservatory></p><p><flower>rose</flower></p><p></conservatory></p><p>Если мы хотим посадить туда еще несколько цветочков, то должны внести следующие изменения:</p><p><conservatory></p><p><flower>rose</flower></p><p><flower>tulip</flower></p><p><flower>cactus</flower></p><p></conservatory></p><p>Как видно, сам процесс создания XML документа очень прост и требует от нас лишь базовых знаний HTML и понимания тех задач, которые мы хотим выполнить, используя XML в качестве языка разметки. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно определять данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям и добивается такого типа разметки, которое необходимо ему для выполнения операций просмотра, поиска, анализа документа.</p><p>Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Сегодня в глубинах W3C находится на рассмотрении рабочий вариант стандарта XML-QL(или XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. В этой области одним из перспективных направлений является интеграция Java и XML - технологий, позволяющая использовать мощь обеих технологий при построении машинно-независимых приложений, использующих, кроме того, универсальный формат данных при обмене информации.</p><p>XML позволяет также осуществлять контроль за корректностью данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными приложениями, работающими в одной системе. Создавая структуру механизма обмена информации в самом начале работы над проектом, менеджер может избавить себя в будущем от многих проблем, связанных с несовместимостью используемых различными компонентами системы форматов данных.</p><p>Также одним из достоинств XML является то, что программы-обработчики XML- документов не сложны и уже сегодня появились и свободно распространяются всевозможные программные продукты, предназначенные для работы с XML-документами. XML поддерживается сегодня в <a href="/microsoft-internet-explorer-10-i-vyshe-besplatnye-programmy-dlya-windows.html">Microsoft Internet</a> Explorer 4/0 и в бэта-версиях IE5. Было заявлено о его поддержке в последующих версиях Netscape Communicator, СУБД Oracle, DB-2, в приложениях MS-Office . Все это дает основания предполагать, что, скорее всего, в ближайшем будущем XML станет основным языком обмена информации для информационных систем, заменив собой, тем самым, HTML. На основе XML уже сегодня созданы такие известные специализированные языки разметки, как SMIL, CDF, MathML, XSL, и список рабочих проектов новых языков, находящихся на рассмотрении W3C, постоянно пополняется.</p> <p>XML был создан для описания данных с прицелом на то, что представляют собой данные.</p> <p>HTML был создан для отображения данных с прицелом на то, как выглядят отображаемые данные.</p> <h3>Что такое XML?</h3> <ul><li>XML расшифровывается как <b>Расширяемый язык разметки (EXtensible Markup Language) </b></li> <li>XML — это <b>язык разметки </b>, похожий на HTML</li> <li>XML был создан для <b>описания данных </b></li> <li>Теги XML не предопределены. Вы можете <b>использовать свои теги </b></li> <li>XML использует <b>Определение Типа Документа (Document Type Definition — DTD) </b> или <b>схему XML (<a href="/soap-soobshchenie-simple-object-access-protocol-soap---obshchee-opisanie-vvedenie-v.html">XML Schema</a>) </b> для описания данных</li> <li>XML <b>рекомендован W3С </b></li> </ul><h3>Главное различие между XML и HTML</h3> <p><b>XML был разработан для передачи данных. </b></p> <p>XML не является заменой HTML.</p> <p>XML и HTML были разработаны с различными целями:</p> <ul><li>XML был создан для описания данных и основное внимание уделяется тому, какие данные передаются</li> <li>HTML был разработан для отображения данных основное внимание уделяются отображению данных</li> <li>Таким образом, <a href="/bolshie-bukvy-v-html-sozdanie-zaglavnyh-bukv-s-pomoshchyu-css-zaimemsya.html">HTML больше</a> связан с отображением информации, в то время как XML — описанием информации.</li> </ul><h3>XML ничего не делает</h3> <p>XML не был создан для выполнения каких-либо действий.</p> <p>Может быть это будет непросто понять, но XML не выполняет никаких действий. Этот язык разметки был создан для структурирования, хранения и передачи информации. Следующий пример является запиской от Антона Ире, представленной в XML:</p> <p><to>Ira</to></p> <p><from>Anton</from></p> <p><heading>Напоминание</heading></p> <p><body>Не забудь о встрече на этой неделе!</body></p> <p>Как видите, язык XML очень лаконичен.</p> <p>Записка (<b><note> </b>) состоит из заголовка (<b><heading> </b>) и содержимого (<b><body> </b>) письма. В ней указаны отправитель (тег <b><from> </b> — «от кого письмо») и получатель (тег <b><to> </b> — «кому»). Но это письмо ничего не делает. Это чистая информация, завернутая в теги. Для того, чтобы отправить, получить и отобразить эту информацию, кто-то должен написать программу.</p> <h3>XML — свободный расширяемый язык разметки</h3> <p><b>Теги XML не предопределены. Вы можете вводить свои теги. </b></p> <p>Теги и структура документа в HTML заданы заранее. Создатель html-документа может только использовать теги, определенные стандартами.</p> <p>XML позвволяет вводить свои теги и структуру документа автору xml-документа. Теги, приведенные в примере (например, <to> и <from>) не определены стандартом XML. Эти теги введены автором документа.</p> <h3>XML является дополнением HTML</h3> <p><b>XML — это не замена HTML. </b></p> <p>Важно понять, что XML не является заменой HTML. В будущем веб-разработчики будут использовать XML для описания данных, в то время как, HTML будет использоваться для форматирования и отображения этих данных.</p> <p>Мое <a href="/chto-za-mobilnyi-operator-nazvany-samye-hudshie-i-luchshie-sotovye.html">лучшее определение</a> XML таково: XML — это кроссплатформенный, не зависящий от программного и <a href="/geforce-experience-staraya-versiya-udalenie-nvidia-geforce-experience-podderzhivaemoe-apparatnoe-obes.html">аппаратного обеспечения</a> инструмент передачи информации. </p> <p><b>Заметка: </b> Кроссплатформенный — пригодный для любой операционной системы и любого аппаратного обеспечения.</p> <p>Если вы знаете, существуют различные <a href="/kak-pravilno-ustanovit-operacionnuyu-sistemu-ustanovka-operacionnoi.html">операционные системы</a>, кроме знакомой нам Windows. Это ОС Linux, Mac и другие.</p> <p>Насчет аппаратного обеспечения можно сказать следующее: это могут быть обычные ПК, ноутбуки, <a href="/skachat-prilozhenie-chtoby-risovat-na-kompyutere-medibang-paint.html">карманные компьютеры</a> и т.д.</p> <h3>XML в будущей веб-разработке</h3> <p><b>XML будет использоваться везде. </b></p> <p>Мы являемся свидетелями разработки XML с момента его создания. Было удивительно видеть, как быстро XML стандарт был разработан и как быстро <a href="/how-to-improve-the-signal-of-a-satellite-dish-increase-the-satellite-antenna-signal.html">большое количество</a> поставщиков <a href="/programmnoe-obespechenie-is-programmnoe-obespechenie-informacionnyh-sistem.html">программного обеспечения</a> приняли этот стандарт. Мы твердо убеждены в том, что XML будет столь же важной составляющей будущего Интернет, как HTML, который является основой интернета, и что XML будет самым распространенным инструментом для всех манипуляций с данными и передачи данных.</p> <p>Первые шаги </p><p>Разберем теперь более подробно первый пример. Напомним его текст.</p> <p><?xml version="1.0"encoding="WINDOWS-1251"?> </span><br>< tutorial > <br>< title > "Заметки об XSL"</ title > <br>< author > Леонов Игорь Васильевич</ author > <br></ tutorial > </p> <p>Первая строка информирует браузер о том, что файл имеет формат XML. Атрибут version является обязательным. Атрибут encoding не является обязательным, но если у вас в тексте есть русские буквы, то необходимо вставить этот атрибут, в противном случае XML-файл просто не будет обрабатываться, - вы получите сообщение об ошибке.</p> <p>Следующие строки - это тело XML-файла. Оно состоит из элементов, которые в совокупности образуют <a href="/germanskie-dobavit-kommentarii-comment-uluchshaem-kommentarii-v-wordpress.html">древовидную структуру</a>. Элементы идентифицируются тегами и могут быть вложены друг в друга.</p> <p>Элементы могут иметь атрибуты, значения которых тоже могут обрабатываться в соответствии с шаблоном.</p> <p>На верхнем уровне XML-файла всегда находится один элемент. То есть файл вида</p> <p><?xml version="1.0"encoding="WINDOWS-1251"?> </span><br>< tutorial > <br>< title > "Заметки об XSL"</ title > <br>< author > Леонов Игорь Васильевич</ author > <br></ tutorial ><br> < tutorial > <br>< title > "Введение в CSP"</ title > <br>< author > Леонов Игорь Васильевич</ author > <br></ tutorial > </p> <p>не будет обрабатываться браузером. Для преобразования в корректный XML-файл нужно добавить теги элемента <a href="/chto-takoe-domen-pervogo-i-vtorogo-urovnya-domeny-verhnego-urovnya-stran-domeny.html">верхнего уровня</a>, например</p> <p><?xml version="1.0"encoding="WINDOWS-1251"?> </span><br>< knowledgeDatabase > <br>< tutorial > <br>< title > "Заметки об XSL"</ title > <br>< author > Леонов Игорь Васильевич</ author > <br></ tutorial ><br> < tutorial > <br>< title > "Введение в CSP"</ title > <br>< author > Леонов Игорь Васильевич</ author > <br></ tutorial ><br>< /knowledgeDatabase > </p> <p>Отметим, что имена тегов чувствительны к регистру символов. Подробнее об этом можно прочесть в любой книге по XML - элементам и атрибутам в этих книгах уделяется достаточно большое внимание.</p> <p>Перейдем теперь к шаблону преобразования - к XSL-файлу. Задача XSL-файла - преобразовать дерево XML-файла в другое дерево, которое, например, будет соответствовать формату HTML и может быть изображено на экране браузера с учетом форматирования, выбора шрифтов и т.п.</p> <p>Для того, чтобы браузер выполнил необходимое преобразование, нужно в XML-файле указать ссылку на XSL-файл</p> <p><?xml version="1.0"encoding="WINDOWS-1251"?> </span><br><span><?xml-stylesheet type="text/xsl" href="ex01-1.xsl"?> </p> <p>Рассмотрим теперь текст XSL-файла</p> <p>< xsl:stylesheet version =" 1.0" xmlns:xsl =" <b>http://www.w3.org/TR/WD-xsl </b>"> <br>< xsl:template match =" /"> <br>< p >< strong >< xsl:value-of select =" //title""/> </ strong ></ p > <br>< p >< xsl:value-of select =" //author"/> </ p > <br></ xsl:template > <br></ xsl:stylesheet > </p> <p>Первая строка файла содержит тег элемента xsl:stylesheet . Атрибуты элемента - номер версии и ссылка на пространство имен. Эти атрибуты элемента xsl:stylesheet являются обязательными. В нашем случае пространство имен - это все имена элементов и их атрибутов, которые могут использоваться в XSL-файле. Для XSL-файлов ссылка на пространство имен является стандартной.</p> <p>Заметим, что XSL-файл является одной из разновидностей XML-файлов. Он не содержит пользовательских данных, но формат его тот же самый. Файл содержит элемент верхнего уровня xsl:stylesheet , а далее идет дерево правил преобразования.</p> <p>В настоящем документе мы не будем подробно пояснять, что означает каждый элемент XSL-файла. Мы будем приводить <a href="/obrabotka-sobytii-v-javascript-onclick-vychisleniya-sobytie-onclick-v-javascript-i-jquery-na.html">различные примеры</a> и показывать результат в каждом примере. Читатель сможет самостоятельно сопоставить различные элементы XSL-файла и инициируемые этими элементами преобразования исходного XML-файла с пользовательской информацией.</p> <p>В <a href="/kak-skopirovat-tekst-s-fotografii-dlya-dalneishego-redaktirovaniya-obzor.html">дальнейшем тексты</a> XML- и XSL-файлов мы будем приводить в черно-белом варианте. Вы всегда сможете открыть реальный файл и посмотреть все в цвете. При необходимости закомментируйте ссылку на XSL-файл. Синтаксис комментария следующий - <span><!-- Текст комментария --> </span>. В текст комментария нельзя вставлять символы -- .</p> <p>В первом примере мы посмотрели, как с помощью элемента xsl:value-of можно вывести в HTML-формате содержание элемента (текст, заключенный между тегами). Теперь мы посмотрим, как при помощи того же самого элемента можно вывести значение атрибута элемента.</p> <p>Рассмотрим следующий XML-файл ex02-1.xml</p> <p><?xml version="1.0" encoding="WINDOWS-1251"?><br> <?xml-stylesheet type="text/xsl" href="ex02-1.xsl"?><br> <tutorial><br> <dog caption="Собака: " name="Шарик"><br> <dogInfo weight="18 кг" color="рыжий с черными подпалинами"/><br> </dog><br> </tutorial></p> <p>В этом файле информация хранится не в содержании элементов, а в виде значений атрибутов. Файл ex02-1.xsl имеет вид</p> <p><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"><br> <xsl:template match="/"><br> <P><B><xsl:value-of select="//dog/@caption"/></B><br> <xsl:value-of select="//dog/@name"/>.<br> <xsl:value-of select="//dogInfo/@weight"/>, <xsl:value-of select="//dogInfo/@color"/>.</P><br> </xsl:template><br> </xsl:stylesheet></p> <p>Обратите внимание на синтаксис ссылки на атрибут элемента - //dog<b>/@ </b>name . Имя элемента и имя атрибута разделены парой символов "/@ ". В остальном синтаксис тот же самый, что и для ссылки на содержание элемента.</p> <p>Результат имеет следующий вид:</p> <p>Собака: <span> Шарик. 18 кг, рыжий с черными подпалинами. </p> <p>Обратим теперь внимание на <a href="/onlain-servis-dlya-hraneniya-fotografii-preimushchestva.html">следующий момент</a>. В XSL-файле мы никак не использовали элемент tutorial . На самом деле можно было использовать <a href="/html-polnyi-ili-korotkii-put-k-resursam-otnositelnye-i-absolyutnye-puti-v-html-i.html">полный путь</a>. Перепишем наш XML-файл, увеличив глубину дерева (ex02-2.xml)</p> <p><?xml version="1.0" encoding="WINDOWS-1251"?><br> <?xml-stylesheet type="text/xsl" href="ex02-2.xsl"?><br> <tutorial><br> <enimals><br> <dog caption="Собака: " name="Шарик"><br> <dogInfo weight="18 кг" color="рыжий с черными подпалинами"/><br> </dog><br> </enimals><br> </tutorial></p> <p>Читатель научится использовать XSLT, который позволяет преобразовывать документы из одного формата в другие. Освоит инструмент XPath, используемый для обращения к <a href="/kak-udalit-zagruzchik-grub-iz-bios-kak-ubrat-ogrubevshuyu-kozhu-na.html">различным частям</a> XML-документов. Эти и другие, описываемые в книге, технологии позволяют выводить документы в <a href="/ispolnyaemaya-spravka-v-formate-html-microsoft-chm-kompilirovannyi-fail-spravki.html">формате HTML</a>, использовать различные кодировки, в частности, для русификации и многое, многое другое.</p> <p>О чем еще эта книга? На этот вопрос можно ответить так: в книге Алексея Валикова «Технология XSLT» рассматриваются технологии, которые облегчают применение структурированных данных в web-приложениях, тем самым открывая дорогу большим и очень большим проектам.</p> <h1></h1> <p>«Самоучитель XML» идеально подходит для <a href="/uroki-po-izucheniyu-kompyutera-kak-izuchit-kompyuter-noutbuk.html">самостоятельного изучения</a> <a href="/kompyuternye-i-informacionnye-tehnologii-v-upravlenii-informacionnaya-tehnologiya-upravleniya-struktu.html">компьютерной технологии</a> — XML, которая достаточно быстро проникает практически во все сферы обмена информацией. В этой книге представлены самые новые аспекты технологии XML — язык создания запросов XQuery, язык описания документов XSD, а также форматирование документов на языке XSL-FO. Отметим, что начав с азов технологии XML, Ильдар Хабибуллин постепенно выводит пользователя на уровень <a href="/programma-dlya-sozdaniya-dvd-menyu-na-russkom-dvdstyler-sozda-m-videodisk-s.html">самостоятельного создания</a> разнообразных программ-обработчиков документов XML. Изложение базируется на авторском курсе лекций и для него характерна краткость и простота. Огромное количество упражнений и примеров даёт возможность глубоко освоить материал. Самоучитель предназначен для программистов.</p> <h1></h1> <p>Книга «XSLT. Сборник рецептов» — незаменимое пособие для всех программистов, так как в ней приведены решения сотен задач, с которыми приходится сталкиваться разработчикам при использовании языка XSLT (Extensible Stylesheet Language Transformation). <a href="/sistema-upravleniya-bazami-dannyh-sql-server-sql---yazyk-relyacionnoi.html">Данный язык</a> является основным инструментом для обработки XML-документов, однако многие разработчики так и не освоили его в должной степени, предпочитая модифицировать наличествующий код, а не создавать новый. Данное издание поможет разобраться с обеими версиями XSLT. Большим плюсом книги является тот факт, что здесь не просто приведены решения тех или иных задач, возникающих в ходе создания программ, но и дается обоснование решения и объяснение применяемой методики, а также приводятся <a href="/skolko-ozu-podderzhivaet-windows-7-64-bit-uvelichenie-operativnoi.html">альтернативные решения</a>. Книга рассчитана на программистов <a href="/kakoi-uroven-sar-smartfona-nokia-3-uroven-sar-v-raznye-periody.html">разного уровня</a> квалификации — как на тех, кто уже знаком с языком XSLT, так и на тех, кто только начинает его осваивать.</p> <h1></h1> <p>XSLT – удобные и <a href="/effektivno-li-rabotaet-sistema-raspoznavaniya-lic-raspoznavanie-lic-pri.html">эффективные системы</a> преобразования документов, широко распространенные сегодня. Стивен Холзнер не только детально анализирует синтаксис XSLT, но и доступно объясняет <a href="/karaoke-in-good-quality-karaoke-is-a-modern-song.html">современные способы</a> использования этой системы. В этой книге для вас собраны сотни примеров, рассказывающих, как на практике осуществляются <a href="/dvuhetapnoe-primenenie-xslt-preobrazovanie-xslt-xslt-transformation-sozdanie.html">преобразования XSLT</a> на web-серверах, как используются браузеры для преобразований на лету. Книга необходима всем, кто хочет изучать XSLT и использовать его на практике.</p> <h1></h1> <p>В книге «XML и SOAP программирование для серверов BizTalk» автора Брайана Трэвиса рассмотрены технологии, заложенные в основе <a href="/elektronnaya-kommerciya-sistemy-elektronnoi-kommercii.html">электронной коммерции</a> и современного нам Интернет-бизнеса. Детально излагаются стандарты иерархического структурирования информации, идеология Biztalk и схемы представления. Кроме того, затронуты вопросы, касающиеся интеграции и разработки приложений на платформе Biztalk. Содержание книги пояснено на <a href="/peredelka-akusticheskoi-kolonki-na-proigryvatel-raznoe-dorabotka.html">конкретных примерах</a> создания клиента и сервера SOAP и разработки решения для автоматизации осуществления обмена между несколькими веб-сайтами и XML-документами. В приложениях собран богатый материал справочного характера, в том числе последние спецификации инфраструктуры BizTalk и <a href="/protokol-soap-i-web-services-chto-takoe-wsdl-soap-i-rest.html">протокола SOAP</a>. Издание представляет интерес для менеджеров Интернет-проектов, создателей ПО электронной коммерции и всех, кто хочет пополнить свои знания о <a href="/ponyatie-sistemy-peredachi-dannyh-i-ih-klassifikaciya-klassifikaciya.html">современных методах</a> структурирования информации. Книгу составляют 12 глав, четыре приложения и <a href="/blok-instrumentov-predmetnyi-ukazatel-kak-otkryt-ili-redaktirovat-ranee.html">предметный указатель</a>. На диске, прилагаемом к книге, записаны ПО, документация, примеры реализации приложений и <a href="/rambler-pochta-geostroi-pochta-rambler-ru-vhod-v-moi-yashchik.html">электронная версия</a> печатного издания.</p> <h1></h1> <p>В книге «Разработка XML Web-сервисов средствами Microsoft.NET» описывается построение и применение Web-сервисов средствами <a href="/krossbrauzernaya-platforma-microsoft-silverlight-dlya-raznyh-os-besplatnye.html">платформы Microsoft</a> .NET. Приводится рассмотрение Интернет-технологий ASP.NET и Remoting, DISCO, UDDI, протокола SOAP, языки XML, WSDL, и их роль в разработке Web-сервисов. Содержится описание новых <a href="/istoriya-versii-vindovs-operacionnye-sistemy-i-istoriya-ih.html">последних разработок</a> корпорации Microsoft, которые упрощают проектирование и распространение Web-сервисов. Здесь же содержится обсуждение <a href="/internet-vremya-v-seti-s-polzoi-produktivnye-sposoby-potratit-vremya-v.html">продуктивных способов</a> отладки Web-сервисов, защиты <a href="/kak-organizovat-zashchishchennyi-kanal-svyazi-kak-zashchitit-peredavaemuyu-informaciyu.html">передаваемой информации</a>, обеспечение масштабируемости и повышенной готовности Web-сервисов. Книга дополнена множеством примеров для лёгкого понимания теории.</p> <h1></h1> <p>Книга Грема Малкольма «Программирование для <a href="/szhatie-bazy-dannyh-i-zhurnala-tranzakcii-v-microsoft-sql-server-chto-takoe-szhatie-v-microsoft-sql.html">Microsoft SQL</a> Server 2000 с <a href="/glavnaya-stranica-wordpress-v-sitemap-ispolzovanie-plagina-google-xml-sitemaps.html">использованием XML</a>» является практическим руководством по разработке бизнес-приложений на основе XML и <a href="/kak-sozdat-bazu-dannyh-v-srede-sql-server-ispolzovanie-sql-server-enterprise-manager.html">SQL Server</a>. Здесь детально рассматриваются получение, вставка и сопоставление XML-данных с помощью популярных технологий XPath, XDR-схемы, язык XSL Transformation, HTTP и OLE DB и <a href="/amd-llano-poslednie-soki-atlona-tehnologii-izgotovleniya-i.html">последних технологий</a>. Размещенные в книге примеры показывают, как перенести значительные бизнес-процессы предприятия в Web с применением SQL Server и XML. В данном издании 9 глав и приложение, в котором описывается об основах <a href="/osnovy-xml-dlya-nachinayushchih-polzovatelei-yazyk-xml---opisanie-tehnologii.html">языка XML</a> персонально для администраторов СУБД SQL Server. Книга будет полезна всем, желающим обучиться с <a href="/chtenie-hml-failov-postroenie-dokumenta-xml-s-pomoshchyu-kakih.html">помощью XML</a> интегрированию приложений и бизнес-процессов предприятий, которые сохраняют данные в БД SQL Server.</p> <h1></h1> <p>В книге Алексея Старыгина «XML: разработка Web-приложений» есть подробная обрисовка языка XML совместно с языками XSLT и XPath, описанными в первой части. Во втором издании находится <a href="/git-prilozhenie-git-dlya-nachinayushchih-okonchatelnoe-prakticheskoe-rukovodstvo.html">практическое руководство</a> по применению материала, приведённого в первом. Кроме XML, рассматриваются задачи, которые бывают при построении реальных Web-приложений, таких, как передача параметров HTTP-запроса серверу, проектирование форм, представление данных с помощью каскадных стилевых таблиц, обработка действий пользователя с помощью JavaScript.</p> <h1></h1> <p>Учебник «XML. Справочник WEB-мастера» является <a href="/kak-ubrat-startovuyu-stranicu-rambler-kak-ubrat-startovuyu.html">незаменимым инструментом</a> для тех, кто интересуются новинками в технологии разработки и оформлении документов, которые будут размещаться на Интернет — сайтах. Он ознакомит вас с основами XML. В <a href="/internet-enciklopedii-bazy-dannyh-svobodnogo-dostupa-onlainovye.html">данном справочнике</a> имеются определения всех элементов XML, рассматриваются многие вопросы по оформлению документов XML, подбору стилей. Помимо этого в справочнике предоставлены полезные сведения о том, как создаются гиперссылки XLink, как производится идентификация ресурсов XPointer и информация о использовании каналов CDF, как на WAP-ресурсах, так и в Интернете. Помимо этого имеются спецификации WML, XML, XML и Schema.</p> <h1></h1> <p>В книге «XML. Энциклопедия» приведены два основных подхода к программированию XML: подход для Microsoft и его альтернатива. Книга раскрывает множество <a href="/stoit-li-davat-druzyam-sovety-pyat-poleznyh-sovetov-o-tom-kak-davat-sovety-i.html">полезных тем</a>, такие как: <a href="/chto-takoe-kaskadnye-tablicy-stilei-opredelenie-cvetov-uroki-css.html">каскадные таблицы</a> стилей, форматирование, использование браузеров, разбор и подключение документов XML к <a href="/nado-li-zagruzhat-obnovleniya-na-smartfon-kak-otklyuchit.html">различным приложениям</a> и серверам баз данных. Начинающий программист сможет опираться на данные книги для изучения XML, а опытный программист расширит свои знания.</p> <p>Введение в <a href="/chem-otlichaetsya-html-ot-xhtml-yazyk-razmetki-xhtml-pravilnaya-vlozhennost.html">правильную разметку</a></p> <p><i>XML </i> означает <i>Extensible Markup Language, </i> с акцентом на <i>markup </i> (разметка). Вы можете создавать текст и размечать его при помощи обрамляющих тегов, превращая каждое слово, предложение или фрагмент в идентифицируемую, сортируемую информацию. Создаваемые вами файлы, или <i>экземпляры документа </i>, состоят из элементов (тегов) и текста, причем элементы помогают правильно понимать документ при чтении на бумаге или даже обрабатывать его в <a href="/vygruzka-failov-iz-1s-otchet-vygruzka-otchetov-v-elektronnom-vide-poluchenie.html">электронном виде</a>. Чем больше описательных элементов, тем больше частей документа можно идентифицировать. С первых дней существования разметки одно из ее преимуществ заключается в том, что в случае потери <a href="/vazhnye-detali-sistemy-obnovleniya-kompyuternoi-sistemy-windows.html">компьютерной системы</a> распечатанные <i>данные </i> все равно остаются читабельными благодаря тегам.</p><p>Языки разметки прошли путь от первых форм, создаваашихся компаниями и госучреждениями, до <a href="/matematicheskie-funkcii-klass-math-standartnye-matematicheskie.html">Стандартного языка</a> обобщенной разметки (Standard Generalized Markup Language - SGML), <a href="/yazyk-razmetki-gipertekstovyh-stranic-html-tehnologii-web.html">Гипертекстового языка</a> разметки (Hypertext Markup Language - HTML) и в конечном итоге до XML. SGML может показаться сложным, а HTML (который, по сути, сначала был просто набором элементов) оказался недостаточно мощным для идентификации информации. XML разрабатывался как простой в применении и удобный для расширения язык разметки.</p><p>В XML можно создавать свои <a href="/sozdanie-infografika-kak-dobavit-sobstvennye-elementy-na.html">собственные элементы</a>, что позволяет точно представлять фрагменты данных. Документы можно не просто разделять на абзацы и заголовки, но и выделять любые фрагменты внутри документа. Чтобы это было эффективно, нужно определить конечный перечень своих элементов и придерживаться его. Элементы можно определять в Описании типа документа (Document Type Definition - DTD) или в схеме, что будет кратко обсуждено ниже. Когда вы освоите и начнете использовать XML, не бойтесь экспериментировать с именами элементов, создавая реальные файлы.</p><h2>Построение документа XML</h2><p>Как уже упоминалось, файлы XML состоят из текста и разметки. Большая часть текста помещается в элементы, в которых текст окружен тегами. Например, допустим, нужно создать поваренную книгу в <a href="/universalnyi-obmen-dannymi-v-formate-xml-programmno.html">формате XML</a>. У нас есть рецепт под названием <i>Ice Cream Sundae </i>, который нужно преобразовать в XML. Чтобы разметить название рецепта, заключим его текст в элемент, который начинается и заканчивается тегами. Этот элемент можно назвать recipename . Чтобы отметить начальный тег элемента, поместим его имя в угловые скобки <>), вот так: <recipename> . Затем введем текст Ice Cream Sundae . После текста поставим замыкающий тег, который представляет собой имя элемента в угловых скобках, плюс косая черта завершения элемента (/) перед именем элемента, вот так: </recipename> . Эти теги образуют <i>элемент </i>, в который можно вводить текст и даже другие элементы.</p><p>Имена элементов можно создавать как для отдельных документов, так и для групп документов. В соответствии с вашими требованиями можно указать правила, которые должны соблюдаться для элементов. Элементы могут быть строго специальными или достаточно общими. Правила должны также определять, что допустимо включать в каждый элемент. Они могут быть строгими, свободными или промежуточными. Просто создайте элементы, определяющие те части вашего документа, которые, на ваш взгляд, важны.</p><h3>Начало создания файла XML</h3><p>Первой строкой документа XML может быть декларация XML. Эта необязательная часть файла определяет его как <a href="/format-xml-kak-sozdat-iz-word-sozdanie-faila-xml-dannyh-i-faila-shemy-xml-iz.html">файл XML</a>, что может помочь <a href="/avtomaticheskaya-korrekciya-izobrazhenii-avtomaticheskaya-korrekciya-radiusa.html">автоматическим инструментам</a> и людям распознавать файл как XML, а не SGML или другой способ разметки.</p><p>Декларация может выглядеть просто как <XML> или включать версию XML (<XMLversion="1.0">) и даже кодировку символов, например, <?xml version="1.0" encoding="utf-8"?> для Unicode. Поскольку эта декларация должна находиться в самом начале файла, если вы планируете комбинировать мелкие XML-файлы в более крупный файл, этот <a href="/chto-takoe-rss-kanaly-sozdanie-i-nastroika-rss-lenty-neobyazatelnye-elementy-rss-kanala.html">необязательный элемент</a> лучше пропустить.</p><h3>Создание корневого элемента</h3><p>Начальный и замыкающий теги <a href="/xml-kornevoi-element-arhiv-rubriki-knigi-po-xml-i-xslt-elementy-i-atributy.html">корневого элемента</a> окружают весь текст XML-документа. В файле должен присутствовать только один корневой элемент, и это необходимая "обложка" для него. показан фрагмент примера, который я здесь использую, с корневым элементом <recipe> (рецепт). (<a href="/prezentaciya---vvedenie-v-windows---fail-katalog-rabota-s-obektami.html">Полный файл</a> XML приведен в .)</p><h5>Листинг 1. Корневой элемент</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> </recipe> </span><p>По мере создания своего документа вы будете размещать текст и дополнительные теги между <recipe> и </recipe> .</p><h3>Наименования элементов</h3><h5>Соблюдение регистра в тегах</h5><p>При создании XML регистры начального и <a href="/chto-takoe-stroka-v-xml-faile-vvedenie-v-xml-nachalnye-konechnye-i-pustye.html">конечного тегов</a> должны совпадать. В противном случае можно получить сообщение об ошибке при использовании или просмотре XML. Например, <a href="/otklyuchenie-rezhima-sovmestimosti-internet-explorer-rezhimy-internet-explorer.html">Internet Explorer</a> не отображает текст в случае несовпадения регистров. Вместо этого он выводит сообщения о несовпадении начального и конечного тегов.</p><p>Итак, у нас есть корневой элемент <recipe> . В XML сначала выбираются имена элементов, а затем на основе этих имен определяется соответствующее описание DTD или схема. Имена могут содержать буквы, цифры и <a href="/chto-delat-esli-v-vorde-bolshoi-probel-primenenie-specialnyh-znakov.html">специальные знаки</a>, такие как знак подчеркивания (_). Вот несколько правил об именах, которые нужно помнить:</p><ul><li>Пробелы в именах элементов не допускаются.</li><li>Имена должны начинаться с буквы, а не с цифры или знака. (После этой первой буквы можно использовать любую комбинацию из букв, цифр и допустимых символов.)</li><li>Регистр не имеет значения, но во избежание путаницы соблюдайте его.</li> </ul><h5>Листинг 2. Другие элементы</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <preptime>5 minutes</preptime> </recipe> </span><p>XML-документ может содержать пустые теги, внутри которых ничего нет и которые могут выражаться одним тегом, а не парой из открывающего и замыкающего тегов. Например, это может быть самостоятельный тег в <a href="/kod-html-dokumenta-dlya-sozdaniya-tablicy-vstraivanie-stilei-v-operatory-html.html">стиле HTML</a> <img src='https://i2.wp.com/mylogo.gif' loading=lazy> . Он не содержит никаких <a href="/pervyi-element-spiska-css-kak-vybrat-v-css-pervyi-element.html">дочерних элементов</a> или текста, так что это пустой элемент, и его можно записать как <img src='https://i2.wp.com/mylogo.gif' loading=lazy> (с пробелом и знакомой замыкающей косой чертой в конце).</p><h3>Вложение элементов</h3><p><i>Вложение </i>— это размещение элементов внутри других элементов. Эти новые элементы называются <i>дочерними </i> элементами, а элементы, которые их окружают, — их <i>родительскими </i> элементами. В в корневой элемент <recipe> вложено несколько элементов. Это вложенные дочерние элементы <recipename> , <ingredlist> и <preptime>Внутри элемента <ingredlist> находится несколько одинаковых дочерних элементов <listitem> . Вложение может делать XML-документ многоуровневым.</p><p>Типичная <a href="/chto-delat-esli-pishet-sintaksicheskaya-oshibka-chto-znachit.html">синтаксическая ошибка</a> связана с вложенностью родительского и дочернего элементов. Каждый дочерний элемент должен быть целиком расположен между открывающим и замыкающим тегами своего родительского элемента. Дочерние элементы должны заканчиваться до начала следующего дочернего элемента.</p><p>Пример правильного вложения приведен в . Теги начинаются и завершаются без <i>переплетения </i> с другими тегами.</p><h5>Листинг 3. Правильное вложение элементов XML.</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe> <recipename>Ice Cream Sundae</recipename> <ingredlist> <listitem> <quantity>3</quantity> <itemdescription>chocolate syrup or chocolate fudge</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>nuts</itemdescription> </listitem> <listitem> <quantity>1</quantity> <itemdescription>cherry</itemdescription> </listitem> </ingredlist> <preptime>5 minutes</preptime> </recipe> </span><h3>Добавление атрибутов</h3><p>К элементам иногда добавляются <i>Атрибуты </i>. Атрибуты состоят из пары имя-значение, где значение берется в <a href="/raznica-mezhdu-dvoinymi-i-odinarnymi-kavychkami-v-php-php-kavychki.html">двойные кавычки</a> ("), вот так: type="dessert" . Атрибуты позволяют сохранять вместе с элементом <a href="/porog-rts-optimalnoe-znachenie-dopolnitelnye-parametry.html">дополнительные параметры</a>, меняя значения этих параметров от элемента к элементу в одном и том же документе.</p><p>Атрибут —или даже несколько атрибутов —указывается внутри начального тега элемента: <recipe type="dessert"> . При добавлении нескольких атрибутов они разделяются пробелами: <recipename cuisine="american" servings="1"> . показан файл XML, как он выглядит теперь.</p><h5>Листинг 4. Наш файл XML с элементами и атрибутами</h5><span> <?xml version="1.0" encoding="UTF-8"?> <recipe type="dessert"> <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename> <preptime>5 minutes</preptime> </recipe> </span><p>Можно использовать любое количество атрибутов. Подумайте, какие подробности можно добавить в ваш документ. Атрибуты особенно полезны, если документы будут храниться -например, по типу рецептов. Имена атрибутов могут содержать такие же символы, что и имена элементов, с теми же правилами исключения пробелов и начала имени с буквы.</p><h2>Правильно и неправильно построенный XML</h2><p>Если вы следуете правилам, определенным в вашей структуре, вы сможете легко создавать правильно построенный код XML. <i>Правильный XML </i>— это код XML, составленный с соблюдением всех правил XML: правильное именование элементов, вложение, именование атрибутов и т.п.</p><p>В зависимости от того, что именно вы делаете с XML, вам может понадобиться работа с правильно построенным XML. Рассмотрим приведенный выше пример сортировки по типу рецептов. Нужно, чтобы элементы <recipe> содержали <a href="/imya-komandy-dlya-zadaniya-markirovannogo-spiska-numerovannyi.html">атрибут type</a> . Очень важно иметь возможность успешно проверить код и гарантировать постоянное присутствие значения этого атрибута.</p><p><i>Под проверкой (validation) </i> понимается проверка структуры документа на соответствие установленным для нее правилам и определению дочерних элементов для каждого родительского элемента. Эти правила определяются в <i>Описании типа документа </i> (DTD) или в схеме. Для такой проверки требуется создать DTD или схему, а затем давать ссылку на файл DTD или схемы в своих XML-файлах.</p><p>Чтобы разрешить проверку, нужно ближе к началу своих XML-документов поместить декларацию типа документа (DOCTYPE). Эта строка содержит ссылку на DTD или схему (перечень элементов и правил), которая будет использоваться для проверки <a href="/chto-takoe-elektronnye-nositeli-informacii-zakon-elektronnyi-nositel.html">данного документа</a>. Строка DOCTYPE может быть примерно такой, как в .</p><h5>Листинг 5. DOCTYPE</h5><span> <!DOCTYPE MyDocs SYSTEM "filename.dtd"> </span><p>Этот пример означает, что ваш файл списка элементов с именем <i>filename.dtd </i> находится в вашем компьютере (то есть в каталоге SYSTEM , а не в <a href="/nfs-failovaya-sistema-network-file-system-nfs---setevaya-failovaya-sistema-obshchie-funkcii.html">общем каталоге</a> PUBLIC).</p><h2>Использование сущностей</h2><p><i> Сущности (entity) </i>могут представлять собой фрагменты текста или специальные символы. Они могут указываться внутри документа или вне его. Во избежание ошибок и для правильности отображения сущности должны быть надлежащим образом объявлены и выражены.</p><p>Нельзя вводить специальные символы прямо в текст. Для использования в тексте <a href="/simvoly-dlya-avatarii-novye-specialnye-simvoly-dlya-nika-zv-zdochki-serdechki.html">специальных символов</a> их нужно сделать сущностями и использовать коды этих символов. В качестве сущностей можно определить фразы, такие как название компании, а затем использовать их по всему тексту. Чтобы создать сущность, назначьте ей имя и вставляйте это имя и вставляйте это имя в текст после знака амперсанда (&) и заканчивая точкой с запятой — например, &coname; (или другое имя). Затем укажите этот код в своей строке DOCTYPE в <a href="/javascript-metody-massivov-korotkaya-zapis-pri-pomoshchi-kvadratnyh-skobok.html">квадратных скобках</a>(), как в . Этот код определяет текст, который подставляется вместо сущности.</p><h5>Листинг 6. Сущность</h5><span> <!DOCTYPE MyDocs SYSTEM "filename.dtd" [ <!ENTITY coname "Rabid Turtle Industries" ]> </span><p>Использование сущностей помогает избежать многократного повторения одной и той же фразы или информации. Оно может также облегчить редактирование текста (например, если компания изменит название) сразу во многих местах с помощью простой настройки строки определения сущности.</p><h2>Как избежать ошибок</h2><p>Пока вы учитесь создавать XML-файлы, открывайте их в <a href="/rabota-s-xml-v-net-prilozheniyah-chem-rabotat-s-xml---obzor-onlain-servisov-i-xml.html">редакторе XML</a>, чтобы удостовериться в их формальной правильности и убедиться, что правила XML соблюдены. Например, если у вас Windows® Internet Explorer®, вы можете просто открыть свой файл XML в браузере. Если ваши элементы, атрибуты и текст отображаются, значит файл XML составлен правильно. Если же присутствуют ошибки, вероятно, вы что-то напутали в синтаксисе, и вам нужно тщательно проверить свой документ на опечатки или пропуски тегов и знаков пунктуации.</p><p><img src='https://i0.wp.com/ibm.com/developerworks/ru/library/x-newxml/ie_example.jpg' height="512" width="500" loading=lazy></p><h2>Заключение</h2><p>Усвоив несколько <a href="/kak-sdelat-krasivyi-avatar-samomu-kak-sdelat-avatarku---prostye-pravila.html">простых правил</a>, вы можете гибко разрабатывать собственные элементы XML и их атрибуты. Правила XML не сложны. Набирать XML-документ тоже несложно. Главное - понять, что вы хотите от документов в смысле возможностей сортировки и поиска, а затем разработать элементы и атрибуты для удовлетворения этих требований.</p><p>Когда хорошо понимаешь цель и знаешь, как разметить свой текст, можно создавать эффективные элементы и атрибуты. С этой точки зрения тщательная разметка - это все, что нужно для создания правильно построенного и пригодного к использованию документа XML.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> <div class="col-sm-4"> <aside> <p class="h2 bold"> Реклама </p> <div class="line"></div> <div id="vagize2" style="height:500px;width:300px;" align="center"></div> <div class="subscribe block"> <p class="h2 bold"> Подпишитесь на новости </p> <div class="line"></div> <form class="form-horizontal form" action="/" method="post" target="popupwindow"> <div class="group"> <div class="input"> <input type="text" name="subscribe_email" class="form-control" placeholder="Введите e-mail" /> <div class="helper"></div> </div> </div> <div class="group"> <input type="submit" class="btn btn-base btn-big" value="Подписаться на новости" /> </div> </form> </div> <div class="adv block"> <div class="adv_track" data-id="aside"> <div class="adv_block adsense_3"> </div> </div> </div> </aside> </div> </div> </article> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/akismet/_inc/form.js?ver=3.0.3'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.0.2'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/light/js/jquery.fancybox.pack.js?ver=4.3.14'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/light/js/light.js?ver=4.3.14'></script> <footer> <div class="footer"> <div class="row"> <div class="menu"> <nav class="navbar navbar-moto-footer"> <div class="row"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bottom_menu" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="collapse navbar-collapse" id="bottom_menu"> <ul id="menu-footer" class="nav navbar-nav navbar-first"> <li><a href="/category/ntv-plus/">НТВ плюс</a></li> <li><a href="/category/tricolor/">Триколор</a></li> <li><a href="/category/smart-tv/">Смарт ТВ</a></li> <li><a href="/category/tv/">Телевизор</a></li> </ul> </div> </div> </div> </nav> </div> <div class="to_top"> <div class="top_btn"> <i class="fa fa-angle-up"></i> </div> </div> </div> <div class="row"> <div class="col-sm-6"> © 2024 <span class="bold">erfa.ru</span> - Все о телевидении. </div> <div class="col-sm-6 text-right social_block" itemscope itemtype="http://schema.org/Organization"> <link itemprop="url" href="/" /> <a itemprop="sameAs" href="https://www.facebook.com/sharer/sharer.php?u=https://erfa.ru/xml-yazyk-programmirovaniya-osnovy-xml-dlya-nachinayushchih-obektnaya-model-dokumenta.html"> <i class="fa fa-facebook"></i> </a> <a itemprop="sameAs" href="https://vk.com/share.php?url=https://erfa.ru/xml-yazyk-programmirovaniya-osnovy-xml-dlya-nachinayushchih-obektnaya-model-dokumenta.html"> <i class="fa fa-vk"></i> </a> <a itemprop="sameAs" href="https://www.twitter.com/share?url=https://erfa.ru/xml-yazyk-programmirovaniya-osnovy-xml-dlya-nachinayushchih-obektnaya-model-dokumenta.html"> <i class="fa fa-twitter"></i> </a> <a itemprop="sameAs" href="https://connect.ok.ru/offer?url=https://erfa.ru/xml-yazyk-programmirovaniya-osnovy-xml-dlya-nachinayushchih-obektnaya-model-dokumenta.html"> <i class="fa fa-odnoklassniki"></i> </a> <a itemprop="sameAs" href=""> <i class="fa fa-google-plus"></i> </a> </div> </div> </div> </footer> </div> </div> </div> </body> </html> </div> </div>