Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Пространство имен и сущности



Цель работы:

Изучить пространство имен и сущности XML -документа

Ход работы:

Пространство имен

Пространство имен (namespace) – это группа имен элементов и атрибутов. Добавляя префикс пространства имен к имени элемента или атрибута, мы сообщаем анализатору о том, из какого пространства имен оно происходит. Ниже приведен пример Пространств имен где bob-это префикс:

<part_catalog

xmlns:bob="http://www.bobco.com/">

 

Создайте описание книги, а затем добавьте авторские комментарии к книге, для этого необходимо сделать сдедущее:

  1. Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже

Листинг 1.1

<library>

<book>

<title>

Earthquakes for Lunch.

</title>

</book>

</library>

  1. Затем к элементу <book> добавьте авторские комментарии. Для этого XML-приложение заключается в собственное пространство имен, для которого используется префикс book:.

<library

xmlns :book="http: /Iww. amazingterri ficbooks. com/spec ">

<book>

<title>

Earthquakes for Lunch.

</title>

</book>

</library>

В результате мы указали на место авторских комментариев для книги.

 

 

Сушности(примитивы)

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

Рисунок 1.6 Виды примитивов

Внутренние сущности со смешанным содержанием чаще всего применяются для замены часто повторяемых фраз, имен или стандартного текста:

 

<?xml version="1.0"?>

<!DOCTYPE press_release SYSTEM "http://www.dtdland.org/dtds/reports.dtd"

[

<!ENTITY bobco "Bob's Bolt Bazaar, Inc.">

]>

</press_release>

Обратите внимание что в примере содержится DTD документ, его мы будем рассматривать в дальнейших лабораторных работах.

Иногда может понадобиться создать сущность для такого большого объема смешанного содержимого, что непрактично заключать его внутрь объявления сущности. В таком случае следует использовать внешние сущности (external entity):

В следующем примере в документе объявлены три внешние сущности part1, part2 и part3, в которых хранится его содержание:

 

<?xml version="1.0"?>



<!DOCTYPE longdoc SYSTEM "http://www.dtds_r_us.com/generic.dtd"

[

<!ENTITY part1 SYSTEM "p1.xml">

<!ENTITY part2 SYSTEM " p2.xml ">

<!ENTITY part3 SYSTEM "p3.xml">

]>

<longdoc>

&part1;

&part2;

&part3;

</longdoc>

<longdoc>&part1; &part2; &part3; </longdoc>-означает что в документе longdoc находятся три xml –документа p1.xml, p2.xml, p3.xml,рассмотрим их подробнее:

· Документ p1.xml:

 

<?xml version="1.0" encoding="windows-1251"?>

<!DOCTYPE p1 SYSTEM "p1.dtd"

[

<!ENTITY клиент "С.Иванов">

<!ENTITY телефон "617-555-1299">

]>

<p1>

<opening>Дорогой &клиент;</opening>

<body>Дорогой &клиент; пожалуйста позвоните нам по телефону &телефон;для уточения ваших данных. </body>

</p1>

 

· Документ p2.xml

 

?xml version="1.0" encoding="windows-1251"?>

<!DOCTYPE p1 SYSTEM " p2.dtd"

[

<!ENTITY клиент "С.Иванов">

<!ENTITY данные "С.Иванов-Место жительства-г. Москва, ул.Заречная,дом.31;Номер паспорта- 40 07 12345 ">

]>

<p2>

<opening>Доргой &клиент;</opening>

<body>Догогой &клиент; пожалуйста подтвердите указанные вами данные: &данные; </body>

</p2>

· Документ p3.xml

 

 

<?xml version="1.0" encoding="windows-1251"?>

<!DOCTYPE p2 SYSTEM "p3.dtd"

[

<!ENTITY клиент "С.Иванов">

<!ENTITY телефон "617-555-1299">

]>

<p3>

<opening>Дорогой &клиент;</opening>



<body>Дорогой &клиент; благодарим вас за то, что уточнили данные,ваша посылка прибудет через неделю,по любым вопросам звоните по нашему телефону &телефон; </body>

</p3>

В приведенном только что синтаксисе объявления внешних сущностей

указано ключевое слово SYSTEM, за которым следует строка, заключенная в кавычки и содержащая имя файла. Эта строка называется си темным идентификатором (system identifier) и используется для идентификации ресурса по адресу.

Сущности, содержащие единственный символ, естественно, называются символьными сущностями(character entities).Они разделяются на несколько групп:

 

 

1. Предопределенные символьные сущности

Имя Amp Apos Gt Lt quot Значение & ' > < "

2. Нумерованные символьные сущности

3. Именованные символьные сущности

 

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

 

 

<?xml version="1.0"?>

<!DOCTYPE doc [

<!ENTITY mypic SYSTEM "photos/erik.gif" NDATA GIF>

]>

<doc>

Here's a picture of me:

&mypic;

</doc>

Создайте XML –документ и добавьте к нему внутренние и символьные сущности, для этого сделайте следующее:

 

  1. Откройте новый файл в вашем текстовом редакторе и введите текст XML-документа, листинг которого представлен ниже

Листинг 1.2

<?xml version="1.0"?>

<!DOCTYPE press-release SYSTEM http://www.dtdland.org/dtds/reports.dtd>

<press-release>

<title> Bob's Bolt Bazaar, Inc.; Earnings Report for Q3</title>

<par>The earnings report Bob's Bolt Bazaar, Inc.; in fiscal

quarter Q3 is generally good. Sales of Bob's Bolt Bazaar, Inc.; bolts increased 35%

over this time a year ago.</par>

<par>Bob's Bolt Bazaar, Inc.; has been supplying high-quality bolts to contractors

for over a century, and Bob's Bolt Bazaar, Inc.; is recognized as a leader in the

construction-grade metal fastener industry.</par>

</press-release>

  1. Добавьте внутреннею сущность <!ENTITY bobco "Bob's Bolt Bazaar, Inc.">и замените "Bob's Bolt Bazaar, Inc." на символьную сущность" &bobco,в результате вы получите то что показано на листинге 1.3

 

Листинг 1.3

<?xml version="1.0"?>

<!DOCTYPE press-release SYSTEM "http://www.dtdland.org/dtds/reports.dtd"

[

<!ENTITY bobco "Bob's Bolt Bazaar, Inc.">

]>

<press_release>

<title>&bobco; Earnings Report for Q3</title>

<par>The earnings report for &bobco; in fiscal

quarter Q3 is generally good. Sales of &bobco; bolts increased 35%

over this time a year ago.</par>

<par>&bobco; has been supplying high_quality bolts to contractors

for over a century, and &bobco; is recognized as a leader in the

construction-grade metal fastener industry.</par>

</press_release>

 

  1. Воспользуйтесь командой Save (Сохранить) текстового редактора, для сохранения документа на вашем жестком диске, присвоив ему имя essence.xml.
  2. Откройте файл в вашем браузере и вас должно получится то что представлено на рисунке 1.7

 

Рисунок 1.7


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!