Глава 4. Синтаксис XML
контур:
1. Правила синтаксиса XML 2. Синтаксис элементов 3. Синтаксис комментариев 4. Синтаксис CDATA 5. Синтаксис пространств имен 6. Синтаксис сущностей 7. Синтаксис DTD
Изучив предыдущие три главы, мы уже имеем представление о том, что такое XML, принципы его реализации и связанная с ним терминология. Далее мы начнем изучать синтаксические спецификации XML и писать собственные XML-документы.
1.Правила синтаксиса XML
Документы XML аналогичны исходным кодам HTML и также используют теги для идентификации содержимого. При создании XML-документов необходимо соблюдать следующие важные правила:
Правило 1: Должен быть оператор объявления XML. Мы уже упоминали об этом в предыдущей главе. Объявление — это первое предложение XML-документа, его формат следующий:
<?xml version="1.0" Standalone="да/нет" кодировка="UTF-8"?>
Цель объявления — сообщить браузеру или другой программе обработки, что этот документ является документом XML. Версия в операторе объявления указывает версию спецификации XML, которой соответствует документ; автономная версия указывает, поставляется ли документ с файлом DTD; если да, то параметр «нет» указывает языковую кодировку, используемую в документе, а также значение «нет». по умолчанию — UTF-8.
Правило 2: Существует ли файл DTD. Если документ является «действительным XML-документом» (см. предыдущую главу), то документ должен иметь соответствующий файл DTD и строго соответствовать спецификациям, установленным файлом DTD. Оператор объявления файла DTD следует за оператором объявления XML в следующем формате:
<!DOCTYPE тип документа SYSTEM/PUBLIC "dtd-name">
в:
«!DOCTYPE» означает, что вы хотите определить DOCTYPE;
«type-of-doc» — это определенное вами имя типа документа, обычно такое же, как имя файла DTD;
Используйте только один из двух параметров «SYSTEM/PUBLIC». СИСТЕМА относится к URL-адресу частного файла DTD, используемого документом, а PUBLIC относится к URL-адресу общедоступного файла DTD, используемого документом.
«dtd-name» — это URL-адрес и имя файла DTD. Все файлы DTD имеют суффикс «.dtd».
Мы по-прежнему используем приведенный выше пример, его следует записать так:
<?xml version="1.0" Standalone="no" encode="UTF-8"?>
<!DOCTYPE список файлов СИСТЕМА "filelist.dtd">
Правило 3. Обратите внимание на использование заглавных букв. В документах XML существует разница между верхними и нижними буквами. <P> и <p> — разные идентификаторы. Обратите внимание, что при написании элементов регистр передних и задних идентификаторов должен оставаться одинаковым. Например: <Author>ajie</Author>, писать <Author>ajie</author> неправильно.
Вам лучше привыкнуть использовать все заглавные буквы, все строчные буквы или писать первую букву заглавной. Это уменьшает количество ошибок в документации, вызванных несоответствием регистра.
Правило 4. Добавляйте кавычки к значениям атрибутов. В HTML-коде значения атрибутов могут заключаться в кавычки или нет. Например: <font color=red>word</font> и <font color="red">word</font> могут правильно интерпретироваться браузером.
Однако в XML предусмотрено, что все значения атрибутов должны быть заключены в кавычки (могут быть одинарные или двойные кавычки), иначе это будет расценено как ошибка.
Правило 5. Все теги должны иметь соответствующий закрывающий тег. В HTML теги не могут появляться парами, например?lt;br>. В XML предусмотрено, что все теги должны появляться парами. Если есть начальный тег, должен быть и конечный тег. В противном случае это будет считаться ошибкой.
Правило 6: Все пустые теги также должны быть закрыты. Пустой тег — это тег, в котором нет содержимого между парами тегов. Например, <br>, <img> и другие теги. В XML предусмотрено, что все теги должны иметь закрывающий тег. Для таких пустых тегов метод обработки в XML заключается в добавлении / в конце исходного тега, и все. Например:
<br> следует писать как <br />;
<META name="keywords" content="XML, SGML, HTML"> должно быть записано как <META name="keywords" content="XML, SGML, HTML" />;
<IMG src="cool.gif"> следует записать как <IMG src="cool.gif" />
Глава 4. Синтаксис XML
2. Синтаксис элементов
Элемент состоит из пары идентификаторов и их содержимого. Вот так: аджи. Имя элемента и имя идентификатора совпадают. Идентичность можно дополнительно описать с помощью атрибутов.
В XML нет зарезервированных слов, поэтому в качестве имени элемента можно использовать любое слово. Однако также необходимо соблюдать следующие правила:
1. Имя может содержать буквы, цифры и другие буквы;
2. Имя не может начинаться с цифры или «_» (подчеркивание);
3. Имя не может начинаться с букв xml (или XML или Xml..)
4. Имя не может содержать пробелов.
5. Имя не может содержать ":" (двоеточие)
Чтобы элементы было легче читать, понимать и манипулировать ими, у нас есть еще несколько предложений:
1. Не используйте в названии "." Потому что во многих языках программирования «.» используется как атрибут объекта, например: font.color. По той же причине лучше не использовать «-». Если его необходимо использовать, замените его на «_»;
2. Имя должно быть как можно более коротким.
3. Старайтесь использовать один и тот же стандарт написания заглавных букв и написания имён с заглавной буквы.
4. В имени могут использоваться неанглийские символы, например китайские. Но некоторые программы могут его не поддерживать. (IE5 в настоящее время поддерживает китайские элементы.)
Кроме того, добавьте небольшое пояснение о свойствах. В HTML атрибуты можно использовать для определения формата отображения элементов. Например: <font color="red">word</font> будет отображать слово красным цветом. В XML атрибуты — это просто описания идентификаторов и не имеют ничего общего с отображением содержимого элемента. Например, то же предложение: <font color="red">word</font> не будет отображать слово красным цветом. (Итак, некоторые пользователи сети спросят: Как отобразить красный текст в XML? Для этого необходимо использовать CSS или XSL, которые мы подробно опишем ниже.)
3. Синтаксис комментариев
Комментарии добавляются в XML-документ для облегчения чтения и понимания и не интерпретируются программой и не отображаются браузером.
Синтаксис комментариев следующий:
<!-- Вот информация о комментариях-->
Как видите, он такой же, как синтаксис комментариев в HTML, который очень прост. Если вы выработаете хорошие привычки комментирования, ваши документы будет легче поддерживать, делиться ими и выглядеть более профессионально.
4. Синтаксис CDATA
Полное имя CDATA — символьные данные, что переводится как символьные данные. Когда мы пишем XML-документы, нам иногда необходимо отображать сами буквы, цифры и другие символы, например «<». В XML эти символы уже имеют особое значение. Что нам делать? Для этого необходимо использовать синтаксис CDATA. Формат синтаксиса следующий:
<![CDATA[Поместите сюда символы, которые будут отображаться]]>
Например:
<![CDATA[<AUTHOR sex="female">аджи</AUTHOR>]]>
Содержимое, отображаемое на странице, будет «<AUTHOR sex="female">ajie</AUTHOR>».
Глава 4. Синтаксис XML
5. Синтаксис пространств имен
Пространства имен переводятся в пространство имен. Что делает пространство имен? Когда мы используем в XML-документе чужие или несколько файлов DTD, возникает такое противоречие: поскольку идентификаторы в XML создаются нами самими, в разных файлах DTD имена идентификаторов могут быть одинаковыми, но иметь разное значение. вызвать путаницу данных.
Например, в документе <table>wood table</table> <table> представляет собой таблицу.
В другом документе <table>namelist</table> <table> представляет таблицу. Если мне нужно работать над обоими документами одновременно, возникнет конфликт имен.
Чтобы решить эту проблему, мы ввели концепцию пространств имен. Пространства имен различают эти идентификаторы с одинаковыми именами, добавляя URL-адрес к имени идентификатора.
Пространства имен также необходимо объявить в начале XML-документа. Синтаксис объявления следующий:
<документ xmlns:вашеимя='URL'>
Где ваше имя — это имя определенного вами пространства имен, а URL — это URL-адрес пространства имен.
Предполагая, что приведенный выше документ «table <table>» взят с http://www.zhuozi.com, мы можем объявить его как
<документ xmlns:zhuozi='http://www.zhuozi.com'>
Затем используйте определенное пространство имен в последующих тегах:
<zhuozi:table>деревянный стол</table>
Это отличает две таблицы <table>. Примечание. Установка URL-адреса не означает, что этот логотип действительно нужно читать по этому URL-адресу, это просто знак различия.
6. Синтаксис сущности
Entity переводится как «сущность». Его функция аналогична «макросу» в Word, и его также можно понимать как шаблон в DW. Вы можете заранее определить сущность, а затем вызывать ее несколько раз в одном документе или вызывать одну и ту же сущность в нескольких документах.
Сущность может содержать символы, текст и т. д. Преимущества использования сущности: 1. Это позволяет уменьшить количество ошибок. Несколько одинаковых частей в документе необходимо ввести только один раз. 2. Повышает эффективность обслуживания. Например, если у вас есть 40 документов, каждый из которых содержит объекты авторского права, то если вам нужно изменить эти авторские права, вам не нужно изменять все файлы. Вам нужно только изменить первоначально определенный оператор объекта.
XML определяет два типа сущностей. Один из них — это обычный объект, о котором мы здесь говорим, используемый в документах XML, другой — объект параметра, используемый в файлах DTD;
Синтаксис определения сущности:
<!DOCTYPE имя файла [
<!ENTITY имя-объекта "содержание-объекта"
]
>
Например, я хочу определить часть информации об авторских правах:
<!DOCTYPE авторские права [
<!ENTITY авторское право «Авторское право 2001, Ajie. Все права защищены»
]
>
Если мой контент с информацией об авторских правах доступен другим пользователям в XML-файле, я также могу использовать метод внешнего вызова. Синтаксис выглядит следующим образом:
<!DOCTYPE авторские права [
<!СИСТЕМА авторских прав ENTITY "http://www.sample.com/copyright.xml">
]
>
Ссылочный синтаксис определенного объекта в документе: &entity-name;
Например, информация об авторских правах, определенная выше, при вызове записывается как ?copyright;
Полный пример выглядит следующим образом: вы можете скопировать его и сохранить как Copyright.xml, чтобы просмотреть пример:
<?xml version="1.0"coding="GB2312"?>
<!DOCTYPE авторские права [
<!Авторское право ENTITY «Авторское право 2001, Ajie. Все права защищены»>
]>
<мойфайл>
<title>XML</title>
<author>Аджи</author>
<email>[email protected]</email>
<date>20010115</date>
©право;
</мойфайл>
Глава 4. Синтаксис XML
7. Синтаксис DTD
DTD — это необходимый файл для «действительного XML-документа». Мы используем файлы DTD для определения правил и взаимоотношений элементов и идентификаторов в документе. Как создать файл DTD? Давайте учиться вместе:
1. Установите элементы
Элементы — это основные строительные блоки XML-документов. Вам необходимо определить элемент в DTD, а затем использовать его в документе XML. Синтаксис определения элемента: <!ELEMENT DESCRIPTION (#PCDATA, DEFINITION)*>
проиллюстрировать:
«<!ELEMENT» — это объявление элемента, указывающее, что то, что вы хотите определить, является элементом;
«ОПИСАНИЕ» после оператора — это имя элемента;
«(#PCDATA, DEFINITION)*>» — правило использования этого элемента. Правила определяют, какие элементы могут содержать и как они связаны друг с другом. В следующей таблице приведены правила для элементов:
2. Таблица правил элемента: