Главная
Скачать (Download)
Dreamweaver CS6
Dreamweaver CS5
Dreamweaver CS4
Dreamweaver 8
Dreamweaver MX 2004
Dreamweaver 4
Уроки (Tutorials)
Видеоуроки new!!!

Fireworks
ЧаВо
Документация
Статьи
Программы и скрипты
Бесплатные шаблоны
Каталог сайтов
Форум
Карта сайта
Контакты



Документация - Главная
- Macromedia Dreamweaver
- CSS
- Раскрутка
- PHP
- SQL
- Дизайн [1 2]
- Java
- Разное

главная > статьи >

XML в примерах

Описание

XML документ должен содержать один или более элементов.

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

Документ с одним элементом:

<text>This is an XML document</text>

Документ с несколькими элементами:
<text>This is an
<doctype>XML document</doctype>
</text>

Документы с ошибками

XML документ должен содержать, как минимум, один элемент:
??? This is an XML document ???

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

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

<book> является корневым:
<book>This is a book</book>

<list> является корневым:
<list>
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</list>

Документы с ошибками

В документе может быть только один корневой элемент:
???
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
???

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

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

Закрывающий тег </book> соответствует открывающему <book>:
<book>This is a book</book>

Правильно сформированный документ, содержащий 4 различных элемента <list>, <item>, <ITEM> и <Item>:
<list>
<item>Car</item>
<ITEM>Plane</ITEM>
<Item>Train</Item>
</list>

Документы с ошибками

<item> - </itm> и <item> - </ITEM> не сопоставимы:
<list>
<item>Car</itm>
<item>Plane</ITEM>
<item>Train</item>
</list>

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

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

Элементы с правильной вложенностью:
<Weight>
<number>12</number>
<unit>grams</unit>
</Weight>

Другой правильно сформированный документ:
<book>
<chapter>
<title>Introduction</title>
</chapter>
<chapter>
<title>Story</title>
<subChapter>
<title>Part 1</title>
</subChapter>
<subChapter>
<title>Part 2</title>
</subChapter>
</chapter>
<chapter>
<title>Index</title>
</chapter>
</book>

Документы с ошибками

Элемент <italic> не является правильно вложенным:
<text>
<bold><italic>XML</bold></italic>
</text>

Конец любого элемента, начинающегося открывающим тегом, должен быть определен закрывающим тегом, имя которого совпадает с типом элемента, указанного в открывающем теге. Текст между открывающим и закрывающим тегами называется содержимым элемента. Элемент без содержимого может быть записан в специальной форме: <name/>. Косая черта ("/") перед > обуславливает закрывающий тег.

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

Каждый элемент должен иметь закрывающий тег или должен быть представлен в специальной форме. В XML нет разницы между конструкциями <AAA></AAA> и <AAA/>:
<listOfTags>
<AAA></AAA>
<BBB></BBB>
<CCC/>
<DDD/>
</listOfTags>

Документы с ошибками

Пропуск косой черты ("/") является очень распространенной ошибкой:
<description>
There are <color>yellow<color> and <color>red</color> apples.
</description>

