Правила синтаксиса XML
Правила синтаксиса XML крайне просты и логичны. Их легко запомнить и легко использовать.
Все XML элементы должны иметь закрывающий тег
В HTML некоторые элементы могут не иметь закрывающего тега:
<p>Это параграф.
<br>
В XML нельзя опускать закрывающий тег. Абсолютно все элементы должны закрываться:
<p>Это параграф.</p>
<br>
Возможно, вы заметили из предыдущих примеров, что XML декларация не имеет закрывающего тега. Это не ошибка. Дело в том, что декларация не относится к XML документу, поэтому у нее и нет закрывающего тега.
Теги XML регистрозависимы
Теги XML являются регистрозависимыми. Так, тег <Letter> не то же самое, что тег <letter>.
Открывающий и закрывающий теги должны определяться в одном регистре:
<Message>Это неправильно</message>
<message>Это правильно</message>
Замечание: «Открывающий и закрывающий теги» иногда еще называют «начальный и конечный теги».
XML элементы должны соблюдать корректную вложенность
В HTML иногда можно наблюдать такую картину:
<b><i>Это жирный и курсивный текст</b></i>
и иногда это даже работает должным образом.
В XML все элементы обязаны соблюдать корректную вложенность:
<b><i>Это жирный и курсивный текст</i></b>
Понятие «корректная вложенность» по отношению к приведенным примерам просто означает, что так как элемент <i> открывается внутри элемента <b>, то и закрываться он должен внутри элемента
У XML документа должен быть корневой элемент
XML документ должен содержать один элемент, который будет родительским для всех других элементов. Он называется корневым элементом.
<корневой>
<потомок>
<подпотомок>.
....</подпотомок>
</потомок>
</корневой>
XML пролог
Следующая строка называется XML прологом:
<?xml version="1.0" encoding="UTF-8"?>
XML пролог необязателен. Но если он есть, то это должна быть первая строка XML документа.
В XML документе могут присутствовать международные символы, вроде русских букв, и чтобы не возникало ошибок необходимо указать кодировку, либо сохранить XML файл в формате UTF-8.
UTF-8 — кодировка XML документов по умолчанию.
Значения XML атрибутов должны заключаться в кавычки
Так же, как и в HTML, у XML элементов могут быть атрибуты в виде пары имя/значение.
В XML значения атрибутов должны заключаться в кавычки.
Посмотрите на следующие два примера XML документа. Первый с ошибкой, второй написан правильно:
<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
Ошибка в первом XML документе заключается в том, что значение атрибута date элемента note не заключено в кавычки.
Сущности
Некоторые символы в XML имеют особые значения.
Если вы поместите, например, символ «<» внутри XML элемента, то будет сгенерирована ошибка, так как парсер интерпретирует его, как начало нового элемента.
Так, к ошибке приведет следующая строка XML документа:
<message>если жалование < 1000</message>
Чтобы такая ошибка не возникала, нужно заменить символ «<» на его сущность:
<message>если жалование < 1000</message>
В XML существует 5 предопределенных сущностей:
Сущность | Символ | Значение |
---|---|---|
< | < | меньше, чем |
> | > | больше, чем |
& | & | амперсанд |
' | ‘ | апостроф |
" | « | кавычки |
Замечание: Только символы «<» и «&» строго запрещены в XML. Символ «>» допустим, но лучше его всегда заменять на сущность.
Комментарии в XML
Синтаксис комментариев в XML такой же, как и в HTML.
<!-- Это комментарий -->
Использование двух символов тире в середине комментария не допустимо.
Неверно:
<!-- Это -- комментарий -->
Странно, но так можно:
<!-- Это - - комментарий -->
В XML пробелы сохраняются
В HTML несколько последовательных пробельных символов усекаются до одного. В XML документе все пробельные символы сохраняются.
В XML новая строка сохраняется как LF
В приложениях Windows новая строка хранится в следующем виде: символ перевода каретки и символ новой строки (CR+LF).
Unix и Mac OSX используют LF.
Старые Mac системы используют CR.
XML сохраняет новую строку как LF.
Синтаксически верный XML документ
Если XML документ составлен в соответствии с приведенными синтаксическими правилами, то говорят, что это «синтаксически верный» XML документ.
XML Синтаксические правила
Правила синтаксиса XML очень просто и логично. Правила просты в освоении, и простой в использовании.
XML-документы должны иметь корневой элемент
XML — документы должны содержать один корневой элемент , который является parent всех остальных элементов:
<root>
<child>
<subchild>…..</subchild>
</root>
В этом примере <Примечание> является корневым элементом:
<?xml version=»1.0″ encoding=»UTF-8 « ?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>
XML Пролог
Эта линия называется XML пролог:
<?xml version=»1.
XML пролог является необязательным. Если он существует, то она должна быть на первом месте в документе.
XML-документы могут содержать международные символы, такие как норвежский оа или французского ЭИ.
Чтобы избежать ошибок, вы должны указать кодировку, или сохранять файлы XML в кодировке UTF-8.
UTF-8 кодировка символов по умолчанию для XML-документов.
Кодировка символов может быть изучена в нашем Набор символов Учебное пособие .
UTF-8 также кодировку по умолчанию для HTML5, CSS, JavaScript, PHP и SQL.
Все XML-элементы должны иметь закрывающий тег
В HTML некоторые элементы могут работать хорошо, даже с отсутствующим закрывающий тег:
<p>This is a paragraph.
<br>
В XML, это незаконно, чтобы опустить закрывающий тег. Все элементы must иметь закрывающий тег:
<p>This is a paragraph.</p>
<br />
XML пролог не имеет закрывающего тега.
Это не ошибка. Пролог не является частью документа XML.
XML-теги чувствительны к регистру
XML-теги чувствительны к регистру. Тег <Letter> отличается от тега <letter> .
Открытие и закрытие теги должны быть написаны с тем же делом:
<Message>This is incorrect</message>
<message>This is correct</message>
«Открытие и закрытие тегов» часто упоминаются как «Start and end tags» . Используйте то, что вы предпочитаете. Это точно то же самое.
XML-элементы должны быть правильно вложены
В HTML, вы можете увидеть неправильно вложенные элементы:
<b><i>This text is bold and italic</b></i>
В XML все элементы must быть правильно вложены друг в друга:
<b><i>This text is bold and italic</i></b>
В приведенном выше примере, «Properly nested» просто означает , что , так как <i> элемент открыт внутри <b> элемент, он должен быть закрыт внутри <b> элемента.
XML значения атрибутов должны быть заключены в кавычки
XML элементы могут иметь атрибуты в пар имя / значение, как и в HTML.
В XML значения атрибутов всегда должны быть заключены в кавычки.
НЕПРАВИЛЬНО:
<note date=12/11/2007>
<to>Tove</to>
<from>Jani</from>
</note>
ВЕРНЫЙ:
<note date=»12/11/2007″>
<to>Tove</to>
<from>Jani</from>
</note>
Ошибка в первом документе является то , что date атрибута в элементе примечания не котируется.
Entity Ссылки
Некоторые символы имеют специальное значение в XML.
Если поместить символ , как «<» внутри элемента XML, он будет генерировать ошибку , потому что анализатор интерпретирует его как начало нового элемента.
Это вызовет ошибку XML:
<message>salary < 1000</message>
Чтобы избежать этой ошибки, замените «<» характер с entity reference на entity reference :
<message>salary < 1000</message>
Есть 5 предопределенных ссылок на сущности в XML:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ‘ | apostrophe |
" | « | quotation mark |
Только <и & строго запрещены в XML, но это хорошая привычка, чтобы заменить> с & GT; также.
Комментарии в XML
Синтаксис для записи комментариев в XML является похож на HTML.
<! — Это комментарий ->
Два тире в середине комментария не допускается.
Не допускается:
<!— This is a — comment —>
Странно, но допускается:
<!— This is a — — comment —>
Бело-пространство Сохранилось в XML
XML не усечь несколько бело-пространства (HTML обрезает несколько бело-пространства к одному пробельных):
XML: | Hello Tove |
HTML: | Hello Tove |
XML Магазины New Line, как LF
Приложений Windows Store новую строку как: возврат каретки и перевод строки (CR+LF) .
Unix и Mac OSX использует LF.
Старый Mac системы использует CR.
XML сохраняет новую строку как LF.
Хорошо сформировавшиеся XML
XML — документы , которые соответствуют правилам синтаксиса выше , как говорят, «Well Formed» XML — документы.
Десять правил XML, которые нужно знать
Как правильно использовать XML
Джек Херрингтон
Опубликовано 26.03.2012
Часто используемые сокращения
- CDATA: Character Data (символьные данные)
- DOM: Document Object Model (объектная модель документа)
- E4X: ECMAScript for XML (ECMAScript для XML)
- IDE: Integrated Development Environment (интегрированная среда разработки)
- W3C: World Wide Web Consortium (консорциум WWW)
- XML: Extensible Markup Language (расширяемый язык разметки)
- XSLT: Extensible Stylesheet Language Transformations (расширяемый язык преобразований таблиц стилей)
В настоящее время XML воспринимается как нечто само собой разумеющееся. Он повсюду! Но если посмотреть со стороны, то можно увидеть, что это мощная технология. Есть интегрированные среды разработки, которые помогают строить XML-деревья. Есть целый ряд технологий проверки корректности XML-кода. Есть XSLT – специальный язык преобразования XML. Поддержка XML встроена даже непосредственно в синтаксис некоторых языков (как, например, E4X в ActionScript).
Но у XML есть и обратная сторона. Его можно использовать неправильно. Его можно использовать плохо. Он может быть чрезмерно сложным. Он может быть недоопределенным. С ним может быть трудно работать. Что нужно сделать для более эффективного использования этой мощной технологии? В своей статье я дам 10 советов, которые помогут ответить на этот вопрос.
Не используйте XML в качестве имени файла или корневого тега
Много раз я видел XML-код, хранящийся в файлах с расширением .xml. Это бессмысленно. Такое расширение не скажет мне ничего, чего бы я не знал, просто выполнив команду cat. Как только я увижу теги, я сразу пойму, что это XML. Вместо этого расширения используйте расширение, имеющее смысл для пользователя. Также можно использовать уникальное расширение, чтобы при поиске Google возвращал ссылки на документацию или на примеры вашего формата XML-файла.
Еще одной проблемой в некоторых XML-документах является использование корневого тега <xml>
. Это опять-таки ни о чем не говорит. Что находится в этом файле? Если это список контактов, корневым узлом должен быть тег <contacts>
. XML должен быть читабельным, поэтому используйте имена тегов и атрибутов, имеющие отношение к бизнес-задаче, над которой работаете. Если корневым узлом является <contacts>
, я предполагаю увидеть теги <contact>
, а затем теги <name>
, <first>
, <middle>
, <last>
и т.д.
Не переопределяйте обобщенные или специфичные для языка конструкции
Я понимаю, что XML – это формат для сохранения данных. В своем большинстве языки предоставляют способ сохранения структур данных в XML. Хорошо, если вы уверены, что только написанные на том же языке процессы будут когда-либо читать или писать ваш XML-код. Такое, однако, встречается редко. Если ваше приложение пишет что-то в файл, вполне вероятно, что в какой-то момент времени его прочтет пользователь или какое-нибудь приложение на другом языке.
Этим я хочу сказать, что специфичные для языка конструкции нужно хранить вне XML. Как часто вы встречали <data type="NSDate">07-18-2010</data>
? Что такое NSDate? Ага, это имя класса для работы с датами на прикладной платформе. Что произойдет при смене платформы или языка? Потребуется преобразование тегов NSDate во что-то другое, что используется на новой платформе.
Храните специфику языка вне XML и используйте простые теги, скажем <date>...<date>
. Такой тег легко понимаем, читабелен и не зависит от конкретного языка или интегрированной среды.
Еще одно важное правило – избегайте использования в XML излишних обобщений. Взгляните на следующий пример (листинг 1):
Листинг 1. Обобщенное дерево узлов
<nodes> <node type="user"> <node type="first">jack</node> </node> </nodes>
Что это означает? Я понял, что это список пользователей. Но человеку трудно это читать и редактировать. Еще хуже то, что этот XML-код очень трудно использовать в средствах, подобных XSLT, или проверять его корректность при помощи схемы. В листинге 2 показано, что на самом деле означает приведенный выше XML-код.
Листинг 2. Более эффективное дерево узлов
<users> <user> <first>jack</first> </user> </users>
Разве так не лучше? Код говорит то, что означает, и означает то, что говорит. Его легче читать и анализировать. Его легче проверять и преобразовывать при помощи XSLT. Он даже меньше по размеру.
Не делайте файлы слишком большими
Знаю, что вы скажете: «Дисковая память стоит дешево. За десять центов я куплю еще один терабайт». Это верно. Вы действительно можете создавать гигабайтные XML-файлы. Но программирование – это постоянные компромиссы. Приходится менять дисковое пространство на время или память на время. А при работе с огромным XML-файлом вы получаете худшие стороны и того, и другого. Файл занимает много места на диске, а на его анализ и проверку уходит много времени. Кроме того, большой файл исключает использование DOM-анализатора, поскольку построение дерева требует бесконечного времени и огромного количества памяти.
Какова же альтернатива? Можно создать несколько файлов. Один выступает в качестве индекса, а другие содержат большие ресурсы, которые, возможно, будут нужны не всем пользователям этого XML. Другой вариант– вынос всех больших фрагментов CDATA из XML-файла и помещение их в свои собственные файлы с собственными форматами. Если вы хотите хранить все данные вместе, запакуйте все файлы в новый файл с новым расширением. Любой популярный язык программирования имеет модули, облегчающие быструю упаковку и распаковку файлов.
Не используйте пространства имен, если в этом нет острой необходимости
Пространства имен (namespace) – это мощная составляющая XML-лексикона. Они облегчают реализацию расширяемых форматов файлов. Вы можете определить базовый набор тегов для всех потребностей вашего приложения, а затем разрешить пользователям добавлять свои собственные данные в свое собственное пространство имен в файле, не затрагивая ваше дерево объектов.
Однако пространства имен очень затрудняют синтаксический анализ и управление данными. Они сбивают с толку расширения языков программирования, такие как E4X. Они затрудняют использование XML в XSLT. Наконец, они делают XML-файлы намного более трудными для чтения.
Поэтому используйте пространства имен XML, только если это действительно необходимо. Не используйте их просто потому, что «XML позволяет это делать». XML прекрасно работает и без пространств имен.
Не используйте специальные символы
Все мои советы направлены на поддержание чистоты, простоты и легкости восприятия вашего XML-кода. В этом смысле даже спецификация XML позволяет многое, что совсем необязательно использовать. Например, в названиях элементов и атрибутов можно использовать тире. Но это очень затрудняет использование такого XML-кода в расширениях языка, например в E4X. Вопрос в том, стоит ли?
Я рекомендую избегать использования любых специальных символов в названиях элементов и атрибутов.
Используйте XML Schema
Синтаксический анализ XML является непростой задачей. Для точного анализа необходимо проделать большую работу по защите кода от возможного отсутствия и некорректного использования тегов или атрибутов. Это дополнительная работа по написанию кода, дополнительная сложность, а также затенение реальной бизнес-логики, являющейся вашей главной заботой. Как избежать этого? Проверяйте XML перед его использованием. Для этого можно использовать несколько стандартов. Можно указать Document Type Definition (DTD) или XML Schema (ссылки на информацию о DTD и XML Schema приведены в разделе Ресурсы). Лично я нахожу XML Schema намного более простой в работе, но если вы новичок в этом деле, попробуйте различные системы проверки корректности.
Большим преимуществом является то, что после проверки корректности XML в нем можно быть уверенным. Возможно, это не нужно для внутренних XML-файлов вашего приложения. Но это очень полезно, если XML генерируется другим приложением или пишется вручную.
Нумеруйте версии
Очень легко упустить из виду тот факт, что XML, хранящийся в файлах, эквивалентен формату файла. Первое, что должен содержать файл любого формата, – это номер версии. Его достаточно легко добавить: <customers version="1">...</customers>
. Код, выполняющий чтение файла, должен проверить, что номер версии не больше его текущей версии, и сгенерировать исключительную ситуацию, если это не так. Это гарантирует, что любые последующие версии кода не будут конфликтовать с более старыми версиями при использовании новых тегов. Конечно же, вы должны обеспечить поддержку всех старых версий файлов при дальнейшей разработке своего приложения.
Сочетайте узлы и атрибуты
Инженеры довольно ленивый народ. Я могу это утверждать, поскольку сам такой. Не спорьте, все мы такие. Если интегрированная среда разработки предложит выполнить экспорт XML вместо нас, мы наверняка согласимся. Но обычно интегрированная среда создает очень плохой XML-код. Вероятно, вы уже встречались с чем-то похожим на листинг 3:
Листинг 3. Список пользователей
<users> <user> <id>1</id> <first>jack</first> </user> </users>
Должен ли <id>
быть тегом? Я утверждаю, что он должен быть атрибутом. Код становится более коротким и осмысленным, появляется возможность искать пользователя по идентификатору при помощи простого XPath-выражения (/users/user[@id=1]
).
Чтобы код был читабелен, несомненно лучше использовать атрибуты, как показано в листинге 4.
Листинг 4. Более удобный список пользователей
<users> <user> <first>jack</first> </user> </users>
Понятно, что интегрированная среда сгенерировала листинг 3, потому что всегда безопаснее использовать узлы. Но атрибуты позволяют идентифицировать важные элементы в DOM-дереве, поэтому следует использовать их.
Используйте CDATA, но не злоупотребляйте этим
XML налагает множество ограничений на использование определенных символов: кавычек, амперсандов, знаков «меньше» и «больше» и т.д. Однако на практике эти символы используются очень часто. Поэтому приходится либо преобразовывать все в безопасный для XML формат, либо помещать большие фрагменты текста, кода или еще чего-нибудь в блоки CDATA
. Мне кажется, что разработчики избегают использования CDATA
, поскольку думают, что это затруднит синтаксический анализ. Но разделы
CDATA
анализировать не труднее, чем что-либо другое – большинство DOM-анализаторов обрабатывает их самостоятельно, поэтому вам даже не нужно думать об этом.
Еще одной важной причиной использования CDATA
является сохранение точного форматирования данных. Например, при экспорте Wiki-страницы вы наверняка захотите в точности сохранить позиции таких символов как возврат каретки и перевод строки, поскольку они играют особую роль в Wiki-формате.
Почему же не использовать разделы CDATA
постоянно? Потому что они очень затрудняют чтение документа. Это особенно неприятно, когда в них нет необходимости. Итак, используйте их и поощряйте их использование пользователями ваших XML-файлов в тех ситуациях, когда данные, по вашему мнению, будут содержать специальные символы и когда нужно сохранить первоначальное форматирование. Но не используйте CDATA в прочих ситуациях.
Храните необязательные данные в отдельной области
До сих пор я рассказывал об XML-документах с жестким форматом. Я даже рекомендовал использовать технологию проверки корректности, (например, XML Schema), гарантирующую жесткую структуру. Тому есть веская причина: структурированные данные легче анализировать. А если нужна определенная гибкость? Я рекомендую размещать необязательные данные в отдельном блоке в своем собственном узле. Взгляните, например, на листинг 5.
Листинг 5. Неупорядоченная запись о пользователе
<users> <user> <first>jack</first> <middle>d</middle> <last>herrington</last> <runningpace>8:00</runningpace> </user> </users>
Эта запись содержит все ожидаемые данные о пользователе. Я согласен с first, middle, last, но зачем здесь runningpace? Это необходимо? Будете ли у вас много таких полей? Будут ли они расширяемыми? Если ответ на все эти вопросы утвердителен, я порекомендовал бы сделать так (см. листинг 6):
Листинг 6.

