<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IN info &#187; введение</title>
	<atom:link href="http://www.ininfo.biz/tags/%d0%b2%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d0%b5/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ininfo.biz</link>
	<description>Статьи об информационных технологиях</description>
	<lastBuildDate>Sun, 05 Feb 2012 14:57:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Коротко о DTD</title>
		<link>http://www.ininfo.biz/2009/02/20/dtd-first-look/</link>
		<comments>http://www.ininfo.biz/2009/02/20/dtd-first-look/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 13:32:09 +0000</pubDate>
		<dc:creator>Игорь Борисов</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[dtd]]></category>
		<category><![CDATA[введение]]></category>

		<guid isPermaLink="false">http://www.ininfo.biz/?p=72</guid>
		<description><![CDATA[Что такое DTD (определение типа документа, document type definition), зачем оно нужно, как его читать и, главное, как его создавать &mdah; об этом Вы узнаете прочитав эту статью...]]></description>
			<content:encoded><![CDATA[<h3>Введение</h3>
<p>Спецификация <a href="http://ru.wikipedia.org/wiki/SGML" target="_blank">SGML</a> предусматривает создание новых языков разметки.<br />
<a href="http://www.w3.org/html/" target="_blank">HTML</a> и <a href=" www.w3.org/XML" target="_blank">XML</a> как раз таковыми и являются. Причём XML сам по себе предусматривает расширяемость. Документы созданные с помощью этих языков могут быть «корректными (well-formed)» и «допустимыми (valid)».</p>
<p>С проверкой документа на корректность проблем не возникает: если ошибок не выскочило и всё отобразилось так, как мы хотели, то документ корректен. Например, если в HTML-документе написать что-то вроде «<code>&lt;Z&gt;Привет!&lt;/Z&gt;</code>», то наш документ будет полностью корректен, но проигнорирован браузером. Почему? Потому что браузер ничего не знает о том, что это за «Z» такой. И если мы проверим наш документ на допустимость с помощью <a href="http://validator.w3.org/" target="_blank">валидатора</a>, то документ таковым признан не будет. А как об этом узнает валидатор и на основании чего он вынес такой вердикт?</p>
<p><span id="more-72"></span></p>
<p>Допустимость проверяется с помощью определения типа документа (DTD, document type definition). Например, для «строгого» HTML он выглядит <a href="http://www.w3.org/TR/html4/strict.dtd" title="Так выглядит файл strict.dtd" target="_blank">так</a>.</p>
<p>DTD может быть описан как внутри документа, так и вынесен в отдельный файл (аналогия с CSS: встроенные и подключаемые таблицы стилей).</p>
<h3>Объявление DTD</h3>
<p>Объявление DTD располагается перед первым (корневым) элементом документа, начинается с последовательности «<code>&lt;!DOCTYPE</code>» и заканчивается символом «<code>&gt;</code>».</p>
<p>Внутреннее DTD описывается так:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE catalog [
&nbsp;
]
&gt;</pre></div></div>

<p>Между квадратными скобками располагается содержимое DTD, так называемое <em>внутреннее подмножество</em>, например:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE catalog [
    &lt;!ELEMENT someelement (#PCDATA)&gt;
]
&gt;</pre></div></div>

<p>Если DTD вынесено в отдельный файл (обычно имеющий расширение .dtd), то его объявление в документе записывается так:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE catalog SYSTEM &quot;catalog.dtd&quot;&gt;</pre></div></div>

<p>Соответственно, в этом файле и прописываются все правила, так называемое <em>внешнее подмножество</em>. </p>
<p>Имя, указанное за словом «<code>DOCTYPE</code>» (в нашем случае «<code>catalog</code>»), должно соответствовать имени корневого элемента. То есть, XML-документ должен быть примерно таким:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;!DOCTYPE catalog SYSTEM &quot;catalog.dtd&quot;&gt;
&lt;catalog&gt;
  &lt;someelement&gt;Hello, world!&lt;/someelement&gt;
&lt;/catalog&gt;</pre></div></div>

<p>Вместо ключевого слова «<code>SYSTEM</code>» может быть использовано слово «<code>PUBLIC</code>», указывающее, что DTD применяется для широкого использования:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
    &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;</pre></div></div>

<p>Внутренние и внешние подмножества могут быть заданы одновременно (опять же, аналогия с CSS):</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE catalog SYSTEM &quot;catalog.dtd&quot;[
    &lt;!ELEMENT someelement (#PCDATA)&gt;
]
&gt;</pre></div></div>

<p>Здесь, сначала зачитывается содержимое файла «<code>catalog.dtd</code>», а потом содержимое, указанное внутри квадратных скобок.</p>
<h3>Элементы документа</h3>
<p>Элементы объявляются в DTD с помощью ключевого слова «<code>ELEMENT</code>», после которого следует имя элемента и его содержимое заключенное в круглые скобки :</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;ELEMENT book (#PCDATA)&gt;</pre></div></div>

<p>Если у элемента есть дочерние элементы, то это записывается так:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title)&gt;</pre></div></div>

<p>что соответствует документу:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Если у элемента несколько дочерних элементов, то они перечисляются через запятую и должны следовать строго в указанном порядке:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title, author)&gt;
&lt;!ELEMENT title (#PCDATA)&gt;
&lt;!ELEMENT author (#PCDATA)&gt;</pre></div></div>

<p>Приведённый выше пример читается следующим образом. Элемент «<code>book</code>» должен содержать только один элемент «<code>title</code>», за которым должен следовать только один элемент «<code>author</code>». Сами элементы «<code>title</code>» и «<code>author</code>» никаких элементов не содержат, а могут содержать лишь какой-нибудь текст.</p>
<p>С помощью следующих специальных символов можно определять количественное присутствие элемента:</p>
<ul>
<li>Символ «<code>*</code>», следующий после элемента, означает, что элемент может присутствовать один или несколько раз, или не присутствовать вовсе(от нуля до + бесконечности) </li>
<li>Символ «<code>+</code>», следующий после элемента, означает, что элемент может присутствовать один или несколько раз(от 1 до + бесконечности) </li>
<li>Символ «<code>?</code>», следующий после элемента, означает, что элемент может либо отсуствовать, либо присутствовать только один раз(0 или 1) </li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title, author)&gt;
...
&lt;!ELEMENT book (title*, author)&gt;
...
&lt;!ELEMENT book (title+, author)&gt;
...
&lt;!ELEMENT book (title?, author)&gt;</pre></div></div>

<p>Если существует необходимость указать один из нескольких элементов (или title, или author &#8211; любой из них, но не оба), надо испольовать символ «<code>|</code>»:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title | author)&gt;</pre></div></div>

<p>Текст тоже равноправный участник игры. Ключевое слово «<code>PCDATA</code>» указывает на анализируемые символьные данные, поэтому любой текст содержащий символы разметки («<code>&lt;</code>», «<code>&gt;</code>» и «<code>&amp;</code>») будет трактоваться как разметка. Совместное использование текста и элементов называется <em>смешанным содержимым</em>. При объявлении смешанного содержимого, «<code>PCDATA</code>» необходимо указывать первым:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (#PCDATA | title | author)&gt;</pre></div></div>

<p>Следующий фрагмент документа валиден вышеприведенному примеру:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    Нет данных
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Группы элементов заключаются в круглые скобки. Элемент «<code>book</code>» должен содержать либо текст, либо (один «<code>title</code>», один или неколько «<code>author</code>» и может быть один «<code>pubyear</code>» именно в таком порядке):</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (#PCDATA | (title, author+, pubyear?))&gt;
&lt;!ELEMENT disc (#PCDATA | title)*&gt;</pre></div></div>

<p>Данному примеру соответствует следующий фрагмент XML-документа:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;disc</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    Нет данных
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Элемент может быть пустым. Такой элемент не может содержать не дочерних элементов ни текста (например, элемент «<code>br</code>» в HTML). Такой элемент задается с ключевым словом «<code>EMPTY</code>»:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT photo EMPTY&gt;</pre></div></div>

<p>Элемент также может быть объявлен с ключевым словом «<code>ANY</code>» означающее, что элемент может содержать и элементы, и текст, и все это вместе, и даже быть пустым.</p>
<h3>Атрибуты элементов</h3>
<p>Элементы в XML-документе могут иметь атрибуты, которые записываются в виде «<code>имя = значение</code>» в открывающем или пустом тегах. Общее объявление атрибутов конкретного элемента начинается с ключевого слова «<code>ATTLIST</code>», после которого следует имя данного элемента и объявления самих атрибутов:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT title (#PCDATA)&gt;
    &lt;!ATTLIST title
           id CDATA #REQUIRED
           stock CDATA #IMPLIED&gt;</pre></div></div>

<p>Ключевое слово «<code>REQUIRED</code>» указывает на то, что атрибут обязателен. Ключевое слово «<code>IMPLIED</code>», наоборот, говорит, что атрибут необязателен. </p>
<p>У атрибутов могут быть перечисленны разрешенные значения:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ATTLIST title
       readonly (yes|no) #REQUIRED&gt;</pre></div></div>

<p>Также может быть задано значение по-умолчанию:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ATTLIST title
       readonly (yes|no) #REQUIRED &quot;yes&quot;&gt;
       pubyear CDATA #IMPLIED &quot;2007&quot;&gt;</pre></div></div>

<p>Атрибут может быть и константой, то есть у него может быть только то значение, которое заявлено в объявлении атрибута. Делается это с помощью ключевого слова «<code>FIXED</code>»:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ATTLIST title
       copyright &lt;strong&gt;#FIXED &quot;udvikler&quot;&gt;</pre></div></div>

<p>Тип атрибута «<code>CDATA</code>»позволяет использовать любые символы кроме «<code>&lt;</code>», «<code>&gt;</code>», «<code>&amp;</code>», «<code>&quot;</code>» и «<code>'</code>». В случае использования, данные символы должны быть заменены на спецсимволы типа «<code>&amp;lt;</code>» и т.п. <span style="color:red;background:yellow">Внимание</span>: в DTD ключевое слово «<code>CDATA</code>» имеет другое значение, чем раздел «<code>CDATA</code>» в XML-документе!</p>
<p>Помимо типа CDATA, атрибуты могут иметь следующие типы:</p>
<ul>
<li><code>NMTOKEN</code> — может содержать только <code>буквы</code>, <code>цифры</code>, «<code>.</code>», «<code>-</code>», «<code>_</code>» и «<code>:</code>» </li>
<li><code>NMTOKENS</code> — может содержать те же символы, что и «<code>NMTOKEN</code>», а также символы <code>пробела</code>, <code>возврата каретки</code>, <code>перевода строки</code> и <code>табуляции</code></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ATTLIST title
       id CDATA #REQUIRED
       stock NMTOKEN #IMPLIED
       publisher NMTOKENS #IMPLIED&gt;</pre></div></div>

<p>Еще один тип атрибута «<code>ID</code>» разрешает задавать те же значения, что и тип NMTOKEN, но начинаться значение должно либо с буквы, либо с «<code>_</code>», либо с «<code>:</code>». У любого элемента может быть только один атрибут с типом «<code>ID</code>». Атрибут типа «<code>ID</code>» не может быть константой (объявляться как «<code>FIXED</code>»). Значение атрибута типа «<code>ID</code>» должно быть уникальным для всего XML-документа:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title, author)&gt;
&lt;!ELEMENT title (#PCDATA)&gt;
&lt;!ELEMENT author (#PCDATA)&gt;
    &lt;!ATTLIST title
           id ID #REQUIRED
           stock CDATA #IMPLIED&gt;
    &lt;!ATTLIST author
           id ID #REQUIRED
           city CDATA #IMPLIED&gt;</pre></div></div>

<p>Атрибут элемента может быть ссылкой на атрибут типа «<code>ID</code>» другого элемента. Для этого он объявляется как атрибут типа «<code>IDREF</code>». Если атрибут должен ссылаться на атрибут типа «<code>ID</code>» нескольких элементов, то испольуется ключевое слово «<code>IDREFS</code>»:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ELEMENT book (title+, author, year, publisher)&gt;
&lt;!ELEMENT title (#PCDATA)&gt;
&lt;!ELEMENT author (#PCDATA)&gt;
&lt;!ELEMENT year (#PCDATA)&gt;
&lt;!ELEMENT publisher (#PCDATA)&gt;
    &lt;!ATTLIST title
           id ID #REQUIRED&gt;
    &lt;!ATTLIST author
           id ID #REQUIRED&gt;
    &lt;!ATTLIST year
           ref IDREF #REQUIRED&gt;
    &lt;!ATTLIST publisher
           from IDREFS #REQUIRED&gt;</pre></div></div>

<p>В XML-документе это будет выглядить так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;color: gray;">&quot;t1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;color: gray;">&quot;t2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;color: gray;">&quot;t3&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;color: gray;">&quot;a1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;year</span> <span style="color: #000066;">ref</span>=<span style="color: #ff0000;color: gray;">&quot;t2&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;publisher</span> <span style="color: #000066;">from</span>=<span style="color: #ff0000;color: gray;">&quot;t1 t2 a1&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<h3>Объявление сущностей</h3>
<p>Помимо элементов и их атрибутов, мы можем определить <em>сущности</em>, записываемые с помощью ключевого слова «<code>ENTITY</code>»:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!ENTITY name &quot;SuperMegaMaster&quot;&gt;</pre></div></div>

<p>В XML-документе ссылка на эту сущность определяется следующим образом (амперсанд + имя сущности + точка с запятой):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;userName<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #ddbb00;">&amp;name;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/userName<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>В результате чего, на место имени сущности «<code>name</code>», будет подставлено ее значение, в нашем случае &#8211; «<code>SuperMegaMaster</code>».</p>
<p>И для полноты нашего счастья, надо добавить, что атрибуты элементов могут иметь в качестве значения подобные сущности &#8211; <em>сущности-атрибуты</em>. Они тоже определяются с помощью ключевого слова «<code>ENTITY</code>», но имеют одно ограничение &#8211; они должны ссылаться на внешние неанализируемые сущности, определенные во внешнем подмножестве DTD:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!DOCTYPE catalog [
    &lt;!ENTITY list SYSTEM &quot;companyList.html&quot; NDATA parse&gt;
    &lt;!ELEMENT catalog (user+)&gt;
    &lt;!ELEMENT user (name)&gt;
        &lt;!ATTLIST user company ENTITY #REQUIRED&gt;
    &lt;!ELEMENT name (#PCDATA)&gt;
]
&gt;</pre></div></div>

<p>В вышеприведённом примере, объявлена сущность «<code>list</code>», которая ссылается на внешний документ «<code>companyList.html</code>». Ключевое слово «<code>NDATA</code>», говорит о том, что внешний документ неявляется XML-документом. Далее, для элемента «<code>user</code>» объявляется атрибут «<code>company</code>», который является обязательным и имеет тип «<code>ENTITY</code>», то есть ссылается на какую-либо сущность. Поскольку в нашем пример задана только одна сущность («<code>list</code>»), то именно она и только она может быть значением атрибута «<code>company</code>» в XML-документе:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;user</span> <span style="color: #000066;">company</span>=<span style="color: #ff0000;color: gray;">&quot;list&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>SuperMegaMaster<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/user<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/catalog<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Осталось только понять, что означает «<code>parse</code>» в строке объявления сущности «<code>list</code>»? Когда используются неанализируемые данные, то есть те, которые не анализируются синтаксическим анализатором XML, хорошо было бы дать информацию приложению (использующему данный XML-документ), каким образом обработать эту сущность, если все-таки потребуется. Для этого нужно использовать нотацию, задаваемую ключевым словом «<code>NOTATION</code>» и дополнить наш DTD следующим образом:</p>

<div class="wp_syntax"><div class="code"><pre class="schema" style="font-family:monospace;color: black;">&lt;!NOTATION parse SYSTEM &quot;iexlorer&quot;&gt;
&lt;!ENTITY list SYSTEM &quot;companyList.html&quot; NDATA parse&gt;</pre></div></div>

<p>Слово «<code>parse</code>» в объявлении сущности лист указывает на то, каким образом можно проанализировать файл «<code>companyList.html</code>» &#8211; найти нотацию с именем «<code>parse</code>» и следовать ее указаниям. В нашем случае, приложение может открыть MS InternetExplorer и загрузить в него документ «<code>companyList.html</code>». </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ininfo.biz/2009/02/20/dtd-first-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Коротко о XML</title>
		<link>http://www.ininfo.biz/2009/02/18/xml-first-look/</link>
		<comments>http://www.ininfo.biz/2009/02/18/xml-first-look/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 14:54:06 +0000</pubDate>
		<dc:creator>Игорь Борисов</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[введение]]></category>

		<guid isPermaLink="false">http://www.ininfo.biz/?p=21</guid>
		<description><![CDATA[В этой вводной статье рассказывается об основах XML: как создать XML файл, как объявить кодировку и другое. Знакомство с XML рекомендуется начинать именно с этой статьи...]]></description>
			<content:encoded><![CDATA[<h3>Введение</h3>
<p>XML (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный <a href="http://www.w3.org" target="_blank">Консорциумом WWW</a> язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, <a href="http://www.w3.org/MarkUp/" target="_blank">XHTML</a>), иногда называемых словарями. XML является упрощённым подмножеством языка <a href="http://ru.wikipedia.org/wiki/SGML" target="_blank">SGML</a>.</p>
<p><span id="more-21"></span></p>
<p>Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, <a href="http://www.w3.org/RDF/" target="_blank">RDF</a>, <a href="http://www.rssboard.org/rss-specification" target="_blank">RSS</a>, <a href="http://www.w3.org/Math/" target="_blank">MathML</a>, <a href="http://www.w3.org/MarkUp/" target="_blank">XHTML</a>, <a href="http://www.w3.org/Graphics/SVG/" target="_blank">SVG</a>), сами по себе формально описаны, что позволяет программно изменять и проверять документы на основе этих словарей, не зная их семантики, то есть не зная смыслового значения элементов.</p>
<h3>Декларация XML-документа</h3>
<p>XML-документ начинается с XML-декларации, которая определяет используемую версию XML:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span></pre></div></div>

<p>Если в документе используются символы выходящие за рамки ASCII, то необходимо указать кодировку документа:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span></pre></div></div>

<h3>Элементы</h3>
<p>XML документ состоит из элементов, которые описываются открывающим (&lt;element&gt;) и закрывающим (&lt;/element&gt;) тегами. Текст между открывающим и закрывающим тегами называется содержимым элемента.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Содержимое элемента<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/element<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Если элемент не имеет содержимого(empty element) и, соответственно, закрывающго тега, то он все равно должен быть закрыт:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;element</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>XML документ должен содержать хотя бы один элемент:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span></pre></div></div>

<p>При наличие более, чем одного элемента, должен существовать один и только один корневой элемент, который не может быть вложен в другие элементы:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Вася Пупкин<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/author<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Имена тегов чувствительны к регистру, поэтому нижеследующее допустимо:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 20 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/Title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;TITLE<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 30 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/TITLE<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Элементы должны быть правильно вложены друг в друга. Простое правило — кто первым открылся, тот последним закрылся:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Имена элементов могут начинаться только с буквы или символа подчеркивания. Далее, имя может содержать буквы, цифры, дефисы, символы подчеркивания, и точки. Также, может быть использовано двоеточие, но только в специальных случаях, когда оно разделяет пространство имен (namespace).<br />
Имя элемента не может начинаться с последовательности символов «xml» (в любой комбинации регистров букв) — такое начало имени зарезервированo для нужд стандарта XML.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;_title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/_title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;xmlTitle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ОШИБКА! Неправильное имя элемента<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/xmlTitle<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Атрибуты</h3>
<p>Элемент может иметь один или несколько атрибутов. Правила для имен атрибутов такие же как и для имен элементов.<br />
Атрибут состоит из имени и значения разделенных символом «=». Значение атрибута заключается в одинарные(апострофы) или двойные кавычки. Указываются атрибуты внутри открывающего тега и отделяются друг от друга пробелом. При наличие нескольких атрибутив порядок их следования не важен:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;book</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;color: gray;">&quot;1&quot;</span> <span style="color: #000066;">quantity</span>=<span style="color: #ff0000;color: gray;">&quot;100&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000066;">lang</span>=<span style="color: #ff0000;color: gray;">'ru'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000066;">age</span>=<span style="color: #ff0000;color: gray;">&quot;15&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Василий Пупкин<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/author<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/book<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Если одинарные или двойные кавычки присутствуют в значении атрибута, то значение надо заключать в те, которые не используются в данном значении:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title</span> <span style="color: #000066;">alias</span>=<span style="color: #ff0000;color: gray;">'book &quot;learn XML&quot;'</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;author</span> <span style="color: #000066;">address</span>=<span style="color: #ff0000;color: gray;">&quot;pupkin's homepage&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Василий Пупкин<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/author<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Спецсимволы</h3>
<p>В содержимом элемента не могут использоваться символы «&lt;» и «&amp;», так как они используются в разметке. В случае необходимости, надо использовать специальные символы — «&amp;lt;» вместо «&lt;» и «&amp;amp;» вместо «&amp;»:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2 <span style="color: #ddbb00;">&amp;lt;</span> 5<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Также могут быть заменены символы «&gt;», «&raquo;», и «&#8217;» на, соответственно, «&amp;gt;», «&amp;quot;» и «&amp;apos;»:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2 <span style="color: #ddbb00;">&amp;lt;</span> 5<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>5 <span style="color: #ddbb00;">&amp;gt;</span> 3<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/result<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Скажите: <span style="color: #ddbb00;">&amp;quot;</span>Hello, world!<span style="color: #ddbb00;">&amp;quot;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Комментарии</h3>
<p>XML-документ может содержать комментарии. Комментарии начинаются с последовательности символов «&lt;!––» и заканчиваются последовательностью символов «––&gt;». Однако, внутри комментария не должно встречаться последовательности символов «––»:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;">&lt;!–- Это правильный комментарий -–<span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;">&lt;!–- А это -- неправильный комментарий -–<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Секция CDATA</h3>
<p>Если, все-таки, необходимо в содержании элемента использовать текст который не должен восприниматься как разметка(например, часть кода), то этот текст можно заключить в секцию CDATA. Секция CDATA начинается с последовательности символов «&lt;![CDATA[» и заканчивается последовательностью символов «]]&gt;». Внутри секции может присутствовать любой текст, кроме последовательности символов «]]&gt;», которая указывает на окончание самой секции:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #339933;">&lt;![CDATA[</span>
<span style="color: #339933;">      &lt;div&gt;&lt;h2&gt;&lt;a href=&quot;#&quot;&gt;John &amp; Peter&lt;/a&gt;&lt;/h2&gt;&lt;/div&gt;</span>
<span style="color: #339933;">    ]]&gt;</span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Другое</h3>
<p>И, в заключение, XML-документ может включать инструкции по обработке для приложений:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;color: gray;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;?web-server</span> <span style="color: #000066;">add-header</span>=<span style="color: #ff0000;color: gray;">&quot;Powered by Pupkin&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>XML за 10 минут<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/root<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Подробнее о XML можно прочитать на <a href="http://www.w3.org/XML/" target="_blank">www.w3.org/XML</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ininfo.biz/2009/02/18/xml-first-look/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