Имена элементов могут содержать буквы, цифры, дефисы ("-"), символы подчеркивания ("_"), двоеточия (":") и точки (".'), однако начинаться они могут только с буквы или символа подчеркивания. Двоеточие может быть использовано только в специальных случаях, когда оно разделяет так называемое пространство имен. Имена элементов, начинающиеся с 'xml', вне зависимости от комбинации регистров букв в этом выражении зарезервированы для нужд стандарта.

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

Документ с разрешенными символами:
<permitedNames>
<name/>
<xsl:copy-of/>
<A_long_element_name/>
<A.name.separated.with.full.stops/>
<a123323123-231-231/>
<_12/>
</permitedNames>

Документы с ошибками

Этот документ содержит несколько ошибок:
<forbidenNames>
<A;name/>
<last@name/>
<@#$%^()%+?=/>
<A*2/>
<1ex/>
</forbidenNames>

Имена не могут начинаться с 'xml': <forbidenNames>
<xmlTag/>
<XMLTag/>
<XmLTag/>
<xMlTag/>
<xmLTag/>
</forbidenNames>

Элемент может иметь ни одного, один или несколько атрибутов. Правила на имена атрибутов накладываются такие же как и на имена элементов. Имена атрибутов отделяются от их значений знаком '='. Значение атрибута заключается в апострофы '...' или в двойные кавычки "...". Если апостроф или двойные кавычки присутствуют в значении атрибута, то используются те из них, которые не встречаются в этом значении.

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

Документ с правильно оформленными атрибутами:
<elements-with-attributes>
<el _ok = "yes" />
<one attr = "a value"/>
<several first="1" second = '2' third= "333"/>
<apos_quote case1="John's" case2='He said: "Hello, world!" '/>
</elements-with-attributes>

Документы с ошибками

Документ с ошибочными атрибутами:
<errors>
<wrong_char a*b = "23432"/>
<mismatched_separator value = "12'/>
<wrong_separator_type value="aa"aa"/>
<wrong_separator_type value='bb'bb'/>
<wrong_start XML-ID = "xml234"/>
</errors>

Символы < и & не могут быть использованы в тексте, так как они используются в разметке. Если эти символы необходимы, следует использовать &lt; вместо < и &amp; вместо &.

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

Замещение & и <:
<example>
<isLower>
23 &lt; 46
</isLower>
<ampersand>
Willey &amp; sons
</ampersand>
</example>

Документы с ошибками

Символы & и < не могут быть использованы в тексте:
<example>
<isLower>
23 < 46
</isLower>
<ampersand>
Willey & sons
</ampersand>
</example>

Символы >, ", и ' также могут быть заменены на &gt;, &quot; и &apos;, соответственно.

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

Возможные подстановки:
<example>
<right-bracket> both > and &gt; permitted</right-bracket>
<double-quote> both " and &quot; permitted</double-quote>
<apostrophe> both ' and &apos; permitted</apostrophe>
Useful in: <el value=" &apos; &quot; &apos; "/>
</example>

Комментарии могут содержаться в любом месте документа, кроме разметки. XML-процессор может, но не обязан, предоставлять приложениям доступ к содержимому комментариев. В тексте комментарием не должна содержаться последовательность из двух знаков дефиса ('--').

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

Коментарии могут содержать любые символы, кроме строки '--':
<!-- doc A -->
<example>
<!-- <HEAD> -->
<!-- Characters <&< -->
</example>

Документы с ошибками

Коментарии не должны содержать '--':
<example>
<!-- A -- B -->
</example>

Документ может содержать инструкции по обработке (PI), несущие информацию для приложений.

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

Инструкции по обработке:
<example>
<?perl lower-to-upper-case ?>
<?web-server add-header = "university" ?>
<text>vscht</text>
</example>

Документы с ошибками

Инструкции к обработке должны заканчиваться последовательностью ?>:
<example>
<?perl run _>
</example>

Секция CDATA используется для того, чтобы обозначить части документа, которые не должны восприниматься как разметка. Секция CDATA начинается со строки '<![CDATA[' и заканчивается строкой ']]>'. Внутри самой секции не должна присутствовать строка ']]>'.

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

Секция CDATA:
<example>
<![CDATA[ <aaa>bb&cc<<<]]>
</example>

Документы с ошибками

Секция CDATA не может содержать последовательность ']]>':
<example>
<![CDATA[ <aaa>bb ]]>cc<<<]]>
</example>

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

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

Определение версии XML:
<?xml version="1.0"?>
<text>This document conforms to the XML 1.0 specification.</text>

Определение используемой кодировки:
<?xml version="1.0" encoding="ISO-8859-2"?>
<text>If encoding is not given UTF-8 is assumed</text>

главная > статьи >

Реклама