<users> <user> <first>jack</first> <middle>d</middle> <last>herrington</last> <userdata> <field name="runningpace">8:00</field> </userdata> </user> </users>
При таком подходе вы можете иметь сколько угодно полей, не загромождая пространство имен родительского элемента <user>
. Вы даже можете проверить корректность этого документа, а также обратиться к определенному полю при помощи XPath-выражения (//user/userdata/field[@name=’runningpace’).
Заключение
Обдумайте то, что я сказал. Я порекомендовал пять вещей, которые стоит делать, и пять вещей, которых следует избегать. Не все мои советы применимы в любых обстоятельствах. Иногда XML – это только формат хранения данных, передаваемых по сети и живущих всего несколько миллисекунд. В этом случае ни о чем заботиться не стоит. Но при использовании XML в качестве формата файлов вам следует прислушаться к моим советам и применить представленные здесь рекомендации.
Ресурсы для скачивания
Похожие темы
- Оригинал статьи: Five XML dos and five don’ts that you need to know (EN).
- Эксперты по языку скорее всего захотят познакомиться со спецификацией W3C XML Specification. Станьте экспертом по языку и узнайте подробнее об XML — простом, очень гибком текстовом формате, предназначенном для публикации электронных документов и играющем важную роль в обмене данными в Web и повсюду.
- Document Type Definition (DTD) в Википедии: информация о DTD — наборе объявлений разметки, определяющих тип документа для семейства языков разметки SGML (SGML, XML, HTML).
- XML Schema в Википедии: краткое описание типа XML-документа, ограничивающееся структурой и содержимым документов данного типа.
- Спецификация W3C XSLT: информация о замечательном способе преобразования XML в разнообразные форматы.
- Спецификация W3C XPath: очень полезное средство, которое можно использовать для быстрого и удобного поиска узлов даже в самом сложном XML-документе.
- Разработка XML при помощи Eclipse: использование возможностей XML в Eclipse (Павел Лешек (Pawel Leszek), developerWorks, апрель 2003 года): информация об Eclipse и его расширениях для редактирования XML (EN).
- Расширение E4X для Actionscript (ECMAScript): отличный способ интегрировать XML непосредственно в логику вашего приложения. Это расширение настолько полезно, что де-факто становится открытым стандартом хранения в языке (Википедия).
- Другие статьи данного автора (Джек Херрингтон (Jack Herrington), developerWorks, с марта 2005 года по настоящее время): статьи об Ajax, JSON, PHP, XML и других технологиях.
- Сертификация IBM по XML: информация о получении сертификата IBM-Certified Developer по XML и смежным технологиям.
Рекомендуемые XML-теги для комментариев документации — Visual Basic
- Чтение занимает 2 мин
В этой статье
Компилятор Visual Basic может обрабатывать комментарии документации в коде в XML-файле.The Visual Basic compiler can process documentation comments in your code to an XML file. Для обработки XML-файла в документации можно использовать дополнительные средства.You can use additional tools to process the XML file into documentation.
Комментарии XML разрешены в конструкциях кода, таких как типы и члены типов.XML comments are allowed on code constructs such as types and type members. Для разделяемых типов только одна часть типа может содержать комментарии XML, хотя не существует ограничений на комментирование его элементов.For partial types, only one part of the type can have XML comments, although there is no restriction on commenting its members.
Примечание
Комментарии к документации нельзя применять к пространствам имен.Documentation comments cannot be applied to namespaces. Причина состоит в том, что одно пространство имен может охватывать несколько сборок, и не все сборки должны быть загружены одновременно.The reason is that one namespace can span several assemblies, and not all assemblies have to be loaded at the same time.
Компилятор обрабатывает любой тег, который является допустимым XML.The compiler processes any tag that is valid XML. Следующие теги предоставляют часто используемые функции в пользовательской документации.The following tags provide commonly used functionality in user documentation.
(1 компилятор проверяет синтаксис.)(1 The compiler verifies syntax.)
Примечание
Если необходимо, чтобы угловые скобки отображались в тексте комментария к документации, используйте <
и >
.If you want angle brackets to appear in the text of a documentation comment, use <
and >
. Например, строка "<text in angle brackets>"
будет выглядеть так <text in angle brackets>
:.For example, the string "<text in angle brackets>"
will appear as <text in angle brackets>
.
См. такжеSee also
XML Введение — XML: Extensible Markup Language
XML — это язык разметки подобный HTML. Расшифровывается как (англ. Extensible Markup Language — Расширяемый Язык Разметки) и является рекомендацией сообщества W3C в качестве языка разметки общего назначения (W3C recommended). В отличии от остальных языков разметки, XML сам по себе не определен (это означает, что вы должны сами определять используемые теги). Основной целью XML является передача данных между разными системами (даже концептуально разными), такими как интернет.
Много языков базируются на XML; Некоторые примеры: XHTML, MathML, SVG, XUL, XBL, RSS, и RDF. Вы можете создать свой.
Правила оформления
Для корректного XML документа должны исполняться следующие условия:
-
Правильное оформление документа.
-
Соблюдаться все синтаксические правила XML.
-
Документ должен соответствовать семантическим правилам языка (которые обычно заданны в схеме XML или DTD (англ. Document Type Definition)).
Пример
Пример ниже показывает документ с тегом, который не закрывает сам себя и не имеет закрывающего тега (это неправильно оформленный XML документ).
<message>
<warning>
Hello World
</message>
Давайте посмотрим на корректную версию этого документа:
<message>
<warning>
Hello World
</warning>
</message>
Документ содержащий неопределенный тег является не корректным. Например, если мы не определили тег <warning>
, документ не корректен.
В большинство браузеров встроен дебаггер, который может идентифицировать плохо написанный XML документ.
HTML и XML предлагают методы (которые называют сущности) для обращения к специальным зарезервированным символам (например угловые скобки, обозначающие начало и конец тега). Существует пять сущностей, которые вы обязательно должны знать:
Сущность | Символ | Описание |
---|---|---|
< | < | Знак меньше (одна из угловых скобок) |
> | > | Знак больше (одна из угловых скобок) |
& | & | Амперсанд |
" | « | Двойная кавычка |
' | ‘ | Одинарная кавычка (апостроф) |
Не смотря на то, что по умолчанию создано всего пять сущностей, вы можете добавить в документ свои сущности используя Document Type Definition. Например, создать новую &warning;
сущность, можно так:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE body [ <!ENTITY warning "Предупреждение: произошла ошибка, обновите и попробуте еще раз."> ]> <body> <message> &warning; </message> </body>
Также вы можете использовать нумерические ссылки для специфический специальных символов. Например, © — это символ «©».
XML обычно используют для описания чего-то. Существуют методы отображения XML данных, но если вы не определили способ визуализации XML документа, то в браузуре он отобразится построчно, как обычный текстовый файл .
Один из методов отображения XML — указать CSS (чтобы использовать в документе нужно прописать инструкцию xml-stylesheet
, как показано в примере ниже).
<?xml-stylesheet type="text/css" href="stylesheet.css"?>
Есть также много других мощных методов отображения XML, например, XSLT(англ. Extensible Stylesheet Language Transformations), который может использоваться для преобразование XML в другие языки такие, как HTML. Это делает XML очень универсальным.
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
Эта статья является очень маленьким введением в XML, с очень маленьким количеством примеров и ссылок для того, чтобы вы могли начать работать с этим языком. Чтобы больше узнать про XML, вам прийдется искать информацию и более информативные статьи в интернете.
Изчайте HTML (англ. HyperText Markup Language), знание HTML поможет вам лучше понять XML.
Статья Using XML — отличный ресурс с большим количеством информации о саздании своего языка на основе XML.
Основные конструкции XML — элементы XML, теги, атрибуты, процессинговые инструкции, секции CDATA, комментарии
Мы снова продолжаем изучение XML и в данной статье познакомимся с такими конструкциями XML, как процессинговые инструкции, комментарии, атрибуты и другие элементы XML. Эти элементы являются базовыми и позволяют гибко, в четком соответствии со стандартом размечать документы абсолютно любой сложности.
Некоторые моменты, такие как теги XML, мы уже частично рассматривали в предыдущей статье «Разметка XML-документов». Теперь мы еще раз затронем эту тему и разберем ее более подробно. Это сделано специально, чтобы вам было проще представить всю картину конструкций XML.
Элементы XML. Пустые и непустые элементы XML
Как уже говорилось в предыдущей статье, теги в XML не просто размечают текст, как это бывает в HTML, а выделяют отдельные элементы (объекты). В свою очередь элементы иерархически организуют информацию в документе, что в свою очередь и сделало их основными структурными единицами языка XML.
В XML элементы могут быть двух типов – пустые и непустые. Пустые элементы не содержат в себе никаких данных, таких как текст или другие конструкции. В отличие от пустых элементов, непустые могут содержать в себе любые данные, такие как текст или другие элементы и конструкции языка XML. Чтобы понять суть вышесказанного, давайте рассмотрим примеры пустых и непустых элементов XML.
Пустой элемент XML
<myElement name="myName" />
Непустой элемент XML
<myElement атрибуты элемента и т.д. >
Содержимое элемента...
</myElement>
Как мы видим с примера выше, главным отличием пустых элементов от непустых является то, что они состоят только из одного тега. Кроме того стоит также заметить, что в XML все имена регистрозависимые. Это означает, что имена myElement, MyElement, MYELEMENT и т.д. различаются между собой, поэтому данный момент стоит сразу запомнить, чтобы избежать ошибок в будущем.
Итак, с элементами мы разобрались. Теперь давайте перейдем к следующему моменту, такому как логическая организация XML-документов.
Логическая организация XML-документов. Древовидная структура XML данных
Как вы помните, основной конструкцией языка XML являются элементы, которые могут содержать в себе другие вложенные конструкции и тем самым формировать иерархическую структуру в виде дерева. В этом случае родительский элемент будет корнем, а все остальные дочерние элементы будут ветками и листьями дерева XML.
Чтобы было проще понять суть вышесказанного, давайте рассмотрим следующее изображение с примером.
Как мы видим, организация XML-документа в виде дерева является довольно простой структурой для обработки. При этом выразительная сложность самого дерева достаточно велика. Именно древовидное представление является наиболее оптимальным способом описания объектов в XML.
Атрибуты XML. Правила записи атрибутов в XML
В XML элементы могут содержать также и атрибуты с присвоенными им значениями, которые помещаются в одинарные или двойные кавычки. Атрибут для элемента задается следующим образом:
<myElement attribute="value" ></myElement>
В данном случае использовался атрибут с именем «attribute» и значением «value». Тут стоит сразу заметить, что атрибут XML обязательно должен содержать какое-то значение и не может быть пустым. В противном случае код будет некорректным с точки зрения XML.
Также стоит обратить внимание на использование кавычек. Значение атрибутов может заключаться как в одинарные, так и в двойные кавычки. Кроме того возможно также использование одних кавычек внутри других. Для демонстрации рассмотрим следующие примеры.
<myElement attribute="value" ></myElement>
<myElement attribute='value' ></myElement>
<myElement attribute='"value"' ></myElement>
Прежде чем приступить к рассмотрению других конструкций XML стоит также заметить, что при создании атрибутов в качестве значений не могут использоваться такие специальные символы, как амперсанд «&» или угловые скобки «<>». Данные символы зарезервированы в качестве управляющих («&» — сущность, а «<» и «>» открывают и закрывают тег элемента) и не могут быть использованы в «чистом виде». Для их использования нужно прибегать к замене спецсимволов.
Инструкции по обработке XML (процессинговые инструкции). XML-декларация
В языке XML есть возможность включения в документе инструкций, которые несут определенную информацию для приложений, которые будут обрабатывать тот или иной документ. Инструкции по обработке в XML создаются следующим образом.
<?Приложение содержимое?>
Как видно с примера выше, в XML инструкции по обработке заключаются в угловые кавычки со знаком вопроса. Это немного напоминает обычный php-блок, который мы рассматривали в первых уроках по PHP. В первой части процессинговой инструкции определяется приложение или система, которой предназначена вторая часть этой инструкции или ее содержимое. При этом инструкции по обработке действительны только для тех приложений, которым они адресованы. Примером процессинговой инструкции может быть следующая инструкция.
Стоит заметить, что в XML есть особая конструкция, которая очень сильно похожа на инструкцию по обработке, но сама она такой не является. Речь идет об XML-декларации, которая передает обрабатывающему программному обеспечению некоторую информацию о свойствах XML-документа, таких как кодировка, версия языка в соответствии с которым написан данный документ и т.д.
<?xml version="1.0" encoding="utf-8"?>
Как видно с примера выше, XML-декларация содержит так называемые псевдоатрибуты, которые очень похожи на обычные атрибуты, о которых мы говорили чуть выше. Дело в том, что по определению XML-декларация и инструкции по обработке не могут содержать атрибутов, поэтому данные объявления назвали псевдоатрибутами. Это стоит запомнить на будущее во избежание разнообразных ошибок.
Поскольку мы разобрались с псевдоатрибутами, то давайте рассмотрим, что же они означают.
- Encoding – отвечает за кодировку XML документа. Обычно используется кодировка UTF8.
- Version – версия языка XML, на котором написан данный документ. Обычно это XML версии 1.0.
Ну а теперь перейдем к заключающей части статьи и рассмотрим такие конструкции XML как комментарии и секции CDATA.
Комментарии в XML. Секции CDATA
Комментарии в XML используются для того, чтобы оставить какую-то подсказку разработчику или просто исключить какой-то код из обработки. Процесс создания комментария в XML такой же, как и в обычном HTML.
<!--Текст комментария -->
Здесь сразу стоит обратить ваше внимание на 2 правила:
- В тексте комментария не может быть двух символов «-» подряд.
- Комментарий не может заканчиваться символом «-».
Это были два главных правила, которых стоит придерживаться при создании комментариев в XML-документе. Ну а теперь давайте рассмотрим последнюю конструкцию XML под названием секция CDATA.
Секции CDATA используются для того, чтобы дать понять обработчику XML документа, что данный участок кода не стоит воспринимать как разметку. Обычно это применяется, например, если нужно отобразить какие-то данные в исходном виде. Сама же конструкция создается следующим образом.
<![CDATA[содержимое]]>
При этом в качестве содержимого могут быть любые символы, включая амперсанд «&» и угловые скобки «<» и «>». Исключением здесь является лишь последовательность символов «]]>», которая не может быть использована в секции CDATA.
Ну и в завершение статьи давайте рассмотрим пример использования секций CDATA.
<![CDATA[<myElement>Содержимое элемента XML</myElement>]]>
В обычных условиях содержимое секции CDATA было бы воспринято как часть разметки. В данном же случае оно будет расцениваться как обычные символьные данные.
На этом я завершаю данную статью. Следующую статью рубрики планирую посвятить такой важной теме, как пространствам имен, поэтому если вы не хотите ее пропустить, рекомендую подписаться на новостную рассылку любым удобным для вас способом в соответствующем пункте меню либо воспользовавшись формой подписки ниже.
На этом все. Удачи вам и успехов в изучении XML.
Обнаружили ошибку? Выделите ее и нажмите Ctrl+Enter
Структура и правила создания XML-документа.
Структура и правила создания XML-документа. Структура документаПростейший XML- документ может выглядеть так, как это показано в
Примере 1
Пример 1
<?xml version="1.0"?> <list_of_items> <item><first/>Первый</item> <item>Второй <sub_item>подпункт 1</sub_item></item> <item>Третий</item> <item><last/>Последний</item> </list_of_items>
Обратите внимание на то, что этот документ очень похож на обычную HTML-страницу. Также, как и в HTML, инструкции, заключенные в угловые скобки называются тэгами и служат для разметки основного текста документа. В XML существуют открывающие, закрывающие и пустые тэги (в HTML понятие пустого тэга тоже существует, но специального его обозначения не требуется).
Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа — данных (content). XML — тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.
Любой XML-документ должен всегда начинаться с инструкции , внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа.
Правила создания XML- документа
В общем случае XML- документы должны удовлетворять следующим требованиям:
- В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
- Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего «напарника», т.е., в отличие от HTML, нельзя опускать закрывающие тэги
- В XML учитывается регистр символов
- Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
- Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
- Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)
Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.
Однако кроме проверки на формальное соответствие грамматике языка, в документе могут присутствовать средства контроля над содержанием документа, за соблюдением правил, определяющих необходимые соотношений между элементами и формирующих структуру документа. Например, следующий текст, являясь вполне правильным XML- документом, будет абсолютно бессмысленным:
<country><title>Russia</title><city><title>Novosibirsk</country> </title></city>
Для того, чтобы обеспечить проверку корректности XML- документов, необходимо использовать анализаторы, производящие такую проверку и называемые верифицирующими.
На сегодняшний день существует два способа контроля правильности XML- документа: DTD — определения (Document Type Definition) и схемы данных (Semantic Schema). Более подробно об использовании DTD и схемах будет описано в следующих разделах. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.
Конструкции языка
Содержимое XML- документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.
Элементы данных
Элемент — это структурная единица XML- документа. Заключая слово rose в в тэги , мы определяем непустой элемент, называемый , содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, — т.е. практически любые части XML- документа.
Любой непустой элемент должен состоять из начального, конечного тэгов и данных, между ними заключенных. Например, следующие фрагменты будут являться элементами:
<flower>rose</flower> <city>Novosibirsk</city>а эти — нет:
<rose> <flower> rose
Набором всех элементов, содержащихся в документе, задается его структура и определяются все иерархическое соотношения. Плоская модель данных превращается с использованием элементов в сложную иерархическую систему со множеством возможных связей между элементами. Например, в следующем примере мы описываем месторасположение Новосибирских университетов (указываем, что Новосибирский Университет расположен в городе Новосибирске, который, в свою очередь, находится в России), используя для этого вложенность элементов XML :
<country> <cities-list> <city> <title>Новосибирск</title> <universities-list> <university> <title>Сибирский Государственный Университет Телекоммуникаций и Информатики</title> <address URL="www.neic.nsk.su"/> </university> <university> <title>Новосибирский Государственный Университет</title> <address URL="www.nsu.ru"/> </university> </universities-list> </city> <city> <title>Москва</title> <universities-list> <university> <title>Московский Государственный Университет</title> <address URL="www.msu.ru"/> </university> </universities-list> </city> </cities-list> </country>
Производя в последствии поиск в этом документе, программа клиента будет опираться на информацию, заложенную в его структуру — используя элементы документа. Т.е. если, например, требуется найти нужный университет в нужном городе, используя приведенный фрагмент документа, то необходимо будет просмотреть содержимое конкретного элемента <university>, находящегося внутри конкретного элемента <city>. Поиск при этом, естественно, будет гораздо более эффективен, чем нахождение нужной последовательности по всему документу.
В XML документе, как правило, определяется хотя бы один элемент, называемый корневым и с него программы-анализаторы начинают просмотр документа. В приведенном примере этим элементом является <country>
В некоторых случаях тэги могут изменять и уточнять семантику тех или иных фрагментов документа, по разному определяя одну и ту же информацию и тем самым предоставляя приложению-анализатору этого документа сведения о контексте использования описываемых данных. Например, прочитав фрагмент <river>Lena</river> мы можем догадаться, что речь в этой части документа идет о реке, а вот во фрагменте <name>Lena</name> — о имени.
В случае, если элемент не имеет содержимого, т.е. нет данных, которые он должен определять, он называется пустым. Примером пустых элементов в HTML могут служить такие тэги HTML, как <br>, <hr>, <img>;. Необходимо только помнить, что начальный и конечные тэги пустого элемента как бы объединяется в один, и надо обязательно ставить косую черту перед закрывающей угловой скобкой (например, <empty/>;)
Комментарии
Комментариями является любая область данных, заключенная между последовательностями символов Комментарии пропускаются анализатором и поэтому при разборе структуры документа в качестве значащей информации не рассматриваются.
Атрибуты
Если при определении элементов необходимо задать какие-либо параметры, уточняющие его характеристики, то имеется возможность использовать атрибуты эдлемента. Атрибут — это пара «название» = «значение», которую надо задавать при определении элемента в начальном тэге. Пример:
<color RGB="true">#ff08ff</color> <color RGB="false">white</color>или
<author id=0>Ivan Petrov</autho>Примером использования атрибутов в HTML является описание элемента <font>:
<font color="white" name="Arial">Black</font>
Cпециальные символы
Для того, чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор. Например, < , > » или $(десятичная форма записи),  (шестнадцатеричная) и т.д. Строковые обозначения спецсиволов могут определяться в XML документе при помощи компонентов (entity).
Директивы анализатора
Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов — и ?>;. Программа клиента использует эти инструкции для управления процессом разбора документа. Наиболее часто инструкции используются при определении типа документа (например, Xml version=»1.0″?>) или создании пространства имен.
CDATA
Чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы, но, в отличии от комментариев, иметь возможность использовать их в приложении, необходимо использовать тэги . Внутри этого блока можно помещать любую информацию, которая может понадобится программе- клиенту для выполнения каких-либо действий (в область CDATA, можно помещать, например, инструкции JavaScript). Естественно, надо следить за тем, чтобы в области, ограниченной этими тэгами не было последовательности символов ]].
XML | Теги — GeeksforGeeks
XML | Теги
XML-теги — важные особенности XML-документа. Он похож на HTML, но XML более гибкий, чем HTML. Это позволяет создавать новые теги (теги, определяемые пользователем). Первый элемент XML-документа называется корневым элементом. Простой XML-документ содержит открывающий и закрывающий теги. Теги XML чувствительны к регистру, т.е. теги
Свойство тегов XML: Существует множество свойств тегов XML, которые обсуждаются ниже:
- Каждый XML-документ должен иметь корневой тег, который включает XML-документ. Необязательно, чтобы имя корневого тега было root. Имя корневого тега — любое возможное имя тега.
Пример:<
корень
>
<
название
> GeeksforGeeks
название
>
<
адрес
>
<
сектор
> 142
сектор
>
<
местонахождение
> Нойда
местонахождение
>
адрес
>
корень
>
- XML-документ должен иметь начальный тег, поэтому первый начальный тег известен как корневой тег.Открывающий тег начинается с скобки <, за которой следует имя тега или имя элемента и закрывается скобкой>.
Пример:<
Имя
> GeeksforGeeks
<
адрес
> Нойда
- Тег, который начинается с начального тега, должен заканчиваться тем же тегом с косой чертой (конечный тег), или, другими словами, каждый документ XML должен заканчиваться конечным тегом.Конечный тег начинается с <, за которым следует /, а имя его парного тега заканчивается>
Пример:<
Имя
> GeeksforGeeks
Имя
>
<
адрес
> Нойда <
адрес
>
- В XML теги чувствительны к регистру. Это означает, что
и - разные теги.
Пример:<
Имя
> С учетом регистра
Имя
>
<
имя
> имя и имя разные тег
имя
>
- Тег, не содержащий содержимого, называется пустым тегом.
Пример:<
наименование
>
наименование
>
<
адрес
/>
Тег - XML должен быть закрыт в соответствующем порядке.Например, тег XML, открытый внутри другого элемента, должен быть закрыт до закрытия внешнего элемента.
<
корень
>
<
название
> GeeksforGeeks
название
>
<
адрес
>
<
добавить
> Сектор 142 Нойда
добавить
>
<
контакт
> 201302
контакт
>
<
страна
> Индия
страна
>
адрес
>
корень
>
2.2. Элементы, теги и символьные данныеДокумент в примере 2-1 состоит из одного элемент именное лицо. Элемент ограничен то начальный тег <человек> и концевая этикетка . Все между начальным тегом а конечный тег элемента (эксклюзивный) называется элемент содержимое . Контент этого элемента является текстовая строка: Алан Тьюринг Пробел является частью содержимого, хотя многие приложения предпочитают игнорировать его.<человек> и являются разметка . Струна «Алан Тьюринг» и его окружение пробелы - это символьных данных . В тег является наиболее распространенной формой разметки в XML-документе, но есть другие виды мы обсудим позже. 2.2.1. Синтаксис тега XML-теги внешне похожи на HTML-теги.
Начальные теги начинаются с <, а конечные теги начинаются с
. Тем не мение,
в отличие от HTML-тегов, вы можете создавать новые XML-теги по ходу работы.
вдоль.Чтобы описать человека, используйте 2.2.1.1. Пустые элементы Есть также специальный
синтаксис для пустой
элементы , то есть элементы, не имеющие содержимого. Такой
элемент может быть представлен одним пустым элементом
тег , который начинается с <, но заканчивается на
/>.Например, в XHTML XMLized
переформулировка стандартного HTML, разрыва строки и горизонтального правила
элементы записываются как . Это в точности эквивалентно и , однако. Какую форму вы используете для пустых элементов полностью зависит от вас. Однако то, что вы не можете делать в XML и XHTML (в отличие от HTML) - использовать только начальный тег - для экземпляр или - без использования соответствия конечный тег.Это было бы ошибкой правильного формата. 2.2.1.2. Чувствительность к регистру XML, в отличие от HTML, имеет регистр
чувствительный. 2.2.2. XML-деревьяДавай посмотрите на немного более сложный XML-документ.Пример 2-2 - это элемент человека, который содержит больше информации, размеченной соответствующим образом, чтобы показать его значение. Пример 2-2. Более сложный XML-документ, описывающий человека<человек> <имя> 2.2.2.1. Родители и детиЭтот XML документ по-прежнему состоит из одного элемента человека. Однако теперь этот элемент не просто содержит недифференцированные символьные данные. В нем четыре ребенка элементы : элемент имени и три элементы профессии. Название element содержит два собственных дочерних элемента, имя и фамилия. Элемент человека назвал родителя имени элемент и три элемента профессии. В элемент name является родительским элементом first_name и last_name элементы.Элемент имени и три элементы профессии иногда называют каждый другие братьев и сестер . В имя и фамилия элементы также являются братьями и сестрами. Как и в человеческом обществе, у любого одного родителя может быть несколько детей. Однако, в отличие от человеческого общества, XML дает каждому ребенку ровно одну родитель, а не двое и более. Каждый элемент (за одним исключением Вкратце отмечу) имеет ровно один родительский элемент. То есть он полностью окружен другим элементом. Если начальный тег элемента находится внутри некоторого элемента, тогда его конечный тег также должен находиться внутри этого элемента.Перекрытие теги, как в это общий пример из HTML , запрещены в XML. Поскольку элемент em начинается внутри прочный элемент, он также должен закончиться внутри сильный элемент. 2.2.2.2. Корневой элементКаждый XML-документ имеет один элемент, не имеющий родителя. Этот это первый элемент в документе и элемент, содержащий все остальные элементы. В Примере 2-1 и Пример 2-2, элемент person заполнил эту роль.Он называется корневым элементом . документа . Его также иногда называют элемент документа . Каждый правильно сформированный XML-документ имеет ровно один корневой элемент. Поскольку элементы не могут перекрываться, и поскольку все элементы, кроме корня, имеют ровно одного родителя, XML документы образуют структуру данных, которую программисты называют дерево . Рисунок 2-1 показывает это отношения для примера 2-2. Каждый серый ящик представляет элемент. Каждый черный ящик представляет собой символьные данные. Каждый стрелка представляет отношения сдерживания. Рисунок 2-1. Древовидная диаграмма для примера 2-22.2.3. Смешанное содержаниеВ Примере 2-2 содержание first_name, last_name и элементами профессии были данные персонажа, то есть текст, не содержащий тегов. Содержание элементы person и name были дочерние элементы и некоторые пробелы, которые большинство приложений будут игнорировать. Эта дихотомия между элементами, которые содержат только символ данные и элементы, содержащие только дочерние элементы (и, возможно, небольшой пробел) часто встречается в документах, ориентированных на данные.Однако XML также можно использовать для повествовательных документов произвольной формы. такие как бизнес-отчеты, журнальные статьи, студенческие эссе, короткие рассказы, веб-страницы и т. д., как показано в Примере 2-3. Пример 2-3. XML-документ с описательной структурой<биография> Корневой элемент этого документа - биография. Биография содержит имя, определение, профессия и выделить дочерние элементы. Он также содержит много необработанных символьных данных. Некоторые из этих элементов, например только фамилия и профессия содержат символьные данные. Другие, такие как имя содержат только дочерние элементы. Третьи, такие как определение содержат как символьные данные, так и дочерние элементы. Считается, что эти элементы содержат смешанных содержание . В XML-документах часто встречается смешанный контент. содержащие статьи, очерки, рассказы, книги, романы, отчеты, Интернет страницы и все остальное, что организовано как письменный рассказ.Смешанный контент встречается реже, и его труднее работать с помощью компьютерных и обработанных XML-документов, используемых для такие цели, как обмен базой данных, сериализация объектов, постоянное форматы файлов и т. д. Одна из сильных сторон XML - простота использования который может быть адаптирован к самым разным требованиям документы, созданные человеком и компьютером.
Авторские права © 2002 O'Reilly & Associates. Все права защищены. |
алгоритма - Руководство по настройке сервера Operations Center
Файл Algorithms.xml отформатирован в XML, который выполняется сверху вниз через набор элементов, вычисление состояния переходит от оператора к оператору до тех пор, пока не кончатся операторы или оператор не завершит вычисление.
В определении алгоритма может выполняться множество типов действий, включая:
-
Соберите элементы: Определяет, на какую группу дочерних элементов смотреть при вычислении условия.
Для получения дополнительной информации см.
в Табл. 15-2. -
Удалить некоторые элементы: Отфильтровывает любые элементы, которые не должны влиять на расчет.
Для получения дополнительной информации см.
, и в таблице 15-2. -
Простые вычисления: Выполняет основные арифметические операции, такие как наибольшее, среднее или наименьшее.
Для получения дополнительной информации см. <Среднее>, <высшее> и <наименьшее> в таблице 15-2.
-
Запуск скрипта: Запускает сценарий, вычисляющий условие.
Для получения дополнительной информации см.