Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Ссылка на примитив. Пример 1



 

В следующем XML-документе объявлены два общих внутренних разбираемых примитива, am и еn. Документ использует ссылку на am для присвоения значения по умолчанию атрибуту Nationality и ссылку на еn для присвоения значения атрибуту Nationality элемента AUTHOR. Преимущество использования примитива здесь заключается в том, что можно изменить значение по всему документу (в предположении, что в нем имеется много элементов) простым редактированием определения примитива (например, изменив значение en с “Англичанин” на “Британец”).

<!DOCTYPE INVENTORY

[

<!ENTITY am "Американец">

<!ENTITY en "Англичанин">

<!ELEMENT INVENTORY (BOOK*)>

<!ELEMENT BOOK (TITLE, AUTHOR)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT AUTHOR (*PCDATA)>

<!ATTLIST AUTHOR Nationality CDATA "&am;">

]

>

<INVENTORY>

<BOOK>

<TITLE>Дэвид Коперфилд</TITLE>

<AUTHOR Nationality="&en;">Чарльз Диккенс</AUTHOR>

</BOOK>

<!-- другие элементы... -->

</INVENTORY>

 

Ссылка на примитив. Пример 2

 

Следующее DTD определяет общий внутренний разбираемый примитив (int_entity) и общий внешний разбираемый примитив (ext_entity). Затем он определяет другой общий внутренний разбираемый примитив, combo_entity, и помещает оба предыдущих примитива в значение примитива combo_entity.

<!DOCTYPE INVENTORY

[

<!ENTITY int entity "значение внутреннего примитива">

<!ENTITY ext_entity SYSTEM "Entity.xml">

<!ENTITY combo_entity

"значение, состоящее из &ext_entity; плюс &int_entity;">

<!-- другие объявления разметки... -->

]>

Вставка ссылок на символы

 

Можно воспользоваться ссылкой на символ, чтобы вставить символ, которого нет на вашей клавиатуре (например, ä), либо вставить символ, который не допускает его вставку в данном контексте как литерал (например, символы < или & в составе символьных данных элемента). Для этого не нужно делать какие-либо определения перед использованием ссылки на символ - можно просто поместить ее в нужном месте.

Ссылка на символ имеет две различные формы. Первая форма:

 

&#9;

 

где 9 - это одна или несколько десятичных цифр (от 0 до 9), представляющих числовой код символа в наборе символов ISO/IEC 10646.



Вторая форма ссылки на символ:

 

&#xh;

 

где h - это одна или несколько шестнадцатиричных цифр (от 0 до F), также представляющих числовой код символа в наборе ISO/IEC 10646. Например, обе ссылки &#65; и &#х41; означают вставку прописной буквы А. (Числовой код для А равен десятичному числу 65 и шестнадцатиричному числу 41.)

Международная таблица символов ISO/IEC 10646 используется для числового представления символов практически любых языков. (ISO -International Organization for Standardization, IEC - International Organization Commission.) Коды первых 128 символов совпадают с кодами хорошо известного набора ASCII, используемого в большинстве компьютеров. На представленном ниже рисунке содержатся первые 256 символов в наборе ISO/IEC 10646. Для каждого элемента на следующем рисунке первое число (1:, 2:, 3:, и т.д.) есть десятичный код символа, а после двоеточия следует символ - если он есть - в том виде, в котором он отображается Microsoft Internet Explorer.

