Технология XSLT - [16]
>
>
Спецификация XML определяет несколько встроенных сущностей, которые перечислены в табл 1.1.
Таблица 1.1. Встроенные сущности XML
Имя сущности | Значение | Описание |
---|---|---|
>lt | >< | знак "меньше" |
>gt | >> | знак "больше" |
>amp | >& | амперсант |
>apos | >' | апостроф или одинарные кавычки |
>quot | >" | двойные кавычки |
Встроенные сущности могут быть использованы для замены некоторых символов там, где они могут быть восприняты, как разметка. В частности, символы ><
(знак "меньше") и >&
(амперсант) вообще не могут появляться в тексте документа иначе, кроме как в виде сущностей.
>
>
>
> Продается серый слон весом > 5 тонн!
> Компания "слон & Слон".
>
>
На самом же деле в элементе >product
заключен текст
>Продается серый слон весом > 5 тонн!
>Компания "Слон & Слон".
Довольно часто бывает необходимо использовать в документе символы набора Unicode, обращаясь к ним по десятичным или шестнадцатеричным кодам. В таких случаях можно использовать символьные сущности.
Символьная сущность (или, как ее еще называют, символьная ссылка) записывается в виде >код;
или >код;
, где >код
— десятеричный и шестнадцатеричный Unicode-код символа в первом и втором случае соответственно.
Фраза ">Миру-мир!
" может быть записана с использованием символьных сущностей следующим образом:
>х41С;х438;х440;х443; - мир!
Первое слово, ">Миру
" записано с использованием шестнадцатеричных unicode-кодов кириллицы, второе слово, ">мир
", записано с использованием десятичных кодов.
Внешние сущности содержатся во внешних файлах. Если ссылка на внешнюю сущность появляется в документе, то на ее место копируется содержимое внешнего файла.
Определение внешней сущности имеет следующий синтаксис:
>имя SYSTEM "URI">
В этом определении >имя
точно так же, как и во внутренней сущности определяет имя сущности, в то время как >URI
определяет абсолютное или относительное местоположение файла.
Предположим, что мы создали файл >animal.ent
со следующим содержанием:
>огромное серое животное
Для того чтобы использовать содержимое этого файла в документе, мы должны объявить внешнюю сущность следующим образом:
>
где >ent/animal
есть относительный путь до файла >animal.ent
. Если бы мы расположили файл на сервере, скажем, >www.animalhost.com
, сущность могла бы быть объявлена как
>
В документе ссылаться на объявленную внешнюю сущность мы будем точно так же, как ссылались бы на внутреннюю сущность:
>
>
>
>]>
>
>
> Продается &animal; весом > 5 тонн!
> Рождественские скидки!
>
>
В этом случае элемент >product
будет иметь текст
>Продается огромное серое животное весом > 5 тонн!
>Рождественские скидки!
Внешняя сущность может быть также объявлена при помощи так называемого публичного идентификатора. В этом случае, при объявлении указывается не только местоположение сущности, но еще и идентификатор, который предоставляет программному обеспечению, обрабатывающему документ, некоторую дополнительную информацию. Например, в некоторых случаях XML-процессор может уже включать в себя определение внешней сущности, и ему не нужно будет получать содержимое файла, находящегося на удаленном сервере.
Такой способ определения внешней сущности имеет следующий синтаксис:
>имя PUBLIC "идентификатор" "URL">
Например, сущность >animal
мы можем переопределить как
>
> "http://www.animalhost.com/animal.ent">
Специальный процессор зоологических XML-файлов, встретив публичный идентификатор >-//ZOO//Elephant//Description
поймет, что речь идет о слоне, и не станет загружать файл >animal.ent
с удаленного сервера, вставив собственное описание слона.
Подводя итог, можно выделить следующие случаи, когда следует использовать сущности:
□ замена часто повторяющихся частей документа;
□ разбивка одного XML-документа на отдельные модули;
□ замена некоторых символов, которые иначе были бы восприняты, как разметка;
□ использование символов с соответствующими кодами Unicode.
Синтаксис использования сущностей в тексте документа довольно прост. Символьная сущность определяется продукцией >CharRef
следующим образом:
>[66] CharRef ::= '' [0-9]+ ';' | "' [0-9a-fA-F]+ ';'
>CharRef
— это либо десятичная, либо шестнадцатеричная символьная сущность. В первом случае вместо имени сущности стоит набор, цифр от >0
до >9
, во втором — к этому набору добавляются буквы >a
, >b
, >c
, >d
, >e
, >f
в любом регистре символов. Ведущие нули не имеют никакого значения, >х0020;
точно так же, как и >х20;
соответствует пробельному символу.
Обычной сущности, объявленной внутри или вне документа, соответствует продукция >EntityRef
:
>[68] EntityRef ::= '&' Name
Символьная и обычная сущности объединяются в продукцию >Reference
:
>[67] Reference ::= EntityRef | CharRef
Здесь следует сделать небольшое отступление и сказать о том, что конструкции вида
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
Художник? любовник? убийца? адепт тайного знания?.. Герой романа знает о себе только одно, он должен добиться тотального превосходства во всем…Интеллектуальный триллер, колеблющийся между «Американской мечтой» Нормана Мейлера и «Шатунами» Юрия Мамлеева.Новый блестящий талант в «Мастер серии».
Кинематографическая природа остросюжетной прозы Григория Ряжского очевидна — как несомненны и ее чисто литературные достоинства. Мир страшен и кровав — и страшнее всего, пожалуй, в заглавной повести «Наркокурьер Лариосик», — но и не восхититься его красотой нельзя.В литературу — с парадного подъезда престижной серии — входит зрелый мастер.
Проза Марины Палей не поддается расчленению на внутреннее и внешнее, на сюжет и стиль. Суверенный мир, созданный этим писателем, существует благодаря виртуозному стилю и обусловлен разнообразием интонации. Огромный дар свободы не может ограничить себя одним героем, одной темой или одной страной.
Книга по созданию трехмерных проектов интерьеров при помощи популярного редактора трехмерной графики 3ds Max позволит каждому, кто хочет заняться моделированием 3D-интерьеров, найти необходимую информацию для воплощения идеи в жизнь. Описывается моделирование элементов и стили оформления интерьеров, работа с материалами и текстурами, способы повышения реалистичности изображений, визуализация. Рассматриваются особенности создания интерьеров в различных стилях: минимализм, ренессанс, барокко, античный, рококо, хай-тек, техно и др.