1: □ 2: □ 3: □ 4: □ 5: □ 6: □ 7: □ 8: □ 9: 10: 11: 12: 13: 14: □ 15: □ 16: □ 17: □ 18: □ 19: □ 20: □ 21: □ 22: □ 23: □ 24: □ 25: □ 26: □ 27: □ 28: □ 29: □ 30: 31: □ 32: 33: ! 34: " 35: # 36: $ 37: % 38: & 39: ‘ 40: ( 41: ) 42: * 43: + 44: , 45: - 46: . 47: / 48: 0 49: 1 50: 2 51: 3 52: 4 53: 5 54: 6 55: 7 56: 8 57: 9 58: : 59: ; 60: < 61: = 62: > 63: ? 64: @ 65: A 66: B 67: C 68: D 69: E 70: F 71: G 72: H 73: I 74: J 75: K 76: L 77: M 78: N 79: O 80: P 81: Q 82: R 83: S 84: T 85: U 86: V 87: W 88: X 89: Y 90: Z 91: [ 92: \ 93: ] 94: ^ 95: _ 96: ` 97: a 98: b 99: c 100: d 101: e 102: f 103: g 104: h 105: i 106: j 107: k 108: l 109: m 110: n 111: o 112: p 113: q 114: r 115: s 116: t 117: u 118: v 119: w 120: x 121: y 122: z 123: { 124: | 125: } 126: ~ 127: □ 128: □ 129: □ 130: □ 131: □ 132: □ 133: □ 134: □ 135: □ 136: □ 137: □ 138: □ 139: □ 140: □ 141: □ 142: □ 143: □ 144: □ 145: □ 146: □ 147: □ 148: □ 149: □ 150: □ 151: □ 152: □ 153: □ 154: □ 155: □ 156: □ 157: □ 158: □ 159: □ 160: 161: ¡ 162: ¢ 163: £ 164: ¤ 165: ¥ 166: ¦ 167: § 168: ¨ 169: © 170: ª 171: « 172: 173: ­ 174: ® 175: ¯ 176: ° 177: ± 178: ² 179: ³ 180: ´ 181: µ 182: ¶ 183: · 184: ¸ 185: ¹ 186: º 187: » 188: ¼ 189: ½ 190: ¾ 191: ¿ 192: À 193: Á 194: Â 195: Ã 196: Ä 197: Å 198: Æ 199: Ç 200: È 201: É 202: Ê 203: Ë 204: Ì 205: Í 206: Î 207: Ï 208: Ð 209: Ñ 210: Ò 211: Ó 212: Ô 213: Õ 214: Ö 215: × 216: Ø 217: Ù 218: Ú 219: Û 220: Ü 221: Ý 222: Þ 223: ß 224: à 225: á 226: â 227: ã 228: ä 229: å 230: æ 231: ç 232: è 233: é 234: ê 235: ë 236: ì 237: í 238: î 239: ï 240: ð 241: ñ 242: ò 243: ó 244: ô 245: õ 246: ö 247: ÷ 248: ø 249: ù 250: ú 251: û 252: ü 253: ý 254: þ 255: ÿ 256: Ā  

 



Например, из рисунка можно определить, что десятичный код символа для ä равен 228. Чтобы вставить этот символ в ваш документ, достаточно ввести ссылку:

 

&#228;

 

Для следующего элемента символ левой угловой скобки (<) вставляется в символьные данные элемента с помощью ссылки на символ &#60; (60 есть десятичный код для <). Непосредственная вставка символа < в символьные данные не допускается.

 

<TITLE>&#60;The Legend of Sleepy Hollow></TITLE>

Для следующего элемента ссылка на символ &#228; используется для вставки символа ä (его нельзя ввести с клавиатуры) в значение атрибута:

 

<RESIDENT Address="Seilerst&#228;tte 30, Wien">Mike Young</RESIDENT>

 

В следующем объявлении общего внутреннего разбираемого примитива в DTD ссылка на символ &#37; используется для вставки символа процентов (%) (37 есть десятичный код для %), который не может быть непосредственно введен как литерал в значение внутреннего примитива:

 

<!ENTITY heading1 "&#37; Complete">

 

4.13. Использование предварительно определённых примитивов

 

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

 

Ссылка на предопределенный примитив Вставляемый символ Эквивалентная ссылка на символ
&amp; & &#38;
&lt; < &#60;
&gt; > &#62;
&quot; " &#34;

 

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

Эти предопределенные примитивы похожи на другие общие внутренние разбираемые примитивы, за исключением того, что ссылки на них можно использовать без определения примитивов и можно вставлять их в те же места, что и примитивы данного типа, а именно:

· в содержимое элемента;

· в значение атрибута (как значение по умолчанию в объявлении атрибута или в начальном теге элемента);

· в значение в объявлении внутреннего примитива.

В следующих трех примерах ссылки на предопределенные примитивы используются для вставки символов, которые не допускается вставлять как литералы.

В первом примере ссылка &lt; используется для вставки в содержимое элемента левой угловой скобки (<):

 

<TITLE>&lt;Легенда сонной лощины></TITLE>

 

Во втором примере ссылка &аmp; используется для вставки амперсанда (&) в значение атрибута:

 

<PRODUCT Company="Иванов &amp; сыновья">Производство и продажа сыра</PRODUCT>

 

В третьем примере ссылка &quot; используется для вставки двойных кавычек (") в значение примитива (их нельзя вставить как литерал, поскольку такие же кавычки используются как ограничители строки):

 

<!ENTITY heading "Контора &quot;Рога и копыта&quot;">

 


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!